Saltar para o conteúdo principal
POST
cURL

Autorizações

x-api-key
string
header
obrigatório

A chave de API da sua aplicação, a partir de Programadores -> Chaves de API na Business Console. A chave principal tem acesso total. Uma chave nomeada pode ter o âmbito definido: nenhum, leitura ou escrita por recurso, limitada a alguns fluxos ou a sessões aprovadas, a uma lista de endereços IP e a uma data de validade. 401 significa que a chave está incorreta, revogada ou expirada; 403 significa que nenhuma chave foi enviada, que a chave não tem acesso a este recurso ou ação, ou que o pedido veio de um endereço fora da sua lista de IP; 404 numa rota de sessão significa que a sessão está fora dos fluxos ou estados da chave. Uma chave sem acesso a multimédia recebe URLs de imagens, vídeos e PDFs como nulos, e uma chave sem permissão de escrita em sessões recebe ligações de sessão e tokens como nulos. Consulte https://docs.didit.me/console/api-keys.

Corpo

multipart/form-data
document
file
obrigatório

O documento de Comprovativo de morada. Extensões permitidas: tiff, jpg, jpeg, png, pdf, webp. Tamanho máximo de carregamento: 15 MB (ficheiros maiores são rejeitados com 400). São suportados PDFs de várias páginas (espere uma latência mais elevada); PDFs encriptados exigem document_password. As imagens são comprimidas automaticamente antes do processamento.

document_password
string
write-only

Palavra-passe para desencriptar document quando for um PDF encriptado. O envio de um PDF encriptado sem palavra-passe (ou com uma incorreta) devolve 400.

expected_address
string

Morada a verificar contra o documento. É geocodificada e comparada com a morada extraída; uma divergência (ou uma morada esperada que não possa ser geocodificada/verificada) adiciona ADDRESS_MISMATCH_WITH_PROVIDED, regido por poa_address_mismatch_action. A forma geocodificada é devolvida em expected_details_formatted_address / expected_details_parsed_address.

Exemplo:

"Av. Monseñor Tavella 1291, Salta, Argentina"

expected_country
string

País a verificar em relação ao documento (código ISO 3166-1, por ex., ARG ou AR). Uma discrepância com o país do documento adiciona POA_COUNTRY_MISMATCH_WITH_PROVIDED, o que é regido por poa_address_mismatch_action.

Exemplo:

"ARG"

expected_first_name
string

Primeiro nome a verificar contra name_on_document (correspondência difusa, sensível a transliteração). Uma pontuação abaixo do limiar de correspondência adiciona NAME_MISMATCH_WITH_PROVIDED, regido por poa_address_mismatch_action.

Exemplo:

"Sophia"

expected_last_name
string

Apelido a verificar face a name_on_document, combinado com expected_first_name para a pontuação de correspondência.

Exemplo:

"Martinez"

poa_languages_allowed
string

Lista separada por vírgulas de idiomas de documentos aceites como códigos ISO 639-1 (por exemplo, en,es,fr). Quando omitida ou em branco, são aceites todos os 51 idiomas suportados. Um documento num idioma fora da lista adiciona UNSUPPORTED_DOCUMENT_LANGUAGE (regulado por poa_unsupported_language_action); um código desconhecido na lista devolve 400 com o conjunto completo de códigos suportados.

Exemplo:

"en,es"

poa_document_age_months
string

Pares key:value separados por vírgulas que definem a idade máxima do documento em meses por tipo de documento — chaves: utility_bill, bank_statement, government_issued_document, other_poa_document; valores: 1–120, ou -1 para ilimitado (sem verificação da idade). Valores predefinidos se omitido: utility_bill:3,bank_statement:3,government_issued_document:12,other_poa_document:12. Um documento mais antigo do que o seu limite é recusado com POA_DOCUMENT_EXPIRED. Atenção: ao fornecer este campo, liste todos os tipos que aceita — os tipos omitidos são tratados como não aceites (informativo POA_DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION) e a respetiva verificação da idade é ignorada.

Exemplo:

"utility_bill:3,bank_statement:6"

poa_name_mismatch_action
enum<string>
padrão:DECLINE

