Visão geral
Os avisos no relatório de NFC sinalizam cada condição que a Didit observou ao ler e validar o chip. Eles ficam no arraywarnings[] de cada item de nfc_verifications[] (consulte o relatório de NFC), com feature definido como "NFC". Cada entrada segue o formato compartilhado do objeto de aviso: feature, risk, additional_data, log_type, short_description, long_description, node_id.
Todo aviso tem três camadas:
- O código
risk: um identificador estável que você pode usar para correspondência no seu código (os códigos listados abaixo). - O
log_type: um entreinformation,warningouerror. Ele é derivado da ação que o seu fluxo configura para esse risco: No action →information, Review →warning, Decline →error. - O impacto na decisão: a mesma ação configurada também determina o
statusdo relatório de NFC: uma ação de Revisão o move paraIn Review, e uma ação de Recusar, paraDeclined.
SKIPPED_NFC_VALIDATION, NFC_CHIP_NOT_VERIFIED, NFC_TRUST_ANCHOR_MISSING, NFC_AND_OCR_DATA_NOT_SAME), além dos cinco riscos do My Number Card do Japão, cada um com sua própria configuração. Os dois riscos de certificado (DSC_CERTIFICATE_REVOKED, DSC_CERTIFICATE_EXPIRED) são apenas informativos: eles sempre têm log_type: "information" e nunca alteram o status de NFC por si só.
O conjunto completo de códigos de risco que o módulo de NFC produz está abaixo. Não existe nenhum outro código de risco de NFC.
Avisos gerados
SKIPPED_NFC_VALIDATION é mutuamente exclusivo com NFC_CHIP_NOT_VERIFIED e NFC_TRUST_ANCHOR_MISSING: os avisos de verificação do chip só são avaliados quando a leitura do chip não foi ignorada. Os dois avisos de verificação do chip também são mutuamente exclusivos entre si.Textos de descrição exatos
A API retorna exatamente estes textos deshort_description e long_description para cada risco:
Motivos de omissão
Os avisosSKIPPED_NFC_VALIDATION trazem additional_data.skip_reason, um entre sete códigos estáveis que informam exatamente por que o NFC não foi executado. Em sessões registradas antes da existência dos motivos de omissão, additional_data pode ser null, por isso trate o campo como opcional ao processar decisões históricas. A mesma classificação aparece no nível da sessão como nfc_skip_reason no payload da decisão. Isso vale também para sessões em que o NFC nunca poderia ser executado (documento sem chip, integração web) e em que, portanto, não existe relatório nem aviso de NFC.
Um relatório de NFC e seu aviso
SKIPPED_NFC_VALIDATION só existem quando o cliente chegou à etapa de NFC e a pulou explicitamente (normalmente USER_SKIPPED, ou DEVICE_WITHOUT_NFC quando o leitor se revelou indisponível no momento da leitura). Quando a etapa de NFC foi ignorada antes de poder ser oferecida (documento sem chip, certificado ausente, nenhuma capacidade NFC informada, chave da MRZ ilegível, JPKI indisponível), nenhum relatório ou aviso é criado e o motivo aparece apenas no campo nfc_skip_reason no nível da sessão, sem afetar o status da sessão.Configuração
Três configurações do fluxo controlam como os avisos de NFC são encaminhados. Cada uma pode ser definida como Sem ação, Revisão ou Recusar:- Skip NFC action (
skip_nfc_action): aplica-se aSKIPPED_NFC_VALIDATION. A opção de pular só é oferecida aos usuários quandoallow_nfc_skipestá habilitado. - Unverified chip action (
unverified_chip_action): aplica-se tanto aNFC_CHIP_NOT_VERIFIEDquanto aNFC_TRUST_ANCHOR_MISSING, de modo que o comportamento do status da sessão continua o mesmo, enquanto o código de risco explica por que a verificação falhou. - Data inconsistency action (
inconsistent_data_action): aplica-se aNFC_AND_OCR_DATA_NOT_SAME. É a mesma configuração de inconsistência de dados usada pela verificação de identidade.
DSC_CERTIFICATE_* não têm configuração de ação: são sempre informativos. Os riscos do Cartão My Number do Japão têm mais cinco configurações, listadas na próxima seção.
Cartão My Number do Japão (JPKI)
Um Cartão My Number do Japão é lido por meio do JPKI em vez do ICAO 9303 (chip_protocol: "jpki"), então os riscos ICAO acima nunca são disparados para ele. Em vez disso, sua leitura gera estes cinco riscos, cada um com sua própria configuração no nó de NFC:
Uma leitura ignorada do Cartão My Number gera
SKIPPED_NFC_VALIDATION e segue skip_nfc_action, como qualquer chip. Consulte Cartão My Number do Japão (JPKI) para saber como a leitura funciona.
Exemplos
Em revisão: não foi possível verificar o chip
NFC_CHIP_NOT_VERIFIED traz log_type: "warning" e o status do relatório NFC é In Review. A entrada de DSC expirado é apenas informativa.
Recusado: divergência entre chip e OCR
log_type: "error" e o status do relatório NFC é Declined. Observe que ocr_mrz é um array de linhas da MRZ, enquanto nfc_mrz é a string única e concatenada da MRZ do chip.
Em revisão: My Number Card sem resposta de revogação
jpki_revocation_unchecked_action mantém seu padrão, Review, então o aviso traz log_type: "warning" e o status do relatório NFC é In Review. A autenticidade do cartão foi comprovada: jpki.chain_valid e jpki.signature_valid são ambos true.
Tipos de aviso
Cada risco recebe um nível de severidade com base na configuração da sua aplicação. As três severidades são:Relacionados
- Relatório NFC: esquema completo do relatório e status.
- Webhooks:
status.updatedé disparado quando o status da sessão muda; o payload da decisão (incluindo os avisos de NFC) é anexado quando a sessão chega a Approved, Declined, In Review ou Abandoned. - Modelos de dados: Verificação NFC: esquema canônico, campo por campo.
- Modelos de dados: Objeto de aviso: o formato de cada entrada em
warnings[].