跳转到主要内容
POST
curl

基于地址的服务

对于验证居住地址或公用事业地址的服务,您可以只发送一个 address,Didit 会在处理核验前将其拆分。为获得最佳匹配率,请直接发送 Didit 的结构化地址字段: 结构化字段会覆盖单独的 address 值。postal_code 可作为 address_element_5 的别名使用。

同意

部分数据库服务要求终端用户明确同意后,才能向服务提供方发起查询。服务目录会在这些服务的行中标记 requires_consent=true。 当用户同意适用于所选服务时,请发送 consent=true。 如果所选服务需要同意而您未发送该参数,Didit 会在调用任何服务提供方之前、且未产生任何计费事件时拒绝该请求。

文件上传

数据库核验使用 multipart/form-data。需要 selfie 的生物识别服务会在 API 调试台中将其显示为文件上传字段,您可以直接选择图片,无需粘贴路径或 base64 字符串。 在代码中,请使用标准的 multipart 语法上传文件:

验证错误

Didit 会在调用服务提供方之前,先核验必填字段、地址结构以及特定服务的格式。例如,chn_national_id 和 chn_passport_verification 等中国登记服务要求 full_name 使用原始中文字符。其中,chn_national_id 还要求提供有效的 15 位或 18 位中国居民身份证号码,且校验位必须正确。 如果请求无法执行,API 会返回明确的字段错误,并且不产生任何费用。如果服务提供方在预检后失败,响应会包含 validation_errors,而已保存的 API 请求会将这些错误存储在数据库核验结果中。

被拒绝的输入与不可用的结果

如果没有任何服务返回可用结果,请先检查每个 validation_errors 条目,再决定是否重试。仅凭 HTTP 状态码无法判断重试是否合适。 返回 400、且 code: "provider_rejected_input" 和 retryable: false 表示每次未得到应答的尝试都明确拒绝了该输入。请先更正所提供的数据,再重新尝试。这些尝试不计费。 返回 502、且 code: "empty_provider_response" 和 retryable: true 表示服务因其他原因无法生成可用结果。这包括输入被拒绝后又遇到不可用的备用服务,或备用服务未给出任何说明的情况。请稍后重试;该响应并不表明输入有误。如果某个数据库持续失败,一旦中断持续存在,Didit 会向近期使用过该数据库的企业发送一次邮件;当真实核验确认其已恢复应答时,还会再次发送邮件。参见 可用性通知。 当只有部分所选服务失败时,请求仍会成功:响应为 200,失败的服务会列在 database_validation.errors[] 中,每项都包含相同的 code 和 retryable 字段。此时,database_validation.status 会依据已应答的服务给出结果,并且可以为 Approved。因此,请检查每个响应中的 errors[],而不要只检查 4xx 或 5xx 响应。列在其中的服务不会出现在 validations 和 services_used 中,也不计费。请单独重试该服务。 其他 502 错误可能需要更正输入。例如,provider_invalid_input 和 provider_validation_error 表示数据源拒绝了该输入,切勿在不做修改的情况下重试,即使旧版响应中省略了 retryable 也是如此。empty_provider_response 的重试指引不适用于这些错误代码。明确的无匹配结果属于已完成的核验,而非可用性故障。

授权

x-api-key
string
header
必填

您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。

请求体

issuing_state
string
必填

用于验证的目标登记处的 ISO 3166-1 alpha-3 国家/地区代码(例如 BRA、ESP、COL)。决定哪些服务可用。不受支持的代码将返回 400 及有效选项的完整列表。

示例:

"BRA"

services
string[]

针对此国家/地区要运行的目录 service_id 列表(例如 ["bra_cpf"])。也接受单个字符串或以逗号分隔/JSON 编码的字符串。如果省略或为空,将仅运行一个默认服务 — 即该国家/地区上线时间最长的生产环境服务;较新的、生物识别及按量计费的服务必须显式指定。发送 services 会将响应切换为扩展形式(添加 services_used 和 match_score)。每个 ID 必须存在且对该 issuing_state 处于可用状态;需要入驻的服务在为您的组织激活前将返回 400。可通过 GET /v1/organization/database-validation-countries/(本规范中未记载的目录 endpoint)或 Business Console 工作流编辑器发现每个国家/地区的可用服务。

