Skip to main content

Resumo

As APIs ID Verification, Face Match e Liveness retornam um campo warnings quando o serviço de verificação sinaliza problemas não bloqueantes ou flags de risco. O KYC por sessão (POST /api/kyc/validations, GET /api/kyc/validations/:id) persiste um array warnings na validação fundindo códigos de documento, liveness, face match e AML, e pode acrescentar códigos internos Gu1 (ex.: listas ou sandbox). Os clientes podem usá-los para:
  • Exibição: Mapear cada código para uma mensagem (i18n próprio ou as descrições abaixo; no dashboard gu1 as etiquetas seguem a ordem de chaves em warningRisks e rejectionReasonCodes nos arquivos de idioma do produto).
  • Lógica: Agir por código ou enviar códigos permitidos em omitWarnings ao criar uma validação.
Nas APIs pontuais os códigos são por serviço; na validação por sessão usa-se a união dos serviços mais códigos internos. Abaixo estão os valores documentados.
Se o serviço retornar um código não listado aqui, você ainda pode recebê-lo em warnings. Trate códigos desconhecidos como avisos genéricos e exiba o código ou uma mensagem de fallback.

KYC por sessão

Em GET /api/kyc/validations/:id (e listagens), o array warnings da validação contém strings de código de risco obtidas de:
  • Etapa de verificação de documento
  • Etapa de liveness
  • Etapa de face match
  • Objetos de AML na decisão da sessão
  • Análise de dispositivo e IP na decisão da sessão (ip_analyses[] / ip_analysis)
Códigos adicionais podem ser acrescentados por regras Gu1 (ex.: listas de bloqueio da organização). O campo opcional omitWarnings em POST /api/kyc/validations usa as mesmas strings documentadas nas tabelas abaixo.

ID Verification

Retornado em POST /api/kyc/id-verification e GET /api/kyc/id-verification/verifications/:id no array warnings. Os mesmos códigos podem aparecer em validações por sessão na etapa de documento.
CódigoDescrição
ID_DOCUMENT_IN_BLOCKLISTO documento corresponde a uma entrada da sua lista de documentos bloqueados (fraudulentos, roubados ou problemáticos).
BARCODE_NOT_DETECTEDNão foi possível localizar ou ler o código de barras do documento.
BARCODE_VALIDATION_FAILEDO código de barras não pôde ser validado com os demais dados do documento.
QR_NOT_DETECTEDNão foi possível localizar ou ler o código QR do documento.
QR_VALIDATION_FAILEDO código QR não pôde ser validado com os demais dados do documento.
MRZ_NOT_DETECTEDNão foi encontrada ou lida a zona de leitura mecânica (MRZ) do documento.
MINIMUM_AGE_NOT_META idade do usuário está abaixo do mínimo exigido.
DATA_INCONSISTENTOs dados OCR e do chip NFC não coincidem; possível alteração ou inconsistência.
COULD_NOT_RECOGNIZE_DOCUMENTNão foi possível confirmar a autenticidade ou validade do documento.
PORTRAIT_IMAGE_NOT_DETECTEDNão foi possível identificar ou processar a foto do documento.
IMAGE_TOO_BLURRYA imagem do documento está muito desfocada; capture novamente com melhor foco.
IMAGE_TOO_DARKA imagem do documento está muito escura; melhore a iluminação ao capturar.
IMAGE_TOO_BRIGHTA imagem do documento está muito clara ou superexposta; evite luz direta ao capturar.
DOCUMENT_NUMBER_NOT_DETECTEDNão foi possível localizar ou ler o número do documento.
DATE_OF_BIRTH_NOT_DETECTEDNão foi possível identificar a data de nascimento no documento.
EXPIRATION_DATE_NOT_DETECTEDNão foi possível identificar a data de validade no documento.
NAME_NOT_DETECTEDNão foi possível identificar o nome e/ou sobrenome no documento.
MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAMEHá diferenças entre o MRZ e os dados extraídos por OCR; possível alteração do documento.
MRZ_VALIDATION_FAILEDO MRZ não atende ao formato esperado ou contém dados inválidos.
INVALID_DATEUma ou mais datas do documento não são válidas ou não coincidem com o formato esperado.
DOCUMENT_EXPIREDA data de validade do documento já passou.
DOCUMENT_NOT_SUPPORTED_FOR_APPLICATIONO tipo de documento não é aceito neste processo de verificação.
DOCUMENT_SIDES_MISMATCHAs faces do documento não coincidem com o formato esperado.
COULD_NOT_DETECT_DOCUMENT_TYPENão foi possível determinar o tipo de documento enviado.
DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTSO nome neste documento não coincide com o de outros documentos já verificados para este usuário.
POSSIBLE_DUPLICATED_USERO sistema identificou um possível usuário duplicado com documentos aprovados em outra sessão; investigação necessária.
LOW_FRONT_CAMERA_FACE_MATCH_SIMILARITYO rosto capturado não corresponde suficientemente à foto do documento.
FULL_NAME_MISMATCH_WITH_PROVIDEDO nome completo fornecido não coincide com o extraído do documento.
DOB_MISMATCH_WITH_PROVIDEDA data de nascimento fornecida não coincide com a do documento.
GENDER_MISMATCH_WITH_PROVIDEDO gênero fornecido não coincide com o do documento.
COUNTRY_MISMATCH_WITH_PROVIDEDO país fornecido não coincide com o do documento.
NATIONALITY_MISMATCH_WITH_PROVIDEDA nacionalidade fornecida não coincide com a do documento.
IDENTIFICATION_NUMBER_MISMATCH_WITH_PROVIDEDO número de identificação fornecido não coincide com o do documento.
SCREEN_CAPTURE_DETECTEDO documento parece ser captura de tela ou foto de documento exibido na tela, não o físico.
PRINTED_COPY_DETECTEDO documento parece ser uma cópia impressa, não o original oficial.
PORTRAIT_MANIPULATION_DETECTEDFoi detectada possível manipulação da área da foto do documento.
UNPARSED_ADDRESSO endereço do documento não pôde ser interpretado ou geolocalizado.
DOCUMENT_NUMBER_FORMAT_MISMATCHO número do documento não coincide com o formato esperado para este tipo.
PERSONAL_NUMBER_FORMAT_MISMATCHO número pessoal não coincide com o formato esperado para este tipo de documento.
ID_VERIFICATION_DATA_MISMATCH_BETWEEN_DOCUMENTSOs dados extraídos de vários documentos desta sessão não coincidem (nome ou data de nascimento).
GUENO_KYC_ORG_BLOCKLIST_HITFluxo de rejeição automática: um valor desta validação correspondeu a uma lista de bloqueio KYC da organização (sinal agregado).
GUENO_KYC_ORG_BLOCKLIST_IPLista de bloqueio KYC da organização: o IP da sessão correspondeu a uma lista de enforcement.
GUENO_KYC_ORG_BLOCKLIST_DOCUMENTLista de bloqueio KYC da organização: o número do documento correspondeu a uma lista de enforcement.
GUENO_KYC_ORG_BLOCKLIST_PERSONALLista de bloqueio KYC da organização: o número pessoal / trâmite correspondeu a uma lista de enforcement.
GUENO_KYC_ORG_MINIMUM_AGE_NOT_METPolítica de idade mínima da organização (configurações KYC): a data de nascimento extraída implica menos anos completos do que o limiar configurado; a validação fica rejeitada mesmo que o OCR tenha validado a identidade. Se não houver data de nascimento interpretável, não se aplica.

