Visão geral
Os avisos no relatório de correspondência facial assinalam todas as condições que a Didit observou durante a comparação facial 1:1. Estes são incluídos no arraywarnings[] de cada item de face_matches[] (consulte Relatório de correspondência facial). Cada entrada contém também feature: "FACEMATCH" e o node_id do nó do fluxo que a originou.
Cada aviso tem três camadas:
- O código de
risk— um identificador estável com o qual pode fazer correspondência no seu código. - O
log_type—information,warningouerror, derivado dos limiares de pontuação de semelhança do seu fluxo. - O impacto na decisão — definido pelos limiares de revisão e de recusa do fluxo para a pontuação de semelhança.
Condições de recusa automática
O seguinte risco força sempre o relatório de correspondência facial (e a sessão) paraDeclined:
Quando
NO_REFERENCE_IMAGE é acionado, LOW_FACE_MATCH_SIMILARITY é suprimido (não há nada para pontuar).
Existe uma exceção.
Quando o passo de identificação foi concluído através de uma consulta sem documento cujo registo não devolve qualquer retrato nem verifica nenhuma face, a Correspondência facial não tem, por conceção, qualquer imagem contra a qual comparar a captura em direto.
Isto é reportado como FACE_MATCH_NOT_COMPUTED com uma pontuação null e a decisão é determinada por face_match_not_computed_action (abaixo), e não como uma recusa automática.
Definições de verificação configuráveis
Na consola da Didit, a pontuação de semelhança da correspondência facial é regulada por dois limiares (sem alternador de Aprovar/Revisão/Recusar):
Aumente o limiar de revisão se observar demasiadas aprovações falsas; reduza o limiar de recusa se observar demasiadas recusas falsas.
Uma definição separada controla o que acontece quando uma pontuação de semelhança não pode ser calculada de todo: nenhuma face foi detetada numa das imagens, ou uma consulta sem documento não deixou qualquer referência para comparação:
Esta ação rege
FACE_MATCH_NOT_COMPUTED (ausência de face no retrato do documento ou ausência total de referência após uma consulta sem documento) e um NO_FACE_IN_SELFIE esgotado (nenhuma face na selfie após as novas tentativas do utilizador). Quando o problema é a selfie, pede-se primeiro ao utilizador que efetue uma nova captura — ver abaixo — e a ação só se aplica se ainda não for possível detetar uma face depois de esgotado o limite de tentativas.
As falhas por baixa semelhança também entram num ciclo de nova tentativa de captura antes de o estado se fixar: o utilizador tem até face_match_max_attempts tentativas totais (3 por predefinição, configurável de 2 a 5 por nó do fluxo) para recapturar. Uma falha de NO_FACE_IN_SELFIE utiliza o mesmo ciclo de tentativas, dado que recapturar uma selfie mais nítida pode resolver o problema. Uma falha de FACE_MATCH_NOT_COMPUTED não permite novas tentativas — o retrato do documento não pode ser recapturado neste passo. O estado da última tentativa só se aplica quando o limite de tentativas estiver esgotado — sendo registado FACE_MATCH_MAX_ATTEMPTS_EXCEEDED.
Na API de Correspondência facial autónoma existe apenas um limiar de recusa (opção de pedido face_match_score_decline_threshold, predefinição 30); qualquer aviso acionado recusa o pedido, e NO_REFERENCE_IMAGE é acionado quando não foi possível comparar nenhuma face.
Avisos gerados
Exemplos
Em análise — similaridade no limiar
Em análise — não foi possível calcular a correspondência facial
Recusa automática — referência em falta
Tentativas esgotadas — estado da última tentativa aplicado
A Face Match API autónoma devolve o mesmo formato de aviso, exceto
node_id (a comparação não está vinculada a um nó de fluxo).Tipos de aviso
É atribuída uma gravidade a cada risco com base na configuração da sua aplicação. As três gravidades são:Relacionado
- Relatório de correspondência facial — esquema e estados completos do relatório.
- Avisos de prova de vida — avisos a montante na captura da selfie.
- Webhooks —
session.status.updatedtransmite os avisos assim que o passo termina. - Modelos de dados — Correspondência facial — esquema canónico.
- Modelos de dados — Objeto de aviso — a estrutura de cada entrada em
warnings[].