示例:
validation_type
string
已弃用

已弃用。为向后兼容而接受但会被忽略,响应中的 validation_type 现在取决于完全匹配的服务数量。使用 services 可固定指定的服务。

当终端用户明确同意所选验证服务时设为 true。目录中标记为 requires_consent=true 的服务必须提供 — 若未提供,这些服务将返回 400 以及 services_requiring_consent。

identification_number
string

通用身份识别号,自动映射到特定国家/地区的正确字段,因此您可以用来代替 personal_number/tax_number/document_number:ARG→document_number (DNI)、BOL→document_number (CI)、BRA→tax_number (CPF,11 位数字)、CHL→personal_number (RUT)、COL→personal_number (Cédula)、CRI→personal_number (Cédula)、DOM→personal_number (Cédula,11 位数字)、ECU→personal_number (Cédula,10 位数字)、ESP→personal_number (DNI/NIE)、GTM→document_number (DPI)、HND→document_number (DNI)、MEX→personal_number (CURP,18 位字符)、PAN→personal_number (Cédula)、PER→personal_number (DNI,8 位数字)、PRY→document_number (CI)、SLV→document_number (DUI)、URY→personal_number (CI)、VEN→document_number (Cédula)。它绝不会覆盖显式提供的特定国家/地区字段。

first_name
string

个人的名字。某些服务/国家/地区要求必填。

示例:

"John"

last_name
string

个人的姓氏。某些服务/国家/地区要求必填。

示例:

"Doe"

middle_name
string

中间名,由部分国家/地区服务使用(澳大利亚、新西兰等)。

full_name
string

姓名 — 部分服务接受以此代替名/姓(例如 CHN 服务,用于比对原生文字系统中的姓名)。

date_of_birth
string<date>

出生日期,YYYY-MM-DD。许多服务均要求提供。

示例:

"1980-01-01"

personal_number
string

政府签发的唯一个人身份标识。适用地区:CHL (RUT)、COL (Cédula)、CRI、DOM、ECU、ESP (DNI/NIE)、MEX (CURP)、PAN (Cédula)、PER (DNI)、URY。建议改用 identification_number。

tax_number
string

税号。适用地区:BRA(CPF,11 位数字)。建议改用 identification_number。

document_number
string

证件号码。适用于:ARG (DNI)、BOL (CI)、GTM (DPI)、HND (DNI)、PRY (CI)、SLV (DUI)、VEN (Cédula)。建议改用 identification_number。

document_type
enum<string>

正在核验的证件类型:P 护照、DL 驾驶证、ID 国民身份证、RP 居留许可(以及 SSC、HIC、WP、TC、VISA、PSC、BC、OTHER)。某些服务需要此字段(例如 ESP)。

可用选项:
P,
DL,
ID,
RP,
SSC,
HIC,
WP,
TC,
VISA,
PSC,
BC,
OTHER
expiration_date
string<date>

证件到期日期,YYYY-MM-DD。ESP(西班牙)核验必填。

示例:

"2030-01-15"

date_of_issue
string<date>

证件签发日期,YYYY-MM-DD(fecha de expedición)。COL(哥伦比亚)身份证(cédula)核验必填。

示例:

"2015-06-20"

nationality
string

ISO 3166-1 alpha-3 格式的国籍。某些服务需要此字段。

gender
enum<string>

性别:M、F 或 X(其他/未知)。阿根廷的 RENAPER 核验(arg_renaper)必填。

可用选项:
M,
F,
X
address

居住地址。建议使用结构化对象 {"street_1":"123 Main St","street_2":"Apt 4B","city":"Springfield","region":"IL","postal_code":"62701","country":"US"};仍接受完整的单行字符串。地址验证服务要求必填;当某项服务定义了地址要求时,缺少部分将返回 400 以及 address_fields_required_by。

