接入文档
证件信息验真(海外版)
越南
越南身份证验证
越南身份证验证

# 1 功能描述

  • 该产品主要解决身份冒用、虚假实名、伪造芯片身份证等风控问题,适用于实名认证、在线开户、权限开通、高风险业务办理等场景,实现越南芯片公民身份证(CCCD)芯片信息的真实性核验。
  • 客户传入 CCCD 身份证号码及芯片原始分区数据,我方对接越南渠道完成芯片信息解码并与国安库(C06)核验,返回证件有效性及卡面信息。

# 2 使用说明

# 2.1 调用URL

  • 越南地址:https://api-vn.yljz.com/finauth/v5/vn/idcard-verify

注意:生产环境必须使用 HTTPS 通信方式;HTTP 属于不安全链路,存在安全风险,禁止在生产环境使用,且不提供服务可靠性保障。

# 2.2 调用方法

  • 请求方式:POST
  • 请求格式:json
  • 说明:客户端通过 apikey 和 secret 生成加密签名 sign,同时传入 CCCD 身份证号码及芯片原始分区数据,接口返回证件有效性及卡面信息。

# 3 请求参数

参数 参数名 是否必填 类型 说明
sign 签名 String 签名生成规则参考鉴权说明
sign_version 签名算法版本号 String 固定传值:hmac_sha1 或 hmac_sha256
biz_no 业务流水号 String 自定义本次业务唯一流水号,原样返回
cccd 身份证号码 String 越南 CCCD 公民身份证号码
device_type 设备类型 String 发起请求的设备类型。App 填 iOS / Android;网站填 Mobile / Desktop;应用程序填 Windows / Mac / Linux;CCCD 读卡器填 Đầu đọc thẻ CCCD;摄像头填 Camera
device_name 设备名称 String 发起请求的设备名称
device_version 设备版本 String 发起请求的设备版本号
latitude 纬度 String GPS 终端设备纬度
longitude 经度 String GPS 终端设备经度
collect_type 采集类型 String sdk:代表使用我方 SDK 采集
other:代表其他采集方式采集
sdk_data SDK 采集信息 条件必选 File collect_type 为 sdk 时必填
raw 卡片原始分区数据 条件必选 Object collect_type 为 other 时必填
从 CCCD 读卡器读取的原始分区数据
com COM 分区 String Base64 编码
sod SOD 分区 String Base64 编码(安全认证)
dg1 DG1 分区 String Base64 编码(MRZ 文本)
dg2 DG2 分区 String Base64 编码(芯片人像照片)
dg3 DG3分区 String Base64 编码
dg4 DG4分区 String Base64 编码
dg5 DG5分区 String Base64 编码
dg6 DG6分区 String Base64 编码
dg7 DG7分区 String Base64 编码
dg8 DG8分区 String Base64 编码
dg9 DG9分区 String Base64 编码
dg10 DG10分区 String Base64 编码
dg11 DG11分区 String Base64 编码
dg12 DG12分区 String Base64 编码
dg13 DG13 分区 String Base64 编码
dg14 DG14 分区 String Base64 编码
dg15 DG15 分区 String Base64 编码
dg16 DG16 分区 String Base64 编码

# 4 返回参数

