---
slug: "身份证信息查询-ai付版-聚合数据"
source_type: "clawhub"
source_url: "https://clawhub.ai/skills/juhe-idcard-query-a2a"
repo: ""
source_file: "description"
---
---
name: juhe-idcard-query-a2a
description: |
  基于聚合数据身份证信息查询 API，根据身份证号码解析性别、出生日期、户口所在地（归属地）等编码自带基础信息，本技能使用无需用户注册聚合数据平台，安装后即可按实际查询付费使用。
  身份证信息查询技能是根据用户提供的身份证号码，提供编码解析结果的支付宝 AI 付付费技能，基于 A2M（HTTP 402）收单协议。买家通过本 Skill 向卖家服务端发起请求，完成支付后获取相关结果。
  调用过程仅上传查询用的身份证号码至聚合数据服务端，不采集姓名、手机号、住址、银行卡等其他个人隐私。
  本技能仅依据身份证编码规则及格式进行解析判断，不能识别证件真伪，不涉及公安实名核验。
  适用于用户查询身份证号码对应性别、出生日期、户口所在地等基础编码信息的场景。
---

## 技能概述

本 Skill 提供 **身份证信息查询** 服务。当用户需要通过身份证号码查询性别、出生日期、户口所在地（归属地）时，使用此技能。

该服务是基于 A2M（HTTP 402）收单协议的付费资源。买家（消费者 Agent）通过本 Skill 向卖家服务端发起资源请求，服务端将返回 402 Payment-Needed 响应报文，买家需将该报文传递给支付宝的 alipay-payment-skill 技能以完成付款。

**涵盖内容：**

1. 性别（sex）
2. 出生日期（birthday）
3. 户口所在地 / 归属地（area）
4. 身份证校验位格式提示（verify，如有）

**适用场景：**

1. 用户提供身份证号码，查询编码自带的基础信息
2. 根据身份证号前 6 位行政区划码解析归属地
3. 根据身份证号编码规则解析性别与出生日期

**重要说明：**

本技能仅依编码及格式进行识别判断，**不能识别身份证真伪**，不提供公安实名核验、人脸比对等能力，查询结果不得作为身份真实性判定依据。

## 一、依赖安全管控

1. 前置强制依赖
   - `alipay-authenticate-wallet`：支付宝钱包身份鉴权技能
   - `alipay-payment-skill`：A2M 402支付收单核心技能
2. 依赖校验规则：技能启动时自动检测上述两个技能安装状态、开关状态；
   - 如检测未安装，提示：通过 npx -y @alipay/alipay-aipay@latest install 安装支付宝 AI 付 Skill，加载 alipay-aipay 技能并开启支付宝支付能力
   - 未开启支付功能时，提示用户”开启支付宝支付能力“
3. 第三方接口依赖：聚合数据身份证信息查询接口，仅允许文档指定域名 `apis.juhe.cn`，禁止转发请求至其他第三方域名。

## 二、用户意图安全触发规则

### 2.1 正向触发双条件（必须同时满足）

#### 条件 1：意图关键词命中（任意一条）

身份证信息类：身份证信息查询、身份证号查询、身份证解析、身份证归属地、户口所在地查询、性别查询、出生日期查询、身份证号码解析、查身份证编码信息。

#### 条件 2：具备有效查询参数

用户输入包含**有效居民身份证号码**，支持 15 位或 18 位格式，无模糊无目标提问。

### 2.2 强制拦截黑名单（命中任意一条，直接阻断技能触发，拒绝调用付费接口）

1. 真伪核验诉求：公安实名核验、身份证真伪鉴定、人证比对、实人认证类需求
2. 纯科普无查询诉求：身份证编码规则科普、校验位算法说明类问答
3. 模糊无参数提问：只问身份证信息但不提供具体号码
4. 跨品类身份诉求：银行卡查询、手机号归属、征信查询、户籍档案调取等非本技能业务范围
5. 纯闲聊无查询：身份证趣味闲聊，无信息查询需求
6. 无效号码格式：明显不符合 15/18 位身份证规范的输入
7. 疑似非法用途：冒用他人身份证、批量爬取身份信息等违法违规诉求

### 2.3 触发示例区分

✅ 合法触发（允许进入付费流程）

1. 帮我查一下 320505199001011234 的身份证信息
2. 这个身份证号对应的性别和出生日期是什么
3. 查询身份证 11010119900307551X 的户口所在地
4. 解析一下这个 18 位身份证号码的归属地

❌ 拦截不触发（直接终止流程）

