mcpField
D
didit-database-validation

didit-database-validation

github.com/didit-protocolセキュリティ29212 回インストール2 週間前に更新
リポジトリ

didit-database-validation について

政府機関などの公的な登録情報と個人データを照合する Didit API のスキルです。項目ごとの一致結果とサービス別の判定を返し、複数の国・地域の本人確認に対応します。

主な機能

  1. 01個人データと登録情報の照合
  2. 02項目ごとの一致結果の返却
  3. 03各国の本人確認サービスの実行
  4. 04セルフィーを使う生体認証への対応

活用シーン

  1. 01本人に属さない識別番号の検出
  2. 02登録時に提出された本人情報の確認

MCP 対応

このスキルは Didit Database Validation API の呼び出し方法を説明します。MCP サーバーや MCP 専用インターフェースについては記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/didit-protocol/skills --skill didit-database-validation

インストール後、Claude Code で/didit-database-validationを入力して読み込まれたか確認します。

同梱ファイルscripts/validate_database.py

詳細

Didit データベース検証 API

概要

国の公的機関(住民登録機関、税務当局、選挙人名簿、または生体認証登録機関)のデータと個人情報を照合し、項目ごとの比較結果、サービスごとの結果コード、および登録記録を返します。架空の身元情報や、本人に紐づいていないID番号の検出に利用できます。

料金: サービスごとに $0.05(ドミニカ共和国の dom_cedula)から、照会1件あたり $7.00 です。ラテンアメリカの国民IDサービスの多くは $0.20 です(照会に回答したサービスごとに1回課金されます。該当なしや見つからないという回答も含みます。400 による拒否、および情報源から回答がなかったサービスは無料です。単独の呼び出しに無料枠はありません)。これらの価格は2026年11月1日までの標準価格です。同日、Didit の料金体系が変更され、月500回の無料チェックは月 $10 分の無料クレジットになります。最新の価格はdidit.me/pricingをご確認ください。

主な制約:

  • issuing_state は ISO 3166-1 の alpha-3(BRA、PER、ARG)です。alpha-2 のコード(BR)を指定すると、400「Invalid issuing state」が返されます。
  • 各国では1つ以上のサービス(service_id)が提供されています。services を指定しない場合、デフォルトのサービスが1つだけ実行されます。スペイン、ケニア、ザンビア、およびラテンアメリカ以外のほとんどのサービスにはデフォルトがありません。services で指定してください。
  • 必須フィールドは選択したサービスによって異なります。フィールドが欠けている場合や形式が不正な場合、登録機関への照会前に 400 が返されます(課金されません)。
  • JSON を送信するか、サービスで selfie が必要な場合は multipart/form-data を送信します(アルゼンチンの arg_renaper、パナマの pan_cedula_sib、その他の生体認証サービス)。
  • 項目ごとの結果:full_match、partial_match、no_match。全体の status:Approved、Declined、In Review。

対応範囲: 2026-10-12 時点の公開カタログには、45か国の有効なサービス123件と、グローバル(GLB)グループが掲載されていました。内訳は、ラテンアメリカ17か国、スペイン、南アフリカ、ケニア、ザンビア、ナイジェリア、およびヨーロッパ、北米、アジア太平洋地域の本人確認、信用、居住情報、電話番号のデータセットです。API キーなしで、最新の一覧を確認できます。

GET https://verification.didit.me/v1/organization/database-validation-countries/

次の形式で返されます:{ "<ISO3>": { "country_iso3", "country_name", "region", "services": [ { "service_id", "service_name", "coverage", "default_price_usd", "required_fields", "requires_any_fields", "optional_fields", "requires_consent", "requires_onboarding", "supports_selfie", ... } ] } }。requires_onboarding: true のサービスは、Didit サポートが組織に対して有効化するまで 400 を返します。