address_element_1
string

街道地址,包括门牌号和道路类型。如果省略,则从 address 推导。

address_element_2
string

公寓、单元、楼栋、楼层或补充地址行。仅在明确掌握该信息时发送。

address_element_3
string

城市、郊区、区、地方或街区。如果省略,则从 address 派生。

address_element_4
string

州、省、地区或城镇。如果省略,则从 address 推导。

address_element_5
string

邮政编码。接受 postal_code 作为别名。

postal_code
string

基于地址的服务的邮政编码(address_element_5 的别名)。

driver_license_number
string

用于政府证件验证服务(AUS、NZL、IND)的驾照号码。

driver_license_card_number
string

实体驾照卡号,当与驾照号码(澳大利亚)分开要求时使用。

driver_license_state
string

驾照签发州或领地(AUS)。

driver_license_version
string

驾照版本代码(NZL)。

passport_number
string

用于政府护照核验服务(澳大利亚 AUS、新西兰 NZL、印度 IND、中国 CHN)的护照号码。

passport_expiration_date
string<date>

护照到期日期,格式为 YYYY-MM-DD,用于护照核验服务。

passport_file_number
string

护照文件编号(IND)。

passport_issue_country
string

护照验证服务所使用的护照签发国家/地区(ISO 3166-1 alpha-3)。

medicare_card_number
string

Medicare 卡号(澳大利亚)。

immi_card_number
string

澳大利亚 ImmiCard 号码。

immi_card_expiry_date
string<date>

澳大利亚 ImmiCard 到期日期。

citizenship_certificate_number
string

公民身份证书编号(澳大利亚)。

birth_registration_number
string

出生证明登记号(澳大利亚)。

birth_registration_date
string<date>

出生证明登记日期(澳大利亚)。

birth_registration_state
string

出生证明登记州(澳大利亚)。

marriage_certificate_number
string

结婚证明编号(澳大利亚)。

change_of_name_certificate_number
string

更名证明编号(澳大利亚)。

first_partner_name
string

结婚证上配偶的名(澳大利亚)。

last_partner_name
string

结婚证上配偶的姓氏(澳大利亚)。

voter_id
string

选民登记号(IND EPIC、IRL)。

epic_card
string

印度 EPIC 选民卡号。

pan
string

印度 PAN(永久账号)。

national_id
string

国民身份证号(CHN、MYS、KEN、KHM、NGA、ZAF、……)。

cic
string

墨西哥 INE/IFE 凭证识别码(CIC,Código de Identificación de Credencial),9 位数字。由墨西哥 INE 凭据有效性核验服务(mex_ine_vigencia)使用。

identificador_ciudadano
string

墨西哥 INE 公民标识符(Identificador del Ciudadano,9 位数字)。在 mex_ine_vigencia 中与 cic 一起用于现代 INE 型号(E/F/G/H)。

ocr
string

墨西哥 INE OCR 编号(13 位数字,卡片背面)。在 mex_ine_vigencia 中与 cic 一起用于 D 型号。

voter_number
string

墨西哥 INE 选民识别码(Clave de Elector,18 位字符)。在 mex_ine_vigencia 中与 emission_number 一起用于旧版 IFE 型号(A/B/C)。

emission_number
string

墨西哥 INE 签发编号(Número de Emisión)。在 mex_ine_vigencia 中与 voter_number 一起用于旧版 IFE 型号(A/B/C)。

bvn
string

尼日利亚银行验证号码(BVN)。

bank_card_number
string

银行卡号(中国银行卡验证)。

company_registration_number
string

公司登记机构签发的企业注册号:如巴西的 CNPJ(例如 11222333000181)、南非的注册号(例如 1936/007721/06)。公司登记和企业董事服务(bra_company_registry、bra_company_directors、zaf_company_registry、zaf_company_directors)需要此参数。

