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

# 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"
}