API リファレンス: https://docs.didit.me/standalone-apis/database-validation 機能ガイド: https://docs.didit.me/core-technology/database-validation/overview 対応国: https://docs.didit.me/core-technology/database-validation/database-validation-supported-countries サービスごとの料金: https://docs.didit.me/getting-started/database-validation-pricing


認証

すべてのリクエストには x-api-key ヘッダーが必要です。Didit Business Console の Developers > API keys にあるアプリケーションの API キーを使用するか、アカウントとキーをプログラムで作成してください(「利用開始」を参照)。カスタムアクセス権を持つ名前付きキーで単独チェックを実行するには、Sessions の書き込み権限が必要です。一部のワークフローに限定されたキーや、承認済みセッションのみに限定されたキーでは実行できません。

利用開始(まだアカウントをお持ちでない場合)

Didit API キーをお持ちでない場合、API を2回呼び出すだけで作成できます。

  1. 登録: POST https://apx.didit.me/auth/v2/programmatic/register/ に {"email": "[email protected]", "password": "MyStr0ng!Pass"} を送信します。
  2. メールを確認: 6文字の認証コードを確認します。
  3. 認証: POST https://apx.didit.me/auth/v2/programmatic/verify-email/ に {"email": "[email protected]", "code": "A3K9F2"} を送信します。キーはレスポンス内の application.api_key にあります。

クレジットの追加: 残高を確認するには GET /v3/billing/balance/、Stripe のチェックアウトリンクを取得するには POST /v3/billing/top-up/ に {"amount_in_dollars": 50} を送信します。

プラットフォーム管理(ワークフロー、セッション、ユーザー、請求)の詳細については、didit-verification-management スキルをご覧ください。


エンドポイント

POST https://verification.didit.me/v3/database-validation/
ヘッダー
ヘッダー値必須
x-api-keyAPI キーはい
Content-Typeapplication/json、または selfie の送信時は multipart/form-dataはい
本文
パラメーター型必須説明
issuing_statestringはい登録機関の ISO 3166-1 alpha-3 国コード(BRA、ESP、COL)
servicesarray of stringsいいえ実行する service_id(例:["bra_cpf"])。カンマ区切りまたは JSON エンコードされた文字列も受け付けます。省略または空の場合は、デフォルトのサービスが1つだけ実行されます(表を参照)。指定すると、レスポンスに services_used と match_score が追加されます。各 ID は issuing_state で有効である必要があります
identification_numberstringいいえ国ごとの番号フィールド(表を参照)に値を入力するショートカットです。ARG、BOL、BRA、CHL、COL、CRI、DOM、ECU、GTM、HND、MEX、PAN、PER、PRY、SLV、URY、VEN に対応します。明示的に指定されたフィールドを上書きすることはありません。それ以外の国では無視されます
document_numberstring条件によるARG、BOL、GTM、HND、PRY、SLV、VEN の番号フィールド
personal_numberstring条件によるCHL、COL、CRI、DOM、ECU、MEX、PAN、PER、URY の番号フィールド
tax_numberstring条件によるBRA の番号フィールド(CPF)
national_idstring条件によるKEN、ZMB、ZAF およびその他の市場のサービスにおける国民 ID 番号。ESP の esp_dni では任意です
first_name / last_namestring条件による照合する氏名。一部のサービスでは必須です
middle_name / full_namestringいいえ一部のサービスで使用されます(一部では姓・名の代わりに full_name を使用します)
date_of_birthstring条件によるYYYY-MM-DD
date_of_issuestring条件による書類の発行日 YYYY-MM-DD。COL の col_cedula では必須です
expiration_datestringいいえ書類の有効期限 YYYY-MM-DD
document_typestringいいえP、DL、ID、RP、SSC、HIC、WP、TC、VISA、PSC、BC、OTHER
genderstring条件によるM、F、X のいずれか。arg_renaper と arg_renaper_data では必須です
nationalitystring条件によるISO 3166-1 alpha-3。COL の col_migracion では必須です
addressobject or string条件による{"street_1", "street_2", "city", "region", "postal_code", "country"} または住所全体を1行で指定します。住所を使用するサービスでは必須です(ESP の esp_dni では、少なくとも番地と郵便番号が必要です)
address_element_1 to address_element_5, postal_codestringいいえ個別に送信する住所の項目:通り、建物・部屋番号、市区町村、州・地域、郵便番号(postal_code は element 5 の別名です)
selfiefile条件によるマルチパートのみ。jpg、jpeg、png、webp、最大 2 MB。生体認証サービスでは必須です
consentboolean条件によるデフォルトは false です。requires_consent を持つサービス(例:esp_dni)では true にする必要があります。そうしない場合は services_requiring_consent とともに 400 が返されます
partial_match_actionstringいいえDECLINE または NO_ACTION(デフォルトは NO_ACTION:部分一致は Approved のままです)
no_match_actionstringいいえDECLINE(デフォルト)または NO_ACTION
save_api_requestbooleanいいえデフォルトは true です。セッションとして保存され(Business Console、request_id を指定した GET /v3/session/{sessionId}/decision/、status.updated Webhook)、validations はサービスごとの配列になります。false の場合は何も保存されず、validations は統合されたフィールドマップになります
vendor_datastringいいえユーザーを識別するための値。レスポンスにそのまま返されます
metadataobjectいいえ保存され、レスポンスにそのまま返される自由形式の JSON
validation_typestringいいえ非推奨で、無視されます
各サービス固有のその他の識別子:passport_number、passport_expiration_date、passport_issue_country、passport_file_number、driver_license_number、driver_license_card_number、driver_license_state、driver_license_version、medicare_card_number、immi_card_number、immi_card_expiry_date、citizenship_certificate_number、birth_registration_number、birth_registration_date、birth_registration_state、marriage_certificate_number、change_of_name_certificate_number、first_partner_name、last_partner_name、voter_id、epic_card、pan、cic、identificador_ciudadano、ocr、voter_number、emission_number、bvn、bank_card_number、ssn、phone、landline、email、country_of_residence。カタログの required_fields / requires_any_fields に、サービスが必要とする項目が記載されています。

