curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=BRA" \
-F "services=bra_cnh_facial_qrcode" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "tax_number=11111111111" \
-F "selfie=@./selfie.jpg" \
-F "cnh_qr_code_image=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB"
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "BRA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"cnh_qrcode": "sample_value",
"date_of_birth": "1990-01-01",
"face_match_probability": "Altíssima probabilidade",
"face_match_score": "0.990",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"identification_number": true
}
},
"validation": {
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_NO_MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_IMAGE_UNUSABLE",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
🇧🇷 Brasil
API CNH Brasil QR Code + Pencocokan Wajah (Datavalid)
Validasi CNH Brasil via QR code dan pencocokan wajah lewat Didit. Mulai dari $0.62 per panggilan, tanpa kontrak, tanpa minimum.
POST
/
v3
/
database-validation
/
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=BRA" \
-F "services=bra_cnh_facial_qrcode" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "tax_number=11111111111" \
-F "selfie=@./selfie.jpg" \
-F "cnh_qr_code_image=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB"
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "BRA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"cnh_qrcode": "sample_value",
"date_of_birth": "1990-01-01",
"face_match_probability": "Altíssima probabilidade",
"face_match_score": "0.990",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"identification_number": true
}
},
"validation": {
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_NO_MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_IMAGE_UNUSABLE",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
SERPRO Datavalid v4 pf-facial-qrcode mendekode kode QR yang tercetak pada CNH Brasil (fisik atau digital, diterbitkan sejak Mei 2017), memvalidasi CPF + nama + tanggal lahir terhadap Receita Federal, dan mencocokkan swafoto langsung dengan potret CNH yang tersimpan di Senatran. Didit menyediakan layanan ini melalui
POST /v3/database-validation/ sehingga Anda dapat memverifikasi data yang dikirimkan terhadap sumber otoritatif dan menerima hasil pencocokan yang dinormalisasi. Format input: tax_number menerima CPF Brasil (tepat 11 digit).
Cakupan
- Cakupan: —
- Negara: Brasil
- ID layanan:
bra_cnh_facial_qrcode - Domain data: Biometrik
- Kategori: DriverLicence
Input
| Kolom | Wajib | Contoh |
|---|---|---|
tax_number | Ya | 11111111111 |
selfie | Ya | @./selfie.jpg |
cnh_qr_code_image | Ya | data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB |
first_name | Tidak | John |
last_name | Tidak | Doe |
date_of_birth | Tidak | 1990-01-01 |
vendor_data | Tidak | user-1234 |
- Input wajib:
tax_number,selfie,cnh_qr_code_image - Input opsional:
first_name,last_name,date_of_birth,vendor_data - Persetujuan: Wajib
- Ketersediaan dalam alur kerja: Tersedia dalam alur kerja
- Cakupan: —
- Harga: $0.62 per kueri yang berhasil
Parameter body
string
default:"BRA"
wajib
Kode negara ISO 3166-1 alpha-3 untuk layanan database ini.Contoh:
BRAstring
default:"bra_cnh_facial_qrcode"
wajib
Array yang berisi ID layanan ini. Menetapkan layanan ini membatasi permintaan ke database yang tepat.Contoh:
bra_cnh_facial_qrcodeboolean
default:"true"
wajib
Persetujuan eksplisit dari pengguna akhir untuk layanan ini.Contoh:
truestring
default:"11111111111"
wajib
Nomor identifikasi pajak atau fiskal.Contoh:
11111111111file
wajib
File gambar swafoto yang diunggah untuk validasi database biometrik. Format yang diterima: JPEG, PNG, atau WebP.Contoh:
@./selfie.jpgstring
wajib
Nilai
cnh_qr_code_image yang diwajibkan oleh layanan database ini.Contoh: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABstring
Nama depan yang akan divalidasi.Contoh:
Johnstring
Nama belakang yang akan divalidasi.Contoh:
Doestring
Tanggal lahir dalam format
YYYY-MM-DD.Contoh: 1990-01-01string
default:"user-1234"
Referensi pengguna tetap Anda untuk orang ini, misalnya ID pengguna internal Anda. Didit menggunakannya untuk menautkan pemeriksaan terpisah ke pengguna yang sama dan mengurangi gangguan deteksi duplikat.Contoh:
user-1234Aturan input & catatan validasi
- CPF Brasil (tepat 11 digit)
tax_numberhanya boleh berisi angka; hapus spasi, tanda hubung, dan tanda baca sebelum mengirim permintaan.tax_numberharus tepat 11 karakter.
Cara memanggilnya
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=BRA" \
-F "services=bra_cnh_facial_qrcode" \
-F "vendor_data=user-1234" \
-F "consent=true" \
-F "tax_number=11111111111" \
-F "selfie=@./selfie.jpg" \
-F "cnh_qr_code_image=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB"
Setiap pemanggilan yang berhasil mengembalikan HTTP 200. Kolom outcome_code menunjukkan apa yang sebenarnya terjadi, misalnya membedakan ketidakcocokan biometrik yang nyata (BIOMETRIC_NO_MATCH) dari swafoto yang tidak dapat dibaca (BIOMETRIC_IMAGE_UNUSABLE). status yang ditampilkan adalah status fitur default; Tindakan Partial Match / No Match yang Anda konfigurasi dapat menggantinya.MATCH: Registri mengonfirmasi identitas dan setiap kolom yang diperiksa cocok.{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "BRA",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"cnh_qrcode": "sample_value",
"date_of_birth": "1990-01-01",
"face_match_probability": "Altíssima probabilidade",
"face_match_score": "0.990",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"name_match_score": "1.000",
"verifications": {
"identification_number": true
}
},
"validation": {
"identification_number": "full_match"
}
}
]
}
NO_MATCH: Registri tidak mengembalikan kecocokan untuk data yang dikirimkan.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
BIOMETRIC_NO_MATCH: Skor pencocokan wajah berada di bawah ambang penerimaan, orang dalam swafoto bukan orang yang sama dengan orang dalam foto di registri.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_NO_MATCH",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
BIOMETRIC_IMAGE_UNUSABLE: Swafoto tidak dapat diproses (kosong, tidak ada wajah, kualitas rendah, atau registri tidak dapat membacanya). Minta pengguna untuk mengambil ulang swafoto.{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "BRA",
"match_type": "no_match",
"validations": [
{
"outcome_code": "BIOMETRIC_IMAGE_UNUSABLE",
"service_id": "bra_cnh_facial_qrcode",
"service_name": "Brazil - CNH QR code + face match (Datavalid)",
"source_data": {
"identification_number": "NO_MATCH"
},
"validation": {
"identification_number": "no_match"
}
}
]
}
Data yang dikembalikan
Kolom yang sebenarnya ditampilkan disource_data bergantung pada apa yang dikembalikan registri. Contoh yang dihasilkan untuk bra_cnh_facial_qrcode saat ini mendokumentasikan bentuk ternormalisasi berikut:
cnh_qrcodedate_of_birthface_match_probabilityface_match_scorefirst_nameidentification_numberlast_namename_match_score
Harga & SLA
Kueri kode QR CNH + pencocokan wajah Brasil (Datavalid) hanya ditagihkan ketika Didit menerima hasil yang konklusif dari sumber validasi.- Harga per pemanggilan: $0.62 USD.
- Penagihan: per kueri yang berhasil. Anda tidak dikenai biaya ketika registri tidak dapat dijangkau, ketika kolom wajib hilang, atau ketika permintaan ditolak sebelum mencapai sumber.
- Latensi: p95 tipikal < 2 s.
- Ketersediaan: 99.9% per kuartal di sisi Didit; ketersediaan sumber hilir bervariasi menurut negara dan dataset.
Lanjut membaca
Terakhir diubah pada 7 November 2026