identification_number、first_name、last_name、date_of_birth,以及该服务所使用的地址字段),并返回综合结果,以及在可用时返回底层记录详情。
这是防范合成身份欺诈的最强防线:被盗用的真实 DNI 或 CPF 无法通过登记处核对,而伪造的号码根本不会出现在官方数据库中。在登记处保存有官方照片的国家/地区(阿根廷通过 RENAPER,巴拿马通过 Tribunal Electoral SIB / SIB Plus),数据库核验可与我们的生物识别人脸比对结合使用,因此您不仅可以确认号码的真实性,还可以确认摄像头前的人就是该证件的所有者。
为什么选择 Didit
- 最便宜的按次计费价格。 每次核查最低仅需 $0.05(多米尼加共和国),最高为 $7.00(最昂贵的专业数据源)。价格按服务而非按国家/地区设定:收取高批发费率的登记处其定价也相应调整(芬兰国民身份证为 $2.10)。请务必查阅各项服务定价表以了解您计划调用的具体服务的费率。无每月最低消费,无平台费用,无席位计费,仅对成功的查询收费。
- 最快集成。 注册,从控制台获取 API 密钥,几分钟内即可调用
POST /v3/database-validation/。无需销售沟通,无需采购周期,无需概念验证文档,Didit 完全支持自助服务。 - 直接对接权威数据源。 RENAPER、Receita Federal (SERPRO)、Tribunal Electoral、RENAPO、RENAP、RNP、RNPN、Junta Central Electoral、Registraduría Nacional、SEGIP、Servicio de Registro Civil、Tribunal Supremo de Elecciones、Dirección General de la Policía,而非聚合器抓取的数据。
- 在登记处存档有官方照片时提供生物识别人脸比对。 无需额外的集成工作,即可获得高于 OCR 的置信度。
- 生产就绪的低延迟。 端到端 p95 通常低于 1.5 s,季度可用性达 99.9%。
全球覆盖
将鼠标悬停在任何高亮显示的国家/地区上,即可查看我们在该处运行的每项数据库核验服务、数据领域(身份、金融、生物识别、地址、电信等)以及每次调用的价格。已上线的国家/地区现已可直接用于生产环境;其余国家/地区则在客户提出需求后按需接入。数据库核验的运行机制
数据库核验绝不会凭空触发。只有在满足以下全部条件时,它才会运行:- 会话已解析出要查询的国家/地区:来自身份证件验证的
issuing_state,或者当工作流中没有身份证件验证步骤时,来自数据库核验步骤所配置的唯一国家/地区。 - 该国家/地区在工作流中已启用至少一项数据库核验服务。
- 数据库核验步骤之前的各个步骤已提供所选服务所需的每一个必需字段。
DATABASE_VALIDATION_NOT_APPLICABLE;当该标识符本应可用却缺失时,触发 COULD_NOT_PERFORM_DATABASE_VALIDATION。两者均列在警告目录中。
您团队中拥有该会话审核权限的人员随后可以在 Console 的会话详情页面中手动填补缺失字段,保存后将自动重新触发核验。这是一项审核员操作,终端用户无法执行。若要允许用户提供其证件上没有的字段,请在问卷中收集(或通过 Document AI 提取,或在创建会话时传入该值),并在数据库核验步骤中进行映射,具体如下文所述。
数据库核验无需身份证件验证
以往,数据库核验步骤通常意味着前面必须有一个身份证件验证步骤,因为身份证件的 OCR 是获取终端用户数据的唯一接入方式。现在情况已不再如此:每个必需字段都会声明哪些步骤可以提供它,只要您的工作流中包含能够提供其所需全部字段的步骤,该服务就会立即可用。
这意味着仅凭活体检测步骤即可运行人脸生物识别服务,整个工作流中无需任何身份证件;而以税号、电话号码或邮箱为键的服务,则可以通过问卷答案、电话/邮箱验证步骤或 Document AI 提取来满足。
两条规则确保了这种机制的安全性:
- 没有身份证件验证的工作流必须在数据库核验步骤中仅配置一个国家/地区。由于没有来自证件的
issuing_state,这是确定要查询哪个国家登记库的唯一明确信号,因此没有身份证件验证的多国家/地区配置将不会运行任何核验,以避免盲目猜测。 - 必需字段检查保持不变。如果某项服务所需的字段在运行时未全部就绪,该服务将在查询任何提供商之前被跳过,因此您绝不会为从未查询过的数据库付费。
映射 Document AI 和问卷字段
Document AI 提取字段和问卷中的问题使用您的键名,而非 Didit 的键名。如果键名与数据库核验的输入名称完全匹配(tax_number、date_of_birth、phone……),系统将自动完成映射,无需任何额外配置。对于其他所有情况,工作流编辑器会在数据库核验步骤上针对仍未填充的字段显示一个选择器,您可以将每个字段指向提供该字段的 Document AI 字段键或问卷答案。
在 Console 中,工作流当前尚无法运行的服务会显示为已禁用并注明原因(缺失哪些字段以及哪个步骤可以提供这些字段),编辑器还会提示为您添加该步骤。添加该步骤后,它所解锁的每项服务都将立即点亮。
对于基于地址的服务,Didit 会自动将身份证件中的单个 address 拆分为结构化地址元素:
调用独立 API 时,您可以直接发送单个
address 或这些结构化字段。当两者同时存在时,以结构化字段为准。需要地址搜索的服务需要 address_element_1 以及至少另一个地址元素;如果 Didit 无法从工作流中的身份证件或地址证明中推导出这些元素,该服务将被跳过且不计费。
如果解析出的国家/地区根本未启用,该步骤将被直接跳过,不会发出警告,也不会产生费用。