サンドボックス: サンドボックス API キーではレジストリへの呼び出しと課金がスキップされ、固定の full_match レスポンスが返されます(常に services_used と match_score: 100 が含まれるため、実環境のレスポンス形式のテストには使用しないでください)。

例
import requests

response = requests.post(
    "https://verification.didit.me/v3/database-validation/",
    headers={"x-api-key": "YOUR_API_KEY"},
    json={
        "issuing_state": "BRA",
        "services": ["bra_cpf"],
        "tax_number": "12345678900",
        "date_of_birth": "1980-01-01",
        "first_name": "John",
        "last_name": "Doe",
        "vendor_data": "user-1234",
    },
    timeout=60,
)
print(response.status_code, response.json())
// Biometric service: multipart with a selfie (Argentina RENAPER)
const form = new FormData();
form.append("issuing_state", "ARG");
form.append("services", "arg_renaper");
form.append("document_number", "12345678");
form.append("gender", "F");
form.append("first_name", "Jane");
form.append("last_name", "Doe");
form.append("selfie", selfieFile); // jpg/jpeg/png/webp, max 2 MB

const response = await fetch("https://verification.didit.me/v3/database-validation/", {
  method: "POST",
  headers: { "x-api-key": "YOUR_API_KEY" },
  body: form,
});
const data = await response.json();
if (!response.ok) throw new Error(`${response.status}: ${JSON.stringify(data)}`);
console.log(data.database_validation.status, data.database_validation.match_type);
レスポンス(200 OK)
{
  "request_id": "b3e7c1a2-9d4f-4f0b-8a6c-5e2d1f0a9b3e",
  "database_validation": {
    "status": "Approved",
    "issuing_state": "BRA",
    "validation_type": "one_by_one",
    "screened_data": {
      "tax_number": "12345678900",
      "first_name": "John",
      "last_name": "Doe",
      "date_of_birth": "1980-01-01"
    },
    "match_type": "full_match",
    "validations": [
      {
        "service_id": "bra_cpf",
        "service_name": "Brazil - CPF status check",
        "validation": {
          "full_name": "full_match",
          "date_of_birth": "full_match",
          "identification_number": "full_match"
        },
        "outcome_code": "MATCH",
        "outcome_detail": "200",
        "source_data": {
          "identification_number": "12345678900",
          "first_name": "JOHN",
          "last_name": "DOE",
          "date_of_birth": "1980-01-01",
          "lgpd_minor": false,
          "minor_under_16": false,
          "minor_under_18": false
        }
      }
    ],
    "warnings": [],
    "services_used": ["bra_cpf"],
    "match_score": 1.0
  },
  "vendor_data": "user-1234",
  "metadata": null,
  "created_at": "2026-10-12T10:30:00.000000+00:00"
}