字段 字段名 类型 参数说明
code 返回码 String 比对成功返回“0000”,详见返回码描述对照表
error 错误码 String HTTP 状态非 200 时返回
request_id 请求号 String 用于区分每一次请求的唯一的字符串。除非发生404(API_NOT_FOUND)或 403(AUTHORIZATION_ERROR)错误,剩余情况此字段必定返回。
time_used 请求耗时 Int 整个请求所花费的时间,单位为毫秒。此字段必定返回。
biz_no 业务流水号 String 传入的业务流水号,原封不动地返回。
data 业务结果 Object 原样透传渠道解密后的 data 对象
expired_time_response 结果失效时间 String 验证结果的失效时间
card_data 卡信息数据 Object 已解码的 CCCD 卡信息
card_number CCCD 号码 String 公民身份证号码
name 姓名 String 持卡人姓名
sex 性别 String 持卡人性别,如 Male / Female
date_of_birth 出生日期 String 格式 dd/MM/yyyy
issue_date 签发日期 String 格式 dd/MM/yyyy
expired_date 有效期 String CCCD 有效期
nationality 国籍 String 持卡人国籍,如 Vietnam
nation 民族 String 持卡人民族,如 Kinh
religion 宗教 String 持卡人宗教信仰,如 None
hometown 常住地址 String 持卡人籍贯 / 常住地址
address 居住地址 String 持卡人居住地址
character 识别特征 String 持卡人身份识别特征描述
father_name 父亲姓名 String 持卡人父亲姓名
mother_name 母亲姓名 String 持卡人母亲姓名
partner_name 配偶姓名 String 持卡人配偶姓名
previous_number 旧版身份证号 String 9 位旧版身份证号码
mrz MRZ 字符串 String 机读区字符串
face_image 芯片人像 String 芯片人像图像,Base64 编码 JPG
responds C06 核验结果 Object 国安库返回的核验结果
result 核验结果 Boolean 证件是否通过核验,true / false
time 服务端时间戳 Long 服务端返回时间戳,单位毫秒

# 5 ERROR 错误信息对照表

HTTP状态代码 返回码描述 是否计费 说明
200 0000 证件有效(核验一致)
200 0001 证件无效(核验不一致)
200 0002 芯片数据不完整,已有字段仍正常返回
400 400 参数错误:缺少必填字段或 Base64 格式错误
400 BAD_ARGUMENTS:<key> 某个参数解析出错(比如必须是数字,但是输入的是非数字字符串;或者长度过长)
401 AUTHENTICATION_ERROR 无效签名
403 AUTHORIZATION_ERROR:<reason> api_key被停用、调用次数超限、没有调用此API的权限,或者没有以当前方式调用此API的权限
403 CONCURRENCY_LIMIT_EXCEEDED 并发数超过限制
405 METHOD_NOT_ALLOWED 请求方法不正确
500 INTERNAL_ERROR 服务器内部错误,当此类错误发生时请再次请求,如果持续出现此类错误,请及时联系FaceID客服或商务

# 6 响应示例

# 6.1 正确请求返回示例(核验成功)

text
{
  "code": "0000",
  "request_id": "e3f6b9c2-4d8a-4e1f-9c7b-2a4d6f8c3e5a",
  "time_used": 1823,
  "biz_no": "202609010001",
  "data": {
    "expiredTimeResponse": "10/01/2041 00:00:00",
    "cardData": {
      "cardNumber": "037096012345",
      "name": "NGUYEN VAN A",
      "sex": "Male",
      "dateOfBirth": "15/03/1990",
      "issueDate": "10/01/2021",
      "expiredDate": "10/01/2041",
      "nationality": "Vietnam",
      "nation": "Kinh",
      "religion": "None",
      "hometown": "Xom 2, Xa Van Thinh, Huyen Me Linh, Tinh Vinh Phuc",
      "address": "123 Le Loi, Phuong Tran Hung Dao, Quan Hoan Kiem, Ha Noi",
      "character": "",
      "fatherName": "NGUYEN VAN B",
      "motherName": "TRAN THI C",
      "partnerName": "",
      "previousNumber": "037096123",
      "mrz": "I<VNM0370960123456<8FGHJKL...",
      "faceImage": "/9j/4AAQSkZJRgABAQEAYABgAAD..."
    },
    "responds": {
      "result": true,
      "time": 1717147769384
    }
  }
}

# 6.2 错误响应示例(参数解析出错)

text
{
  "code": "400",
  "request_id": "a5b8d2e4-6f1c-4a3e-9e7d-4c6f8b1e5a7c",
  "time_used": 120,
  "biz_no": "202609010001",
  "error": "BAD_ARGUMENTS:cccd"
}