匹配结果
每个启用的服务都会返回逐字段核验结果:
汇总后的
match_type 归纳为:
full_match:所有请求的字段均与至少一个数据源一致。partial_match:部分一致;根据您的工作流规则路由至审核队列。no_match:没有数据源确认该数据;通常予以拒绝。
匹配是如何推导的 (1×1 / 2×2)
我们不再要求您预先选择“1×1”或“2×2”,这些结果是根据有多少个不同服务完全匹配了输入数据推导而来的:- 1×1 结果:一个服务返回了完全匹配(单个权威数据源确认了该数据)。
- 2×2 结果:两个或更多服务返回了完全匹配(独立交叉验证;我们所能表达的最高置信度)。
partialMatchAction / noMatchAction 交互。
生物识别数据库核验
一些国家/地区的人口登记机构会公开生物特征模板(头像或指纹)。在可用时,我们会将登记库查询与针对用户自拍照的生物识别人脸比对相结合:- 阿根廷(
arg_renaper):与档案中的官方 RENAPER 照片进行生物识别人脸比对。人口覆盖率达 100%;所有持有 DNI 的阿根廷公民均在数据库中。 - 巴拿马(
pan_cedula_sib、pan_cedula_sib_plus):与选举法院(Tribunal Electoral)SIB 服务进行生物识别人脸比对。SIB Plus 是更高级别的变体,具有更严格的生物识别阈值和更丰富的匹配元数据。
selfie 字段为必填。在会话流程中,我们优先复用活体检测自拍照(质量最高),否则使用证件肖像照。在会话之外调用独立 API(POST /v3/database-validation/,即上述模式 B)时,您需要自行提供 JPEG/PNG。
全球身份信息增强
glb_identity_enrichment 是一项仅支持独立调用的全球性数据库核验服务。它可以通过电子邮箱和/或电话号码解析关联人员(姓名、出生日期、地址、电话、电子邮箱以及国民身份证件号码),并返回姓名匹配分数,映射到标准结果代码 MATCH / PARTIAL_MATCH / NO_MATCH / DOCUMENT_NOT_FOUND(对应的 match_type 为 full_match / partial_match / no_match)。
由于它是一项基于邮箱/电话而非证件签发国家/地区的全球(GLB)服务,因此它在工作流构建器中不可用。请直接通过独立 API 调用,并将 issuing_state 设置为 GLB:
配置
数据库核验可在 Console 中按工作流进行配置。对于每个国家/地区,您可以选择要运行的具体服务;必填和可选的输入字段由这些服务所需字段的并集确定。针对partial_match 和 no_match 结果所采取的操作可以单独配置,可选值为 approve、review 或 decline。