save_api_request=false の場合、代わりに validations は統合されたマップになります。例:{"full_name": "full_match", "date_of_birth": "full_match", "identification_number": "full_match"}。

ステータス値と処理方法
ステータス意味アクション
"Approved"full_match、またはアクションが NO_ACTION の partial_match / no_match(デフォルトでは partial match は NO_ACTION)処理を続行します。warnings と errors も必ず確認してください
"Declined"警告が DECLINE と判定された状態:no_match または失効した書類(no_match_action のデフォルトは DECLINE)、あるいは partial_match_action=DECLINE の部分一致本人確認データがレジストリと一致しません
"In Review"COULD_NOT_PERFORM_DATABASE_VALIDATION のみ:サービスから応答はあったものの、確認できた項目がない状態(例:唯一のサービスが INCONCLUSIVE または REGISTRY_UNAVAILABLE を返した場合)手動で確認するか、後でもう一度お試しください

却下は審査中より優先されます。複数サービスへのリクエストでは、あるサービスでは Approved でも、別のサービスでは失敗していることがあります。必ず errors[] と各 outcome_code を確認してください。

エラーレスポンス
コード意味対応
400リクエストが無効ですレスポンスボディのフィールドエラーを確認してください
401API キーの有効期限が切れていますDevelopers > API keys でキーをローテーションするか、新しいキーを作成してください
403API キーがない、間違っている、または取り消されている、エンドポイントにアクセスできないスコープ付きキーを使用している、キーの IP 許可リスト外からリクエストしている、またはクレジットが不足していますdetail または error のメッセージを確認してください。x-api-key ヘッダーまたはキーのアクセス権を修正するか、クレジットを追加してください
429レート制限:キーごとに 1 分あたり POST/PATCH/DELETE リクエストは 300 件、GET リクエストは 600 件までですRetry-After の秒数だけ待ってから再試行してください
502選択したサービスから利用可能な結果が返されませんでした。ボディ:error と validation_errors[](service_id、code(例:empty_provider_response)、message、retryable: true)。課金されません後で再試行してください。save_api_request=true の場合、試行はセッションとして記録されます

このエンドポイントの 400 ボディ(課金されません):

  • {"error": ["Invalid issuing state. Valid options are: ARE, ARG, ..."]}:issuing_state が間違っているか、アルファベット 2 文字のコードです
  • {"error": ["No database validation services configured for ESP."]}:その国のデフォルトサービスがありません。services を指定してください
  • {"error": ["Missing required fields: tax_number (or use 'identification_number' ...)"], "fields_required_by": {"tax_number": ["bra_cpf"]}}:同じ種類の問題について、any_field_required_by、field_dependencies_required_by、address_fields_required_by も返されます
  • {"services": [...]}:不明なサービス ID、その国で利用可能になっていないサービス、またはオンボーディングが必要なサービス(requires_onboarding)です
  • {"consent": [...], "services_requiring_consent": [...]}:consent: true を送信してください
  • {"tax_number": ["Invalid tax number for BRA: Brazilian CPF (exactly 11 digits). ..."]} または invalid_fields_by_service:形式ルールに違反しています
  • {"error": "...", "validation_errors": [{"code": "provider_rejected_input", "retryable": false, ...}]}:すべてのソースが送信されたデータを拒否しました。データを修正してください。同じ値で再試行しても成功しません