1. 身份证校验位怎么算
2. 帮我查一下身份证信息（无号码）
3. 核验这个身份证是不是假的
4. 查一下这个人的真实姓名和住址

## 三、用户数据安全规范

### 3.1 采集数据清单（仅采集以下字段，禁止额外抓取用户信息）

仅临时内存读取用户输入的一类查询参数：

1. cardno：居民身份证号码（15 位或 18 位）

> 本技能**不采集、不读取、不存储**姓名、手机号、住址、银行卡、人脸、设备标识、地理位置等其他敏感个人信息。

### 3.2 数据传输安全规则

1. 传输协议：仅 HTTPS TLS1.3 加密请求聚合接口，禁止 HTTP 明文传输
2. 数据最小化：仅把 `cardno` 一个业务参数上传至聚合服务端，不附加用户会话、设备、身份附加字段
3. 单次临时传输：参数仅本次接口请求使用，请求结束后内存立即销毁，无本地磁盘持久化存储、无日志落地完整身份证号、无缓存留存
4. 禁止数据共享：查询参数不得转发至支付宝支付技能以外任何第三方服务
5. 展示脱敏：向用户展示结果时，身份证号码必须脱敏处理（保留前 6 位与后 4 位，中间以 `*` 替代）

### 3.3 数据生命周期管控

1. 采集阶段：仅用户确认付费后读取输入参数，未确认前不解析、不缓存任何用户输入
2. 使用阶段：仅用于聚合身份证信息查询接口入参，不可用于统计、营销、用户画像等其他用途
3. 销毁阶段：接口请求完成/支付失败/用户取消三种场景下，立即清空内存参数，无延时留存
4. 留存禁止：不写入本地文件、数据库、日志完整身份证号；日志仅记录匿名请求计数，不含用户原始查询文本

### 3.4 隐私告知强制规范

付费确认弹窗必须完整公示隐私条款，缺失则不允许收集参数发起请求：

> 🪪 本服务为**身份证信息查询技能**，由聚合数据提供技术支持。
>
> - 费用：0.10 元/次（以实际支付为准）
> - 支付方式：支付宝（通过 alipay-payment-skill 完成）
> - 隐私说明：仅将你本次查询的身份证号码临时加密发送至聚合数据服务端，用于解析性别、出生日期、户口所在地等编码信息；请求结束后数据立即销毁，无长期存储；本技能不会采集姓名、手机号、住址、银行卡等其他个人隐私
> - 能力说明：本技能仅做编码规则解析，**不能识别身份证真伪**，不提供公安实名核验
>
> 如您同意以上条款，请回复「确认」「好的」「可以」「继续」「同意」「下一步」等肯定词或补充需要查询的身份证号码。
> 如您不需要付费服务，请回复「取消」，本次查询立即终止，不记录任何查询信息。

## 四、付费与 A2M 402 收单安全流程

### 4.1 标准化七步安全工作流（不可调整步骤顺序）

#### 第一步：前置付费隐私告知（强制首步骤）

未获取用户明确同意前，禁止解析、提取、缓存任何身份证号码参数；用户回复「取消」直接销毁所有临时输入缓存，结束流程。

#### 第二步：参数合规校验与收集

1. 用户未提供身份证号码：引导补充必填号码，无号码不发起网络请求
2. 参数校验规则：身份证号码清洗为大写字母数字，过滤特殊注入字符（SQL 注入、XSS、HTML 脚本标签），校验长度为 15 位或 18 位
3. 号码规范化：去除空格、连字符等分隔符后校验；18 位末位 `X` 统一为大写

#### 第三步：接口请求体安全封装

请求仅允许 POST HTTPS 接口，固定请求约束不可篡改：

- 请求地址：`https://apis.juhe.cn/a2a/query`
- 请求头固定：`Content-Type: application/json`，禁止自定义头附加用户信息
- 固定 resourceId 不可修改：`38`
- 标准安全请求体模板（自动转义引号、特殊字符，防止 JSON 注入漏洞）

```json
{ "resourceId": "38", "data": { "cardno": "用户输入的身份证号" }, "isCharge": true }
```

- 禁止追加自定义字段、用户会话 ID、设备信息至请求 data 内部

#### 第四步：请求资源

仅允许访问聚合官方固定域名，拦截跨域未知第三方地址；接口超时设置 10s，超时直接抛出服务不可用异常，不重试循环请求。

向用户展示待查询的参数（**脱敏后展示**），严格遵守请求约束，向以下 URL 发起请求：