company_name
string

注册公司名称,与登记条目进行交叉比对。对于 zaf_company_registry 可选。

initials
string

证件上印制的该人员姓名首字母缩写。zaf_drivers_license 必需;zaf_bank_account_holder 可接受。

licence_number
string

卡片上印制的驾照号码,适用于 zaf_drivers_license。省略时,使用 document_number。

refugee_file_number
string

南非内政部签发的难民档案号。zaf_refugee 所需。

bank_name
string

开户银行名称。zaf_bank_account_holder 必填。

bank_account_number
string

银行账号。zaf_bank_account_holder 必填;zaf_fraud_prevention 可接受。

account_type
string

zaf_bank_account_holder 的银行账户类型:current、savings、transmission、subscriptionShare 或 notKnown,不区分大小写。任何其他值返回 400。未知类型时请省略:账户类型交叉比对随后将报告为未确认。

phone_number
string

联系手机号码,用于交叉核验可联络性的服务(zaf_bank_account_holder、zaf_fraud_prevention、zaf_refugee)。

right_thumb
string

用于 zaf_dha_fingerprint_match 的 Base64 编码右手拇指指纹,可与 left_thumb 一起提供或单独提供。

left_thumb
string

用于 zaf_dha_fingerprint_match 的 Base64 编码左手拇指指纹,可与 right_thumb 一起提供或单独提供。

score_level
integer

zaf_criminal_face_screening 的最低生物识别评分等级。默认为 3。

max_matches
integer

zaf_criminal_face_screening 返回的候选匹配项最大数量。默认值为 1。

vehicle_register_number
string

车辆登记编号。zaf_vehicle_ownership 必需此字段,且须与 vehicle_licence_plate 和 vin 一同提供。

vehicle_licence_plate
string

车辆号牌号码。zaf_vehicle_ownership 必需此字段,且须与 vehicle_register_number 和 vin 一同提供。

vin
string

车辆识别代号(VIN 或车架号)。zaf_vehicle_ownership 必需此字段,且须与 vehicle_register_number 和 vehicle_licence_plate 一同提供。

ssn
string

社会安全号码(美国)。

phone
string

用于电话验证服务的电话号码。

landline
string

用于电话验证服务的座机号码。

email
string<email>

用于身份验证服务的邮箱地址。

country_of_residence
string

居住国家/地区的 ISO 3166-1 alpha-2 代码。供全球身份信息增强服务(例如 glb_identity_enrichment)用于限定查询范围。

示例:

"US"

partial_match_action
enum<string>
默认值:NO_ACTION

partial_match 对 database_validation.status 的影响。默认值为 NO_ACTION(状态保持为 Approved,并附带警告)。

可用选项:
DECLINE,
NO_ACTION
no_match_action
enum<string>
默认值:DECLINE

no_match 对 database_validation.status 的影响。默认值为 DECLINE。

可用选项:
DECLINE,
NO_ACTION
save_api_request
boolean
默认值:true

将核验持久化为会话(控制台可见性、决策 endpoint、status.updated Webhook)。同时会改变 validations 响应的格式:为 true(默认)时按服务返回对象,为 false 时返回合并的字段映射。

vendor_data
string

您为已核验用户指定的标识符;将原样返回并与会话一起存储。

metadata
object | null

随请求一同存储并回显的自由格式 JSON。

响应

核验已完成:至少有一个选定的服务返回了可用结果。请查看 database_validation.match_type 获取汇总结果,查看 validations 获取按服务划分的字段比对和 outcome_codes,以及查看 errors(若存在)获取失败的服务信息。

request_id
string<uuid>

当 save_api_request=true 时持久化的会话 ID(可用于 GET /v3/session/{sessionId}/decision/);否则为一个临时的关联 UUID。

database_validation
object
vendor_data
string | null

回显您发送的 vendor_data。

metadata
object | null

您发送的 metadata 回显。

created_at
string<date-time>
最后修改于 2026年11月7日