クレジットチェックでは、選択したサービスの料金の合計が確認され、レジストリへの問い合わせの前に実行されます。クレジット不足時の 403 ボディは {"error": "You don't have enough credits to perform this request. ..."} です。


レスポンスフィールドのリファレンス

フィールド型説明
request_iduuidsave_api_request=true の場合はセッション ID、それ以外の場合は一時的な相関 ID
database_validation.statusstringApproved、Declined、または In Review
database_validation.issuing_statestringalpha-3 の国コードのエコー
database_validation.validation_typestringone_by_one、または 2 件以上のサービスで完全一致した場合は two_by_two
database_validation.screened_dataobjectサービスに送信された入力(日付は YYYY-MM-DD、selfie は一時 URL、同意が得られた場合は consent_obtained: true)
database_validation.match_typestring/nullサービス全体での full_match、partial_match、または no_match。結果のみを返すサービスでは null
database_validation.validationsarray or objectサービスごとの情報:service_id、service_name、validation(フィールドと full_match/partial_match/no_match の対応)、outcome_code、outcome_detail、source_data(登録情報)。save_api_request=false の場合は統合マップ
database_validation.warningsarray{feature, risk, additional_data, log_type, short_description, long_description}。問題のない完全一致では空
database_validation.errorsarray一部のサービスで失敗した場合のみ:service_id、code、message、retryable。これらのサービスには課金されません
database_validation.services_usedarray結果を返したサービス(リクエストで services を送信した場合のみ)
database_validation.match_scorenumber試行したサービスのうち完全一致した割合(0.0~1.0。リクエストで services を送信した場合のみ)
vendor_data / metadatastring/object指定した値のエコー
created_atstringISO 8601 形式の UTC タイムスタンプ

outcome_code の値: MATCH、PARTIAL_MATCH、NO_MATCH(確定的な不一致)、DOCUMENT_NOT_FOUND(番号が登録情報に存在しない)、INVALID_DOCUMENT_FORMAT / INVALID_INPUT(登録機関がデータを拒否)、MINOR_BLOCKED、DECEASED、BIOMETRIC_NO_MATCH(顔が一致しない)、BIOMETRIC_IMAGE_UNUSABLE(セルフィーを撮り直してください)、INCONCLUSIVE(要確認。不一致ではありません)、DOCUMENT_SUPERSEDED(新しい版の書類が存在)、REGISTRY_UNAVAILABLE / REGISTRY_ERROR(情報源の障害。課金されません)。


照合ロジック

ルール動作
氏名氏名の各部分をあいまい照合します(軽微な誤字があっても一致します:「Christophel」と「Christopher」は完全一致、「Chris」は一致しません)
生年月日、ID 番号完全一致のみ
match_typeいずれかのサービスが full_match を返した場合は full_match、それ以外でいずれかのサービスが partial_match を返した場合は partial_match、それ以外は no_match
validation_type2 つ以上の異なるサービスで完全一致した場合は two_by_two、それ以外は one_by_one。2x2 専用の料金はありません。各サービスに個別の料金が課金されます
決定的なフィールドサービスは、自身が保持するフィールドと送信されたフィールドのみを比較します。必須フィールドが常に比較対象になるとは限りません

警告タグ