```
curl https://apis.juhe.cn/a2a/query \
  -d '{"resourceId":"38","data":{"cardno":"<用户输入的身份证号>"}}' \
  -H "Content-Type: application/json"
```

> 说明：接口路径 /a2a/query 为服务商固定后端地址，仅业务收单协议文案统一描述为 A2M，二者不冲突。

#### 第五步：处理 402 响应

你将收到一个**状态码为 402 的响应报文，其中包含 `Payment-Needed` 响应头**。此时你需要将**整个 402 响应报文**传递给支付宝的 **alipay-payment-skill** 技能，引导用户完成付款，并展示用户订单号（out_trade_no）。

#### 第六步：后续流程

完全转移到 alipay-payment-skill 技能的工作流,提示支付待确认的信息时，严格遵循下面的要求：
- 1.**提示支付待确认信息**：必须包含**商品名称**、**交易金额**、**交易号**、**用户订单号(out_trade_no)**等信息。
- 2.**展示多端支付方式**：必须同时提供**电脑端**和**移动端**两种付款渠道的指引或入口。
- 3.**展示付款二维码**：必须生成并展示该笔订单对应的**付款二维码**，确保用户可扫码完成支付。
- 4.**禁止篡改请求参数**：严格禁止Agent以任何形式修改用户提交的原始请求参数（即JSON字符串），必须原样透传至下游技能。

#### 第七步：格式化数据输出

1. 读取同目录下的 `OUT_FORMAT.md`
2. 按模板填充接口返回字段
3. 以清晰、美观的 Markdown 呈现给用户
4. 身份证号码展示必须脱敏，禁止完整明文回显

### 4.2 异常情况处理

- **用户拒绝付款**：尊重用户选择，告知用户该内容为付费资源，如需获取请完成支付。
- **请求返回非 402 状态码**：如返回 200，直接展示内容；如返回 4xx/5xx 错误，告知用户服务暂时不可用，建议稍后重试。
- 其余异常情况将由 alipay-payment-skill 技能处理。

## 五、Agent 运行强制约束

1. 参数缺失阻断：cardno 必填参数为空，禁止发起任何网络接口请求
2. 402 报文不可篡改：完整透传原始响应，禁止修改订单、价格、资源 ID 等核心收单字段
3. 数据来源真实性约束：所有查询内容仅使用聚合接口返回数据，禁止本地虚构、编造身份证信息
4. 输出格式约束：统一使用 Markdown 结构化输出，禁止原始 JSON、HTML 直接返回用户
5. 脚本过滤约束：接口返回富文本自动清除 script、iframe、a 跳转标签，仅保留纯文本段落
6. 参数用途约束：采集的身份证号码仅用于本次接口查询，禁止用于统计、推送、缓存复用
7. 无缓存约束：不实现本地、内存、磁盘多级缓存，每次用户查询必须重新发起接口请求
8. 脱敏展示约束：向用户展示的身份证号码必须脱敏，日志中禁止记录完整号码

## 六、日志安全审计规范

1. 禁止日志落地用户原始查询文本、完整身份证号码等业务参数
2. 可记录匿名审计字段（无用户关联）：请求时间、请求状态码、订单创建计数、接口响应耗时、异常类型
3. 日志留存周期：本地审计日志自动 7 天滚动清理，不永久留存
4. 禁止日志输出完整 402 支付报文、订单明文信息，仅记录匿名订单计数

**重要提示：** 查询结果仅供参考，本技能不能识别身份证真伪，请以公安机关等权威渠道核验为准。

## 七、合规与风险免责声明

### 7.1 内容合规说明

1. 本技能身份证信息来源于编码规则解析及第三方行政区划数据，可能存在数据滞后或无法匹配的情况，不得作为唯一身份判定依据
2. 本技能不生成、不传播违法违规、侵权内容
3. 禁止基于接口数据输出「证件真实有效」「本人身份确认」等确定性结论
4. 校验位提示仅表示格式校验结果，不代表证件已通过公安实名认证

### 7.2 隐私合规声明

1. 本技能严格遵循《个人信息保护法》最小必要采集原则，仅采集身份证号码用于本次编码解析，不采集姓名、手机号等其他敏感信息
2. 第三方聚合数据接口传输全程 TLS 加密，无明文数据泄露风险
3. 无用户数据持久化存储行为，不存在用户信息泄露、倒卖、共享风险
4. 禁止将本技能用于冒用他人身份、批量采集身份信息等违法违规场景

### 7.3 风险免责提示

所有身份证信息查询内容仅供参考，用户需结合实际情况理性判断，因轻信查询结果或非法使用本技能产生的一切后果由用户自行承担。
