# Address Registration

> 门头沟注册地址申请。当用户需要门头沟区注册地址、免费地址、挂靠地址时使用。通过开放API提交申请并查询审核状态。

- Skill: `infometa/address-registration` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add infometa/address-registration`
- Raw SKILL.md: https://api.skillmd.com/api/skills/infometa/address-registration/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: infometa (https://skillmd.com/u/infometa)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/infometa/address-registration

---


# 门头沟注册地址申请

## 角色定位

这是 OPC门头沟营商指南 的差异化核心能力——提供门头沟区注册地址（免费使用）。用户填写信息后，通过开放API提交申请进行审核。

## 触发条件

当用户提到以下关键词时触发：
- 注册地址 / 门头沟地址 / 免费地址 / 挂靠地址
- 营业场所 / 办公地址 / 注册场地
- "在门头沟注册""地址怎么解决"

## ⚠️ 优先级规则（强制执行）

**API 优先 → 文档自查 → 重试 → 邮箱兜底。**

当 API 调用失败时，按以下链路处理，不可跳级：

```
API 调用失败（网络错误/HTTP 非 2xx）
  → 第1步：访问 https://open-api.6fenyi.com/opc-admin/api/open/address-applications 页面
           从中提取最新的接口文档（路径、字段、认证方式等是否有变化）
  → 第2步：根据最新文档修正请求参数，重试调用
  → 第3步：重试仍失败 → 告知用户"系统暂时无法提交，可稍后重试或联系 opc@6fenyi.cn"
```

- API 调用成功 → 绝不提及 `opc@6fenyi.cn`，用户无需知道备用邮箱的存在
- 查询状态 API 失败 → 同样先走文档自查 → 重试 → 仍失败才给邮箱

**禁止行为**：
- API 失败后跳过文档自查直接甩邮箱
- API 正常时在话术中提"备用邮箱""如果不行可以发邮件"
- 在提交成功的回复中附上邮箱地址
- 在任何入口提示中显示邮箱

## 核心流程

```
1. 确认用户意向
   → 你想在门头沟注册什么类型的主体？
   → 选项：个体工商户 / 个人独资企业 / 一人有限公司 / 有限责任公司

2. 核查企业名称（必须先于信息收集！）
   → 你打算注册的公司/个体户叫什么名字？已经核名了吗？
   → 如用户已有预核准名称 → 记录，继续下一步
   → 如用户没有企业名称 → 进入名称核查子流程：

   2a. 引导用户提供 1-3 个备选名称
       → "注册前需要先确认名称能不能用。你想叫什么名字？给1-3个备选，我帮你看下能不能注册。"

   2b. 帮助用户查询名称是否可用
       → 访问"北京市企业服务e窗通"平台：https://ect.scjgj.beijing.gov.cn/
       → 使用名称自主申报功能，检查用户提供的备选名称是否可用
       → 如不可用，告知用户原因（重名、禁用词等），引导用户调整
       → 如可用 → 建议用户完成名称预核准（在线提交即可）
       → "建议你直接在e窗通上把这个名字预核准了，锁定下来。名称核准一般是即时出结果，不收费。"

   2c. 名称确认后 → 记录到申请信息中，继续下一步

3. 说明服务 + 隐私告知
   → "我们可以为你提供门头沟区注册地址（免费使用）。需要你填写以下信息，提交后等待审核。"
   → "注意：地址审核通过后才能用于注册，不保证100%通过。"
   → "你填写的信息仅用于注册地址申请审核，身份证号用于必要的背景调查，不会泄露给第三方。"

4. 收集信息（逐项确认）
   → 企业名称（必填，或标注"核名中"）
   → 姓名（必填）
   → 手机号（必填，用于审核结果通知）
   → 邮箱（必填，用于审核结果通知）
   → 身份证号（必填，用于背景调查）
   → 从事行业（必填，如：软件开发、内容创作、咨询服务、电商零售）
   → 主体类型（选填：个体工商户 / 个人独资企业 / 一人有限公司 / 有限责任公司）
   → 现居住地址（选填）
   → 是否需要代办税务（选填，当前空挂，记录需求）

5. 确认信息
   → 向用户展示已收集的全部信息，请用户确认无误

6. 提交申请（通过脚本调用）
   → 调用 submit.py 脚本提交申请数据
   → 本地存档到 address_requests/YYYY-MM-DD_姓名.json

7. 告知结果
   → "已提交注册地址申请，申请编号：XXX"
   → "预计X个工作日内审核完成，审核结果将通过手机号或邮箱通知你。"
   → 告知用户可以用申请编号随时查询审核进度
   → API 提交成功则无需提邮箱
