curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ZAF" \
-F "services=zaf_drivers_license" \
-F "vendor_data=user-1234" \
-F "national_id=SAMPLE-NID-12345" \
-F "last_name=Doe" \
-F "initials=JD" \
-F "licence_number=LIC123456"
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "ZAF",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"expiration_date": "2030-05-31",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"vehicle_codes": "EB"
},
"validation": {
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "ZAF",
"match_type": null,
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"licence_valid": false
},
"validation": {}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "ZAF",
"match_type": null,
"validations": [
{
"outcome_code": "INCONCLUSIVE",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"licence_valid": true
},
"validation": {}
}
]
}
🇿🇦 Sudafrica
Verifica patente di guida Sudafrica - API Didit
Verifica della patente di guida sudafricana su database ufficiale con Didit. Da $0.80 a chiamata, senza contratti né minimi.
POST
/
v3
/
database-validation
/
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ZAF" \
-F "services=zaf_drivers_license" \
-F "vendor_data=user-1234" \
-F "national_id=SAMPLE-NID-12345" \
-F "last_name=Doe" \
-F "initials=JD" \
-F "licence_number=LIC123456"
{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "ZAF",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"expiration_date": "2030-05-31",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"vehicle_codes": "EB"
},
"validation": {
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "ZAF",
"match_type": null,
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"licence_valid": false
},
"validation": {}
}
]
}
{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "ZAF",
"match_type": null,
"validations": [
{
"outcome_code": "INCONCLUSIVE",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"licence_valid": true
},
"validation": {}
}
]
}
Verifica una patente di guida sudafricana rispetto al registro NATIS / del Dipartimento dei Trasporti. Didit espone questo servizio tramite
POST /v3/database-validation/ per confrontare i dati inviati con la fonte ufficiale e ricevere risultati di corrispondenza normalizzati.
Copertura
- Copertura: —
- Paese: Sudafrica
- ID servizio:
zaf_drivers_license - Dominio dei dati: Identità
- Categoria: DriverLicence
Input
| Campo | Obbligatorio | Esempio |
|---|---|---|
national_id | Sì | SAMPLE-NID-12345 |
last_name | Sì | Doe |
initials | Sì | JD |
licence_number | Sì | LIC123456 |
first_name | No | John |
date_of_birth | No | 1990-01-01 |
vendor_data | No | user-1234 |
- Input obbligatori:
national_id,last_name,initials,licence_number - Input facoltativi:
first_name,date_of_birth,vendor_data - Consenso: non richiesto
- Disponibilità nel workflow: disponibile nel workflow con mappatura dei campi
- Copertura: —
- Prezzo: $0.80 per query riuscita
initials e licence_number non sono stampati su un documento di identità, quindi nessun passaggio li produce da solo. Raccoglili da una risposta a un Questionario, da un campo estratto tramite Document AI, oppure da un valore che invii al momento della creazione della sessione, e mappa ciascuno di essi nel passaggio di Validazione su database. Finché non sono mappati, l’editor del workflow mostra questo servizio disabilitato e indica l’input mancante. In fase di esecuzione, un input mancante fa sì che il controllo venga saltato prima di qualsiasi query, quindi non ti viene mai addebitato alcun costo per un database che non è stato possibile interrogare.
Parametri del corpo
string
predefinito:"ZAF"
obbligatorio
Codice paese ISO 3166-1 alpha-3 per questo servizio di database.Esempio:
ZAFstring
predefinito:"zaf_drivers_license"
obbligatorio
Array che contiene l’ID di questo servizio. Fissare il servizio mantiene la richiesta limitata a questo specifico database.Esempio:
zaf_drivers_licensestring
predefinito:"SAMPLE-NID-12345"
obbligatorio
Numero di identità nazionale per questo servizio.Esempio:
SAMPLE-NID-12345string
predefinito:"Doe"
obbligatorio
Cognome da validare.Esempio:
Doestring
predefinito:"JD"
obbligatorio
Valore di
initials richiesto da questo servizio di database.Esempio: JDstring
predefinito:"LIC123456"
obbligatorio
Valore di
licence_number richiesto da questo servizio di database.Esempio: LIC123456string
Nome da validare.Esempio:
Johnstring
Data di nascita nel formato
YYYY-MM-DD.Esempio: 1990-01-01string
predefinito:"user-1234"
Il tuo riferimento stabile per questa persona, ad esempio il tuo ID utente interno. Didit lo usa per collegare i controlli autonomi allo stesso utente finale e ridurre il rumore nel rilevamento dei duplicati.Esempio:
user-1234Regole sugli input e note di validazione
- Invia i campi elencati sopra esattamente come sono stati acquisiti dall’utente o dal documento.
- Didit valida i campi obbligatori prima di interrogare il database. Le richieste rifiutate prima della ricerca nella fonte non vengono addebitate.
Come effettuare la chiamata
curl -X POST "https://verification.didit.me/v3/database-validation/" \
-H "x-api-key: YOUR_API_KEY" \
-F "issuing_state=ZAF" \
-F "services=zaf_drivers_license" \
-F "vendor_data=user-1234" \
-F "national_id=SAMPLE-NID-12345" \
-F "last_name=Doe" \
-F "initials=JD" \
-F "licence_number=LIC123456"
Ogni chiamata riuscita restituisce HTTP 200. Il campo outcome_code indica cosa è effettivamente successo, distinguendo ad esempio una vera mancata corrispondenza biometrica (BIOMETRIC_NO_MATCH) da un selfie non leggibile (BIOMETRIC_IMAGE_UNUSABLE). Lo status mostrato è lo stato predefinito della funzionalità; le azioni configurate per la corrispondenza parziale / la mancata corrispondenza possono sostituirlo.MATCH: il registro ha restituito un record della patente per questo numero di patente e i dati inviati corrispondono.{
"request_id": "req_01H…",
"status": "Approved",
"issuing_state": "ZAF",
"match_type": "full_match",
"validations": [
{
"outcome_code": "MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"expiration_date": "2030-05-31",
"first_name": "John",
"identification_number": "SAMPLE-ID-12345",
"last_name": "Doe",
"vehicle_codes": "EB"
},
"validation": {
"full_name": "full_match",
"identification_number": "full_match"
}
}
]
}
NO_MATCH: il registro ha cercato la patente e l’ha segnalata come non valida. Si applica la tua azione per la mancata corrispondenza.{
"request_id": "req_01H…",
"status": "Declined",
"issuing_state": "ZAF",
"match_type": null,
"validations": [
{
"outcome_code": "NO_MATCH",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"licence_valid": false
},
"validation": {}
}
]
}
INCONCLUSIVE: il registro ha accettato la query ma non ha restituito alcun record della patente con cui confrontare i dati inviati, quindi nulla della patente è confermato e il controllo viene inviato in revisione, anche quando un altro servizio della stessa richiesta ha dato una corrispondenza con la persona.{
"request_id": "req_01H…",
"status": "In Review",
"issuing_state": "ZAF",
"match_type": null,
"validations": [
{
"outcome_code": "INCONCLUSIVE",
"service_id": "zaf_drivers_license",
"service_name": "South Africa - Driving License Verification",
"source_data": {
"licence_valid": true
},
"validation": {}
}
]
}
Dati restituiti
I campi esatti esposti insource_data dipendono da ciò che restituisce il registro. Lo schema generato per zaf_drivers_license documenta attualmente questa struttura normalizzata:
expiration_datefirst_nameidentification_numberlast_namelicence_validvehicle_codes
Prezzi e SLA
Le query di verifica della patente di guida sudafricana vengono fatturate solo quando Didit riceve un risultato conclusivo dalla fonte di validazione.- Prezzo per chiamata: $0.80 USD.
- Fatturazione: per query riuscita. Non ti viene addebitato nulla quando il registro non è raggiungibile, quando mancano campi obbligatori o quando la richiesta viene rifiutata prima di raggiungere la fonte.
- Latenza: p95 tipico < 2 s.
- Disponibilità: 99.9% per trimestre da parte di Didit; la disponibilità della fonte a valle varia in base al paese e al dataset.
Significato di ciascun esito
Questo controllo interroga il registro delle patenti di guida con il numero di patente che invii, insieme al numero di identità sudafricano, al cognome e alle iniziali. L’esito dipende da ciò che restituisce il registro:MATCH- il registro ha restituito un record della patente per questo numero di patente e i dati inviati corrispondono.source_datacontiene il record:identification_number(il numero di patente),first_nameelast_name,vehicle_codes(le categorie della patente, ad esempioEB,C1) eexpiration_date(la data di scadenza della tessera della patente).INCONCLUSIVE- il registro ha accettato la richiesta ma non ha restituito alcun record della patente, quindi non c’era nulla con cui confrontare i dati inviati.source_data.licence_validètrue,validationè vuoto ematch_typeènull. Non viene confermato alcun aspetto della patente, quindi il controllo viene inviato a revisione, anche quando un altro servizio nella stessa richiesta, come il controllo del documento d’identità nazionale, ha trovato una corrispondenza per la persona, perché questo conferma la persona e non la patente.NO_MATCH- il registro ha cercato la patente e l’ha segnalata come non valida (source_data.licence_valid: false). Si applica la tua azione per il caso di mancata corrispondenza.REGISTRY_ERROR- il registro non ha eseguito la ricerca, quindi nulla è stato accertato sulla patente. Il controllo viene inviato a revisione e non viene fatturato.
MATCH non deve essere presentato agli utenti come “la patente è valida e in regola”. expiration_date, quando il registro lo restituisce, è l’unico dato che ottieni rilevante ai fini dello stato della patente: confrontalo con la data della sessione per stabilire se la patente è scaduta, e considera questa verifica una regola tua e non parte dell’esito di corrispondenza.
Se devi indicarlo nei termini e condizioni, formulalo così: Didit verifica i dati della patente nel registro nazionale e, quando il registro restituisce un record della patente, le sue categorie e la data di scadenza, non che Didit confermi che il titolare sia abilitato a guidare oggi.
Continua a leggere
Ultima modifica il 7 novembre 2026