Face Match

Retornado em POST /api/kyc/face-match e GET /api/kyc/face-match/verifications/:id no array warnings.
CódigoDescrição
LOW_FACE_MATCH_SIMILARITYOs traços faciais da imagem não correspondem suficientemente à imagem de referência.
NO_REFERENCE_IMAGEFalta uma imagem de referência para a comparação facial.

Liveness (KYC por sessão)

Retornado nas respostas de validação KYC por sessão (ex.: validação atual, listagem) quando são realizadas verificações de vivacidade. O array warnings do payload pode conter estes códigos.
CódigoDescrição
FACE_IN_BLOCKLISTO rosto corresponde a uma entrada da sua lista de rostos bloqueados.
POSSIBLE_FACE_IN_BLOCKLISTO sistema identificou um possível rosto na lista de bloqueados.
LOW_LIVENESS_SCOREA verificação de vivacidade resultou em pontuação baixa.
NO_FACE_DETECTEDNão foi identificado um rosto durante a verificação de vivacidade.
LIVENESS_FACE_ATTACKFoi detectada possível tentativa de burlar a verificação de vivacidade.
DUPLICATED_FACEFoi identificado um rosto duplicado de outra sessão aprovada.
POSSIBLE_DUPLICATED_FACEEste rosto pode coincidir com outro usuário já aprovado no sistema.
MULTIPLE_FACES_DETECTEDForam detectados vários rostos na imagem. É usado o maior para a verificação. (Apenas Liveness passivo)
LOW_FACE_QUALITYA qualidade da imagem facial está abaixo do limite aceitável. (Apenas Liveness passivo)
LOW_FACE_LUMINANCEA imagem facial está muito escura. (Apenas Liveness passivo)
HIGH_FACE_LUMINANCEA imagem facial está muito clara ou superexposta. (Apenas Liveness passivo)

