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": {}
}
]
}
🇿🇦 África do Sul
Verificação de carteira de motorista na África do Sul API
Verifique carteiras de motorista da África do Sul na base oficial via Didit. A partir de $0.80 por chamada, sem contratos nem mínimos.
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 uma carteira de habilitação sul-africana no registro do NATIS / Department of Transport. A Didit disponibiliza este serviço por meio de
POST /v3/database-validation/ para que você verifique os dados enviados na fonte oficial e receba resultados de correspondência normalizados.
Cobertura
- Cobertura: —
- País: África do Sul
- ID do serviço:
zaf_drivers_license - Domínio de dados: Identidade
- Categoria: DriverLicence
Entradas
| Campo | Obrigatório | Exemplo |
|---|---|---|
national_id | Sim | SAMPLE-NID-12345 |
last_name | Sim | Doe |
initials | Sim | JD |
licence_number | Sim | LIC123456 |
first_name | Não | John |
date_of_birth | Não | 1990-01-01 |
vendor_data | Não | user-1234 |
- Entradas obrigatórias:
national_id,last_name,initials,licence_number - Entradas opcionais:
first_name,date_of_birth,vendor_data - Consentimento: Não obrigatório
- Disponibilidade no fluxo de verificação (workflow): Disponível no fluxo com mapeamento de campos
- Cobertura: —
- Preço: $0.80 por consulta bem-sucedida
initials e licence_number não vêm impressos em um documento de identidade, então nenhuma etapa os produz por conta própria. Colete-os de uma resposta de Questionário, de um campo de extração do Document AI ou de um valor que você envia ao criar a sessão, e mapeie cada um deles na etapa de Validação de banco de dados. Enquanto não estiverem mapeados, o editor de fluxos mostra este serviço como desativado e indica a entrada que falta; em tempo de execução, uma entrada ausente faz com que a verificação seja ignorada antes de qualquer consulta, então você nunca é cobrado por um banco de dados que não pôde ser consultado.
Parâmetros do corpo
string
padrão:"ZAF"
obrigatório
Código de país ISO 3166-1 alfa-3 deste serviço de banco de dados.Exemplo:
ZAFstring
padrão:"zaf_drivers_license"
obrigatório
Array que contém este ID de serviço. A fixação do serviço mantém a requisição restrita a este banco de dados específico.Exemplo:
zaf_drivers_licensestring
padrão:"SAMPLE-NID-12345"
obrigatório
Número de identidade nacional para este serviço.Exemplo:
SAMPLE-NID-12345string
padrão:"Doe"
obrigatório
Sobrenome a ser validado.Exemplo:
Doestring
padrão:"JD"
obrigatório
Valor de
initials exigido por este serviço de banco de dados.Exemplo: JDstring
padrão:"LIC123456"
obrigatório
Valor de
licence_number exigido por este serviço de banco de dados.Exemplo: LIC123456string
Nome a ser validado.Exemplo:
Johnstring
Data de nascimento no formato
YYYY-MM-DD.Exemplo: 1990-01-01string
padrão:"user-1234"
Sua referência de usuário estável para esta pessoa, como seu ID interno de usuário. A Didit a usa para vincular verificações avulsas ao mesmo usuário final e reduzir o ruído na detecção de duplicados.Exemplo:
user-1234Regras de entrada e notas de validação
- Envie os campos listados acima exatamente como foram capturados do usuário ou do documento.
- A Didit valida os campos obrigatórios antes de chamar o banco de dados. Requisições rejeitadas antes da consulta à fonte não são cobradas.
Como chamar
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"
Toda chamada bem-sucedida retorna HTTP 200. O campo outcome_code informa o que realmente aconteceu, distinguindo, por exemplo, uma divergência biométrica real (BIOMETRIC_NO_MATCH) de uma selfie que não pôde ser lida (BIOMETRIC_IMAGE_UNUSABLE). O status exibido é o status padrão do recurso; as ações de Correspondência parcial / Sem correspondência que você configurou podem sobrescrevê-lo.MATCH: o registro retornou um cadastro de habilitação para este número de habilitação e os dados enviados corresponderam a ele.{
"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: o registro buscou a habilitação e a informou como não válida. Sua ação para ausência de correspondência é aplicada.{
"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: o registro aceitou a consulta, mas não retornou nenhum cadastro de habilitação com o qual comparar os dados enviados; portanto, nada sobre a habilitação é confirmado e a verificação é enviada para revisão, inclusive quando outro serviço na mesma requisição teve correspondência com a pessoa.{
"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": {}
}
]
}
Dados retornados
Os campos exatos exibidos emsource_data dependem do que o registro retorna. O exemplo gerado para zaf_drivers_license documenta atualmente este formato normalizado:
expiration_datefirst_nameidentification_numberlast_namelicence_validvehicle_codes
Preços e SLAs
As consultas de verificação de carteira de habilitação da África do Sul são cobradas somente quando a Didit recebe um resultado conclusivo da fonte de validação.- Preço por chamada: $0.80 USD.
- Faturamento: por consulta bem-sucedida. Você não é cobrado quando o registro está inacessível, quando faltam campos obrigatórios ou quando a requisição é rejeitada antes de chegar à fonte.
- Latência: p95 típico < 2 s.
- Disponibilidade: 99.9% por trimestre do lado da Didit; a disponibilidade da fonte varia conforme o país e o conjunto de dados.
O que cada resultado significa
Esta verificação consulta o registro de carteiras de habilitação sobre o número da licença que você envia, junto com o número de identificação sul-africano, o sobrenome e as iniciais. O resultado depende do que o registro retorna:MATCH- o registro retornou um registro de licença para este número de licença, e os dados que você enviou corresponderam a ele.source_datatraz o registro:identification_number(o número da licença),first_nameelast_name,vehicle_codes(as categorias da licença, por exemploEB,C1) eexpiration_date(a data de validade do cartão da licença).INCONCLUSIVE- o registro aceitou a consulta, mas não retornou nenhum registro de licença, então não havia nada com que comparar os dados enviados.source_data.licence_validétrue,validationfica vazio ematch_typeénull. Nada sobre a licença é confirmado, por isso a verificação é enviada para revisão. Isso vale também quando outro serviço na mesma requisição, como a verificação da identidade nacional, encontrou correspondência para a pessoa, porque isso confirma a pessoa, e não a licença.NO_MATCH- o registro buscou a licença e a informou como não válida (source_data.licence_valid: false). A ação que você configurou para não correspondência é aplicada.REGISTRY_ERROR- o registro não executou a busca, então nada foi apurado sobre a licença. A verificação é enviada para revisão e não é cobrada.
MATCH deve ser apresentado aos seus usuários como “a licença é válida e está regular”. expiration_date, quando o registro a retorna, é o único dado relacionado à situação da licença que você recebe. Compare-a com a data da sessão para decidir se a licença expirou e trate isso como uma regra sua, e não como parte do resultado da correspondência.
Se precisar declarar isso em termos e condições, use esta redação: a Didit verifica os dados da licença no registro nacional e, quando o registro retorna um registro de licença, verifica suas categorias e data de validade, mas não confirma que o titular está habilitado a dirigir hoje.
Continue lendo
Última modificação em 1 de novembro de 2026