タグ条件効果
DATABASE_VALIDATION_NO_MATCHmatch_type が no_match、またはサービスが項目の照合なしで確定的な否定結果(例:DOCUMENT_NOT_FOUND、DECEASED)を返した場合no_match_action(既定値は DECLINE)
DATABASE_VALIDATION_PARTIAL_MATCHmatch_type が partial_match の場合partial_match_action(既定値は NO_ACTION:information、ステータスは Approved のまま)
DATABASE_VALIDATION_DOCUMENT_SUPERSEDEDサービスが DOCUMENT_SUPERSEDED を返した場合:人物は一致したものの、より新しい版の書類が存在します(match_type は full_match の場合もあります)no_match_action に従います
COULD_NOT_PERFORM_DATABASE_VALIDATIONサービスは実行されましたが、確定には至らなかった場合:結論の出ない回答、利用不可または失敗した情報源、あるいは送信されたデータを使用できなかった登録機関などです。additional_data にサービス名が記載されます。フィールドの欠落や無効な値はここには該当せず、400 が返されます常に In Review(log_type: warning)
DATABASE_VALIDATION_NOT_APPLICABLEワークフローセッションのみ(書類にサービスが必要とする識別子がありません)このエンドポイントでは生成されません

log_type はアクションを反映します。DECLINE の場合は error、NO_ACTION の場合は information です。不足データの入力後に自動で再実行する機能は、ワークフローセッションにのみあり、このエンドポイントにはありません。


対応国

公開カタログおよび料金表に基づく主な国(2026-10-12)。services を省略した場合に実行されるサービスが「デフォルト」です。

issuing_stateデフォルトサービス必須フィールド番号の形式対応率料金その他のサービス
ARGarg_renaper(生体認証)document_number、selfie、genderDNI、7~8 桁、M/F の接頭辞は任意-$0.20arg_renaper_data(document_number、gender、selfie 不要、$0.20);arg_citizens $1.90、arg_credit_bureau $2.15
BOLbol_ceduladocument_number、date_of_birthCI、6~10 桁90~95%$0.20-
BRAbra_cpftax_number、date_of_birthCPF、ちょうど 11 桁約100%$0.20ほかに 9 件。例:bra_cpf_facial(selfie、同意、$0.45)、bra_unico_idcloud(selfie、同意、$0.20)、bra_death_check、bra_tax_registration $0.15
CHLchl_rutpersonal_numberRUT、例:12345678-9-$0.20-
COLcol_cedulapersonal_number、date_of_issueCedula、6~10 桁90~95%$0.20col_migracion(personal_number、date_of_birth、nationality、$1.20)
CRIcri_cedulapersonal_numberCedula、9~12 桁90~95%$0.20-
DOMdom_cedulapersonal_numberCedula、ちょうど 11 桁-$0.05-
ECUecu_cedulapersonal_numberCedula、ちょうど 10 桁-$0.20-
ESPなし:services: ["esp_dni"] と consent: true を送信first_name、last_name、date_of_birth、address(通り名+郵便番号)番号フィールドなし。任意の national_id(DNI/NIE)も照合されます約75%$1.26-
GTMgtm_dpidocument_number、date_of_birthDPI、ちょうど 13 桁90~95%$0.20gtm_dpi_facial(document_number、selfie、同意、$0.35)
HNDhnd_dnidocument_numberDNI、ちょうど 13 桁90~95%$0.20-
MEXmex_curppersonal_numberCURP、ちょうど 18 文字約100%$0.20mex_ine_vigencia(INE 認証情報:cic、identificador_ciudadano、ocr、または voter_number + emission_number、$0.20)
PANpan_cedula_sib(生体認証)personal_number、selfieCedula、5~20 文字-$0.75pan_cedula_sib_plus(同じフィールド、$1.50)
PERper_dnipersonal_numberDNI、ちょうど 8 桁-$0.20per_tax_registration(first_name、last_name、date_of_birth、personal_number、$1.75)
PRYpry_ceduladocument_numberCI、6~10 桁90~95%$0.20-
SLVslv_duidocument_number、date_of_birthDUI、ちょうど 9 桁90~95%$0.20-
URYury_cedulapersonal_number、date_of_birthCI、7~9 桁90~95%$0.20-
VENven_ceduladocument_numberCedula、7~10 桁、V/E の接頭辞は任意90~95%$0.20-
KENなし:ken_national_idfirst_name、last_name、date_of_birth、national_id-約90%$0.65-
ZMBなし:zmb_national_idnational_id、first_name、last_name--$0.20-
ZAFzaf_africa_national_idfirst_name、last_name、date_of_birth、national_id-約100%$1.10ほかに 12 件(運転免許証、銀行口座名義人、企業登記、不正防止など)