AML (KYC por sessão)

Quando o AML roda dentro da sessão, os códigos de risco das warnings do screening são fundidos no array warnings da validação.
CódigoDescrição
POSSIBLE_MATCH_FOUNDO screening AML encontrou possíveis coincidências com listas ou bases de alto risco; pode exigir revisão.
COULD_NOT_PERFORM_AML_SCREENINGO screening AML não pôde ser concluído com os dados disponíveis (ex.: faltam campos obrigatórios).

Análise de dispositivo e IP (KYC por sessão)

Quando a análise de dispositivo e IP roda dentro da sessão, os códigos de risco de ip_analyses[].warnings[] (ou legacy ip_analysis.warnings) são fundidos no array warnings da validação.
CódigoDescrição
PRIVATE_NETWORK_DETECTEDA sessão foi aberta via VPN, proxy ou nó de saída Tor.
COUNTRY_FROM_DOCUMENT_DOES_NOT_MATCH_COUNTRY_FROM_IPO país do documento de identidade difere do país derivado do endereço IP.
EXPECTED_IP_ADDRESS_MISMATCHO IP ao vivo difere do IP esperado informado na criação da sessão.
IP_ADDRESS_IN_BLOCKLISTO endereço IP da sessão coincide com uma entrada na blocklist de IP do provedor (força recusa no provedor).
DEVICE_FINGERPRINT_IN_BLOCKLISTA impressão digital do dispositivo coincide com uma entrada na blocklist de dispositivos do provedor (força recusa no provedor).
DUPLICATED_IP_ADDRESSO mesmo endereço IP foi usado em outra sessão com um identificador de usuário diferente (vendor_data).
DUPLICATED_DEVICE_FINGERPRINTA mesma impressão digital persistente do dispositivo foi reutilizada em sessões com identificadores de usuário diferentes.
DEVICE_RECOVERED_HIGH_CONFIDENCERecuperação de dispositivo com alta confiança: a sessão corresponde a um dispositivo visto anteriormente após mudança do ID persistente (ex.: anônimo, limpeza de armazenamento ou reinstalação).

Internos (Gu1)

Códigos que o Gu1 pode acrescentar (entidade vs OCR, política de nome, sandbox, etc.) e aparecer em warnings da validação por sessão quando aplicável.
CódigoDescrição
GUENO_DOCUMENT_NUMBER_MISMATCHO número do documento da verificação não coincide com o da entidade no momento do chequeio.
GUENO_PERSONAL_NUMBER_MISMATCHOs chequeios de documento/pessoal contra a entidade não se alinham como exigido.
GUENO_KYC_NAME_SIMILARITY_BELOW_MINA similaridade do nome da entidade com o derivado do documento está abaixo do mínimo da organização.
SANDBOX_KYC_REJECTED_DEFAULTResultado de teste em sandbox: validação rejeitada quando o tax ID coincidiu com a lista de teste.

Cruzamento com registro (Argentina / RENAPER)

Com dupla verificação RENAPER ativada, se um problema de registro for exposto como código em warnings, podem ser usadas as mesmas strings. Nos idiomas do produto costumam mapear em rejectionReasonCodes (e fallbacks onde aplicável).
CódigoDescrição
RENAPER_DNI_MISSINGNão foi possível executar o cruzamento: não há número de documento (DNI) a partir da verificação.
RENAPER_GENDER_MISSINGNão foi possível executar o cruzamento: é necessário gênero (M/F) para o registro.
RENAPER_VERIFICATION_UNAVAILABLEO registro não pôde ser concluído; tente mais tarde.
RENAPER_DNI_NOT_MATCHO número do documento não coincide com o registro oficial.
RENAPER_TRAMITE_DATA_MISSINGNão foi possível comparar o número de trâmite: faltam dados obrigatórios.
RENAPER_TRAMITE_ID_NOT_MATCHO número de trâmite não coincide com o registro (ex.: cópia de DNI desatualizada).
RENAPER_CREDENTIALS_REQUIREDFaltam credenciais RENAPER configuradas para a organização.
RENAPER_NOT_VALID_CREDENTIALSAs credenciais RENAPER não são válidas.

Exemplo de resposta (ID Verification)

{
  "status": "approved",
  "verificationId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "requestId": "req_abc",
  "extractedData": { "fullName": "Jane Doe", "documentNumber": "12345678" },
  "warnings": ["POSSIBLE_DUPLICATED_USER"]
}

Exemplo de resposta (Face Match)

{
  "match": true,
  "score": 85,
  "status": "approved",
  "verificationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "warnings": []
}

ID Verification

Verificar frente/verso do documento e extrair dados

Face Match

Comparar foto do documento e selfie