姓名与身份证实名认证接口(二要素核验)技术指南

在需要确认用户身份真实性的应用场景中,例如金融开户、实名社交、内容发布审核、在线签约、会员实名认证等,姓名与身份证号码的二要素核验是最基础且关键的环节。该接口提供了一种高效、可靠的方式,直接对接官方权威数据源,实时验证用户提供的姓名和身份证号码是否匹配一致。

接口核心功能

本接口专注于身份证二要素核验服务。开发者只需提交待验证的姓名和身份证号码,接口将实时与官方数据源进行比对校验,并返回核验结果。除了核心的匹配结果外,接口还额外提供该身份证号码对应的生日、性别及籍贯(地址)信息,这些信息来源于身份证号码本身的编码规则(生日、性别)或官方数据库(籍贯)。

核心优势

  • 权威直连: 接口直接对接官方权威数据源进行核验,确保结果的准确性和可靠性。
  • 实时高效: 核验过程毫秒级响应,无缓存设计,支持高并发请求,满足业务高峰期需求。
  • 信息丰富: 在完成二要素核验的同时,自动解析并返回身份证号码中包含的生日、性别信息,并查询返回对应的籍贯信息。
  • 成本优化: 提供极具性价比的核验服务。

接口请求说明

  • 请求方式: POST
  • 请求地址: https://www.xujian.tech/atlapi/data/psl/id/check/{code}
    • 注意: {code} 是一个静态参数(请注意保密),需要从微信小程序“数字续坚”的首页签到功能中获取。该 code 是调用接口的必要凭证。V:xujian_cq,欢迎交流沟通。
  • 请求头 (Header):
    • Content-Type: application/json
  • 请求体 (Body - JSON格式):
{
    "idcard": "110101199001011234", // 必填,待核验的身份证号码(18位)
    "name": "张三" // 必填,待核验的姓名
}
  • 示例如下:
    在这里插入图片描述

请求参数说明

参数名 类型 是否必填 说明
idcard String 需要核验的身份证号码(18位),注意idcard全部是小写字母。
name String 需要核验的姓名。

接口响应说明

接口响应统一采用 JSON 格式。响应状态码 (code) 和消息 (msg) 指示请求处理的基本状态,具体核验结果和附加信息包含在 data 对象中。

1. 请求参数错误

当提交的身份证号码格式无效(如长度错误、校验码错误)时,接口返回此错误。

{
    "code": 500,
    "msg": "身份证号不合法",
    "data": null
}

2. 参数正确但核验失败 (姓名与身份证号不匹配)

当身份证号码格式正确,但与提供的姓名在官方数据库中不匹配时,返回此结果。data 对象包含解析出的信息和核验结果。

{
    "code": 200,
    "msg": "succeed.",
    "data": {
        "birthday": "19920223", // 从身份证号码中解析出的生日,格式为YYYYMMDD
        "result": 1,            // 核验结果标识。1 表示:姓名与身份证号不匹配
        "address": "重庆市永川区", // 该身份证号码对应的籍贯或地址信息
        "orderNo": "202506262330109193435", // 本次核验请求的唯一订单号,可以不管
        "sex": "男",             // 从身份证号码中解析出的性别(男/女)
        "desc": "不一致"         // 核验结果描述。"不一致" 表示姓名与身份证号不匹配
    }
}

3. 核验成功 (姓名与身份证号匹配)

当姓名与身份证号码在官方数据库中匹配一致时,返回此结果。data 对象包含解析出的信息和核验结果。

// V:``xujian_cq``,欢迎交流沟通。
{
    "code": 200,
    "msg": "succeed.",
    "data": {
        "birthday": "19920223", // 从身份证号码中解析出的生日,格式为YYYYMMDD
        "result": 0,            // 核验结果标识。0 表示:姓名与身份证号匹配
        "address": "重庆市永川区", // 该身份证号码对应的籍贯或地址信息
        "orderNo": "202506262320440198227", // 本次核验请求的唯一订单号,用于追踪
        "sex": "男",             // 从身份证号码中解析出的性别(男/女)
        "desc": "一致"          // 核验结果描述。"一致" 表示姓名与身份证号匹配
    }
}

响应字段 data 对象说明

字段名 类型 说明
birthday String 根据身份证号码第7到14位解析出的出生日期,格式为 YYYYMMDD。
result Int 核心核验结果标识。 0:姓名与身份证号匹配; 1:姓名与身份证号不匹配。
address String 该身份证号码对应的籍贯或地址信息(通常到区/县级)。
orderNo String 本次核验请求的唯一订单流水号,可用于查询和问题追踪。
sex String 根据身份证号码第17位解析出的性别(奇数通常为男,偶数通常为女)。
desc String result 字段的文本描述。"一致""不一致"
使用场景建议
  • 用户注册/登录核验: 在用户注册或关键操作前进行基础身份真实性校验。
  • 金融业务风控: 作为贷款申请、支付绑定、开户等流程中的初步身份验证。
  • 内容平台实名: 确保内容发布者或评论者的基础身份信息有效。
  • 电商平台认证: 用于商家入驻、买家身份确认等环节。
  • 会员实名体系: 构建可靠的会员实名信息库。
  • 在线服务准入: 对需要实名才能享受的服务进行前置校验。

注意事项

  1. code 参数获取: 调用接口前,请务必通过微信小程序“数字续坚”首页的签到功能获取有效的 {code} 并替换到请求 URL 中。
  2. 数据安全与隐私: 在使用本接口时,务必遵守相关法律法规,妥善处理和保护用户的个人敏感信息(姓名、身份证号)。
  3. 错误处理: 请根据返回的 codemsg 进行适当的错误处理(如参数错误提示用户重新输入)。
  4. 结果解读: 重点关注 data.result 字段 (0 匹配 / 1 不匹配) 或 data.desc 字段 ("一致" / "不一致") 来判断核验是否通过。
Logo

网易易盾是国内领先的数字内容风控服务商,依托网易二十余年的先进技术和一线实践经验沉淀,为客户提供专业可靠的安全服务,涵盖内容安全、业务安全、应用安全、安全专家服务四大领域,全方位保障客户业务合规、稳健和安全运营。

更多推荐