可用性通知
政府登记系统和其他数据源偶尔会出现故障。当某个数据库无法访问时,针对它的核验将不会返回结果,且不会产生计费。在工作流内部,该服务的结果将解析为REGISTRY_UNAVAILABLE。在独立 API 上,同样的故障会以三种形式之一呈现,因此请务必同时查看每个服务的结果并且检查 database_validation.errors[],切勿仅依赖 HTTP 状态:
200,且validations中该服务显示为outcome_code: "REGISTRY_UNAVAILABLE":当 Didit 保留了该服务的结果以便报告时。200,且该服务出现在database_validation.errors[]中,显示为code: "empty_provider_response"、retryable: true:当该服务完全未生成可用响应,但另一个选定服务返回了可用响应时。此时发生故障的服务不会出现在validations和services_used中,因此errors[]是其唯一出现的区域。502,包含validation_errors[].code: "empty_provider_response"和retryable: true:当所选服务均未返回可用结果时(请参阅被拒绝的输入和不可用的结果)。
status 遵循确实给出了响应的服务,因此其本身并不能作为可靠的故障信号。如果请求中没有任何可供比对的数据,则会转入审核中状态(In Review);但是,若一个请求选择了多个服务,即便其中一个数据源不可用,它仍可能根据另一个服务的匹配结果返回已通过状态(Approved)。请针对 errors[] 中出现故障的服务进行重试,而不是重试整个请求。
上述任何一种表现形式都与被验证的人员本身无关。
Didit 会对各个数据库的实际核验结果进行实时监控,当出现持续性中断而非单次请求失败时,系统会向您的组织发送电子邮件:
通知会发送给在过去 48 小时内针对该特定数据库运行过核验的每个组织的成员和计费联系人。无需进行任何配置,也不需要主动开启。沙盒流量绝不会触发这些通知,由于您发送的数据(被拒绝或格式错误的数据输入)或由使用您组织自行连接的凭据运行的服务所导致的失败,同样不会触发通知。通过备用数据源获得响应的核验算作可用,明确的无匹配结果同样算作可用。
定价 — 仅为您使用的部分付费
数据库核验按每个服务每次成功的查询计费,费率按照该服务公布的费率执行。费率从每次核验 $0.05(多米尼加共和国,通过中央选举委员会)到最昂贵的专业数据源高达 $7.00 不等。许多政府登记查询的费用在 USD 0.20 到 USD 0.30 区间内,但有相当一部分数据源成本要高得多,因为数据源本身收取的费用更高 — 例如芬兰国民身份证(fin_national_id)每次成功的查询为 $2.10。请根据定价表中各国家/地区对应的行进行计价,切勿使用区间估算。无月度最低消费、无承诺、亦无平台费用。
您仅在服务返回结果时付费。因缺少输入数据而跳过的服务不会被计费,数据源调用本身失败的服务同样不计费 - 登记系统错误或无法访问的登记系统(REGISTRY_ERROR / REGISTRY_UNAVAILABLE)意味着查询从未得到响应,因此不属于计费结果。
无论是通过工作流运行,还是通过独立的 POST /v3/database-validation/ API 运行,每次成功的登记系统查询都从第 1 次开始计费。它将与其他任何核验一样从您的套餐额度或充值余额中扣除,并且您的套餐折扣适用于其全部价格。请参阅定价页面。
➡️ 数据库核验定价 · 注册并获取 API 密钥