Aceite, mas atualmente não aplicado — os avisos de não correspondência de nome (NAME_MISMATCH_WITH_PROVIDED) seguem poa_address_mismatch_action. Defina poa_address_mismatch_action para controlar o comportamento de não correspondência tanto de nome como de morada.

Opções disponíveis:
DECLINE,
NO_ACTION
poa_document_issues_action
enum<string>
padrão:DECLINE

O que fazer perante problemas de integridade do ficheiro — na prática, apenas DOCUMENT_METADATA_MISMATCH é gerado por este endpoint.

Opções disponíveis:
DECLINE,
NO_ACTION
poa_document_authenticity_action
enum<string>
padrão:DECLINE

O que fazer quando houver suspeita de manipulação do documento (SUSPECTED_DOCUMENT_MANIPULATION) — por ex., o PDF foi modificado após assinatura digital, processado por um editor de PDF conhecido, apresenta manipulação de texto sobreposto ou tem datas EXIF inconsistentes. Também rege POA_DOCUMENT_UNPROVEN_TEXT_REPLACEMENT (um campo de texto redigitado que o ficheiro não consegue comprovar se foi alterado ou não): DECLINE também o recusa, NO_ACTION mantém-no como aviso.

Opções disponíveis:
DECLINE,
NO_ACTION
poa_unsupported_language_action
enum<string>
padrão:DECLINE

O que fazer quando o idioma do documento está fora de poa_languages_allowed (UNSUPPORTED_DOCUMENT_LANGUAGE).

Opções disponíveis:
DECLINE,
NO_ACTION
poa_address_mismatch_action
enum<string>
padrão:DECLINE

O que fazer quando os detalhes extraídos não coincidem com os campos expected_*: ADDRESS_MISMATCH_WITH_PROVIDED, NAME_MISMATCH_WITH_PROVIDED e POA_COUNTRY_MISMATCH_WITH_PROVIDED seguem todos esta ação.

Opções disponíveis:
DECLINE,
NO_ACTION
poa_issuer_not_identified_action
enum<string>
padrão:DECLINE

O que fazer quando não for possível identificar nenhuma empresa/organização emissora no documento (ISSUER_NOT_IDENTIFIED).

Opções disponíveis:
DECLINE,
NO_ACTION
save_api_request
boolean
padrão:true

Quando for true (predefinição), persiste a chamada como uma sessão do tipo API — visível na Business Console, recuperável através de GET /v3/session/{sessionId}/decision/ utilizando o request_id devolvido, anunciada através de um webhook status.updated e com o documento carregado armazenado. Quando for false, nada é armazenado e request_id é um UUID transitório apenas para correlação de respostas.

Exemplo:

true

vendor_data
string

String opaca opcional (o seu ID de utilizador interno, e-mail, UUID...) guardada na sessão persistida e devolvida na resposta. Utilize-a para correlacionar chamadas de API com os seus próprios registos e para filtrar sessões mais tarde.

Exemplo:

"user-123"

metadata
object

Objeto JSON opcional armazenado com a sessão (quando save_api_request=true) e devolvido na resposta. Em pedidos multipart, envie-o como um campo de texto codificado em JSON (por exemplo, metadata={"flow":"onboarding"}) — é convertido num objeto.

Exemplo:

Resposta

Documento processado. poa.status é Approved ou Declined; cada problema detetado é discriminado em poa.warnings. Um documento expirado, que não corresponde ou suspeito continua a devolver 200 com status: "Declined" — inspecione o corpo, não apenas o código HTTP. Quando save_api_request=true, request_id é o id da sessão persistida.

request_id
string<uuid>

ID da sessão persistida quando save_api_request=true (utilizável com GET /v3/session/{sessionId}/decision/); caso contrário, um UUID de correlação transitório.

poa
object
vendor_data
string | null

Eco do vendor_data que enviou, ou null.

metadata
object | null

Eco do objeto metadata que enviou, ou null.

created_at
string<date-time>

Carimbo de data/hora ISO 8601 (UTC) de quando a resposta foi gerada.

Última modificação em 7 de novembro de 2026