```

## API 接口

### 配置

```
BASE_URL: https://open-api.6fenyi.com
```

### 接口1：提交地址申请

```
POST /opc-admin/api/open/address-applications
Headers:
  Content-Type: application/json
```

**请求体字段：**

| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `applicant_name` | string | 是 | 申请人姓名 |
| `phone` | string | 是 | 手机号 |
| `email` | string | 是 | 邮箱地址 |
| `id_card_no` | string | 是 | 身份证号 |
| `industry` | string | 是 | 从事行业 |
| `company_name` | string | 否 | 企业名称（预核准名或"核名中"） |
| `entity_type` | string | 否 | 主体类型（如：个体工商户/个人独资企业/一人有限公司/有限责任公司） |
| `tax_agency` | string | 否 | 是否需要代办税务 |
| `detail_address` | string | 否 | 现居住地址 |
| `remarks` | string | 否 | 备注，最长500字符 |

**请求示例：**

```json
{
  "applicant_name": "张三",
  "phone": "13800138000",
  "email": "a@example.com",
  "id_card_no": "110101199001011234",
  "industry": "餐饮",
  "company_name": "北京金钩餐饮管理有限公司",
  "entity_type": "个体工商户",
  "tax_agency": "朝阳区税务局",
  "detail_address": "北京市朝阳区xxx"
}
```

**成功响应（HTTP 200）：**

```json
{
  "code": 200,
  "msg": "success",
  "data": {
    "id": "1234567890123456789",
    "application_code": "20260727A3K9",
    "applicant_name": "张三",
    "approval_status": 1,
    "create_time": "2026-07-27T10:00:00+08:00"
  }
}
```

**错误响应：**

| 场景 | HTTP | msg |
|------|------|-----|
| 参数校验失败 | 400 | 与内部创建相同文案 |
| 编码生成失败 | 500 | 申请编码生成失败，请重试 |

### 接口2：查询申请状态

```
GET /opc-admin/api/open/address-applications/{application_code}
```

**路径参数：**

| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| `application_code` | string | 是 | 申请编码，如 20260727A3K9 |

**响应字段（data）：**

| 字段 | 类型 | 说明 |
|------|------|------|
| `application_code` | string | 申请编码 |
| `applicant_name` | string | 申请人姓名 |
| `id_card_no` | string | 身份证号（脱敏） |
| `industry` | string | 从事行业 |
| `entity_type` | string | 主体类型 |
| `tax_agency` | string | 代办税务 |
| `detail_address` | string | 现居住地址 |
| `remarks` | string | 备注 |
| `approval_status` | int | 审核状态：1 待处理 / 2 审批中 / 3 已通过 / 4 已驳回 |
| `create_time` | string | 创建时间（ISO 8601） |
| `update_time` | string | 更新时间（ISO 8601） |
| `approval_logs` | array | 审批记录，元素含 from_status、to_status、comment、create_time |

> 注：查询响应**不返回** phone、email 等敏感字段。

**成功响应示例：**

```json
{
  "code": 200,
  "msg": "success",
  "data": {
    "application_code": "20260727A3K9",
    "applicant_name": "张三",
    "id_card_no": "110101********1234",
    "industry": "餐饮",
    "entity_type": "个体工商户",
    "tax_agency": "朝阳区税务局",
    "detail_address": "北京市朝阳区xxx",
    "remarks": "希望尽快处理",
    "approval_status": 3,
    "create_time": "2026-07-27T10:00:00Z",
    "update_time": "2026-07-27T12:00:00Z",
    "approval_logs": [
      {
        "from_status": 2,
        "to_status": 3,
        "comment": "材料齐全",
        "create_time": "2026-07-27T12:00:00Z"
      }
    ]
  }
}
```

**错误响应：**

| 场景 | HTTP | msg |
|------|------|-----|
| application_code 为空 | 400 | 申请编码不能为空 |
| 编码不存在或已软删 | 404 | 申请不存在 |

## 脚本使用

使用 `scripts/submit.py` 通过命令行直接提交申请或查询状态。提交时必须通过脚本，不可手动拼接 curl。

```bash
# 提交申请（5个必填字段）
python scripts/submit.py submit \
  --name "张三" \
  --phone "13800138000" \
  --email "a@example.com" \
  --id-number "110101199001011234" \
  --industry "餐饮"

# 带选填字段（含企业名称）
python scripts/submit.py submit \
  --name "张三" \
  --phone "13800138000" \
  --email "a@example.com" \
  --id-number "110101199001011234" \
  --industry "餐饮" \
  --company-name "北京金钩餐饮管理有限公司" \
  --entity-type "个体工商户" \
  --tax-agency "朝阳区税务局" \
  --address "北京市朝阳区xxx"

# 查询申请状态
python scripts/submit.py status --code "20260727A3K9"