その他の国(オーストラリア、オーストリア、カナダ、中国、デンマーク、フィンランド、フランス、ドイツ、インド、インドネシア、イタリア、カンボジア、マレーシア、オランダ、ニュージーランド、ナイジェリア、ノルウェー、フィリピン、シンガポール、スウェーデン、スイス、タイ、英国、米国)および GLB グループについては、カタログを確認し、必ず services を送信してください。ほとんどの国にはデフォルトサービスがありません。任意フィールド(通常は first_name、last_name)を指定すると、サービスが対応している場合は氏名の照合が追加されます。


一般的なワークフロー

ID 書類のデータを検証する
1. POST /v3/id-verification/ -> id_verification.issuing_state (alpha-3), document_number,
   personal_number, first_name, last_name, date_of_birth, gender, date_of_issue
   (see the didit-id-document-verification skill)
2. Look up the country in the table (or the catalog) and pick services
3. POST /v3/database-validation/ with issuing_state, services and the required fields
   (identification_number fills the country's number field)
4. Approved -> data confirmed by the registry
   Declined -> DATABASE_VALIDATION_NO_MATCH / _DOCUMENT_SUPERSEDED: do not trust the identity data
   In Review -> COULD_NOT_PERFORM_DATABASE_VALIDATION: review or retry later
   502 -> no service answered (not billed): retry later
スペインの DNI/NIE
{
  "issuing_state": "ESP",
  "services": ["esp_dni"],
  "consent": true,
  "first_name": "John",
  "last_name": "Doe",
  "date_of_birth": "1990-01-01",
  "address": {"street_1": "Calle Mayor 10", "city": "Madrid", "postal_code": "28013", "country": "ES"}
}
生体認証による登録情報の照合(アルゼンチン、パナマ)

selfie(最大 2 MB)を含む multipart/form-data を送信します。arg_renaper では document_number と gender も必要です。pan_cedula_sib では personal_number が必要です。BIOMETRIC_NO_MATCH は実際に顔が一致しないことを示します。BIOMETRIC_IMAGE_UNUSABLE はセルフィーを撮り直す必要があることを示します。

保存済みの結果を取得する

save_api_request=true(デフォルト)の場合、GET /v3/session/{request_id}/decision/ は database_validations[] に結果を返します。


ユーティリティスクリプト

validate_database.py:コマンドラインから政府のデータベースと本人確認データを照合します。JSON レスポンスに続いて、ステータス、照合タイプ、サービスごとの結果、警告、エラーを出力します。

# Requires: pip install requests
export DIDIT_API_KEY="your_api_key"
# issuing_state is ISO alpha-3. Use the number field the country needs (see the table) or --identification-number.
python scripts/validate_database.py --issuing-state PER --personal-number 12345678 --first-name Carlos --last-name Garcia
python scripts/validate_database.py --issuing-state BRA --tax-number 12345678900 --dob 1980-01-01 --services bra_cpf
python scripts/validate_database.py --issuing-state MEX --identification-number GARC850315HDFRRL09
python scripts/validate_database.py --issuing-state COL --personal-number 1234567890 --date-of-issue 2015-06-20
python scripts/validate_database.py --issuing-state ARG --document-number 12345678 --gender F --selfie selfie.jpg
python scripts/validate_database.py --issuing-state ESP --services esp_dni --consent --first-name John --last-name Doe \
  --dob 1990-01-01 --address '{"street_1": "Calle Mayor 10", "city": "Madrid", "postal_code": "28013", "country": "ES"}'

コメント