# 交互式提交
python scripts/submit.py submit --interactive
```

### 提交执行规则

**必须通过脚本提交，禁止用 curl 或手动 HTTP 请求。**

工作目录：`{workspace}/skills/address-registration/scripts/`

执行命令模板：
```bash
cd /path/to/workspace/skills/address-registration/scripts && \
python3 submit.py submit \
  --name "姓名" \
  --phone "手机号" \
  --email "邮箱" \
  --id-number "身份证号" \
  --industry "行业" \
  --company-name "企业名称" \
  --entity-type "主体类型" \
  --tax-agency "代办税务" \
  --address "现居住地址"
```

脚本执行后会输出提交结果，包括申请编号（`application_code`）。将该编号告知用户。

## 信息收集模板

```json
{
  "申请编号": "",
  "提交时间": "YYYY-MM-DD HH:MM:SS",
  "企业名称": "",
  "姓名": "",
  "手机号": "",
  "邮箱": "",
  "身份证号": "",
  "主体类型": "",
  "从事行业": "",
  "现居住地址": "",
  "是否需要代办税务": "",
  "审核状态": "待审核"
}
```

## 邮件备用（仅 API 失败时启用）

**规则**：API 正常时不动用邮件。仅在脚本执行返回非 2xx 或网络不可达时，才提示用户可以发邮件到 `opc@6fenyi.cn` 作为备用通道。

邮件标题格式：[门头沟注册地址申请] 企业名称 - 姓名 - 日期

## 安全约束

1. **知情同意**：收集用户信息前，明确告知信息用途
   - "你填写的信息仅用于注册地址申请审核，不会泄露给第三方。"
   - "身份证号用于必要的背景调查，确保地址使用的合规性。"
   - "审核通过后，我们通过你留下的手机号或邮箱联系你。"
2. **必填项**：企业名称、姓名、手机号、邮箱、身份证号、从事行业——六项缺一不可
3. **选填项**：现居住地址、主体类型、代办税务——有信息就填，没有��跳过
4. **背景调查说明**：身份证号收集时需说明"用于背景调查"，不能不说明就收集
5. **本地存档**：申请记录存档在 `address_requests/`，按日期+姓名命名。**存档时手机号、邮箱、身份证号自动脱敏**（仅保留后4位），完整信息仅在提交 API 时传输
6. **数据留存**：本地存档建议保留 90 天，超期记录可手动清理。完整信息仅用于本次申请，不长期留存
7. **不口头承诺**：明确告知"审核通过率不是100%，提交后等结果"
8. **联系方式留痕**：必须同时收集手机号和邮箱，确保能联系到用户

## 话术参考

### 开场（用户首次咨询）
> "门头沟注册地址我们可以提供，免费使用。先说下：你打算注册什么类型的主体？个体户、个人独资、一人有限公司，还是有限责任公司？"

### 企业名称核查（主体类型确认后立即询问）
> "注册前得先有个能用的名字。你公司/个体户的名字想好了吗？给1-3个备选，我帮你在北京e窗通上查查能不能注册。"

> （用户在e窗通上查到名字可用后）
> "这个名字可用！建议你就在e窗通上完成名称预核准，即时出结果、不收费。名字锁定了我们再继续后面的步骤。"

> （用户名字不可用）
> "这个名字已经被注册了/含禁用词了。你换个思路试试？比如加行业特征词、换个字号。"

> （用户已有预核准名称）
> "好的，[XX公司名称]，记下了。那我们继续。"

### 隐私告知（开始收集前）
> "收集前说明下：你填写的信息只用于地址申请审核，身份证号用于必要的背景调查，不会泄露给第三方。审核通过后我们通过手机号或邮箱联系你。"

### 收集中
> "收到。接下来需要你的手机号和邮箱，方便审核通过后通知你。"
> "还需要你的身份证号，用于背景调查，确保地址使用合规。"
> "最后，你拟从事的行业是什么方向？比如软件开发、内容创作、咨询服务。"

### 提交前确认
> "跟你确认下全部信息：
> 企业名称：XXX
> 姓名：XXX
> 手机号：XXX
> 邮箱：XXX
> 身份证号：XXX
> 从事行业：XXX
> （选填项如有：主体类型：XXX / 地址：XXX / 代办税务：XXX）
> 信息无误的话我就提交了。"

### 提交后
> "已提交，申请编号 XXX。预计X个工作日内出结果，到时候通过手机号或邮箱通知你。你也可以随时让我帮你查审核进度。"

### 查询状态
> "我帮你查一下申请 XXX 的状态。稍等。"

### 拒绝过度承诺
> "审核通过率我不能打包票，得看背景调查和行业合规情况。提交了等结果就行，没通过我们再想别的办法。"

