Saltar para o conteúdo principal

Visão geral

Os avisos no relatório de NFC assinalam todas as condições que a Didit observou durante a leitura e validação do chip. Ficam registados no array warnings[] em cada item de nfc_verifications[] (consulte o relatório de NFC), com feature definido como "NFC". Cada entrada segue o formato partilhado do objeto de aviso: feature, risk, additional_data, log_type, short_description, long_description, node_id. Cada aviso tem três camadas:
  1. O código risk — um identificador estável que pode usar para fazer correspondência no seu código (os códigos listados abaixo).
  2. O log_type — um de information, warning ou error. É derivado da ação que o seu fluxo configura para esse risco: Sem ação → information, Revisão → warning, Recusar → error.
  3. O impacto na decisão — a mesma ação configurada também determina o status do relatório de NFC: uma ação de Revisão altera-o para In Review, e uma ação de recusa para Declined.
Quatro riscos de NFC são configuráveis desta forma (SKIPPED_NFC_VALIDATION, NFC_CHIP_NOT_VERIFIED, NFC_TRUST_ANCHOR_MISSING, NFC_AND_OCR_DATA_NOT_SAME), além dos cinco riscos do Japan My Number Card, cada um com a sua própria configuração. Os dois riscos de certificado (DSC_CERTIFICATE_REVOKED, DSC_CERTIFICATE_EXPIRED) são apenas informativos: incluem sempre log_type: "information" e nunca alteram o estado de NFC por si próprios. O conjunto completo de códigos de risco gerados pelo módulo de NFC encontra-se abaixo. Não existem outros códigos 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.

Strings de descrição exatas

A API devolve exatamente estas strings de short_description e long_description para cada risco:

Motivos para ignorar

Os avisos SKIPPED_NFC_VALIDATION incluem additional_data.skip_reason, um dos sete códigos estáveis que indicam exatamente o motivo pelo qual o NFC não foi executado (em sessões registadas antes de existirem os motivos para ignorar, additional_data pode ser null — trate o campo como opcional ao processar decisões históricas). A mesma taxonomia surge ao nível da sessão como nfc_skip_reason no payload da decisão — inclusive nas sessões em que o NFC nunca poderia ter sido executado (documento sem chip, integração web) e, portanto, nenhum relatório ou aviso de NFC existe.
Um relatório de NFC e o respetivo aviso SKIPPED_NFC_VALIDATION só existem quando o cliente chegou à etapa de NFC e a ignorou explicitamente (tipicamente USER_SKIPPED, ou DEVICE_WITHOUT_NFC quando o leitor se revelou indisponível no momento da leitura). Quando a etapa de NFC foi contornada antes de poder sequer ser disponibilizada — documento sem chip, certificado em falta, ausência de capacidade NFC comunicada, chave MRZ ilegível, JPKI indisponível — nenhum relatório ou aviso é criado e o motivo surge apenas no campo nfc_skip_reason ao nível da sessão, sem afetar o estado da sessão.

Configuração

Três definições de fluxo controlam a forma como os avisos de NFC são encaminhados. Cada uma pode ser definida como Sem ação, Revisão ou Recusar:
  1. Ação ao ignorar NFC (skip_nfc_action) — aplica-se a SKIPPED_NFC_VALIDATION. A opção de ignorar só é disponibilizada aos utilizadores quando allow_nfc_skip está ativado.
  2. Ação para chip não verificado (unverified_chip_action) — aplica-se tanto a NFC_CHIP_NOT_VERIFIED como a NFC_TRUST_ANCHOR_MISSING, para que o comportamento do estado da sessão permaneça o mesmo enquanto o código de risco explica o motivo da falha na verificação.
  3. Ação para inconsistência de dados (inconsistent_data_action) — aplica-se a NFC_AND_OCR_DATA_NOT_SAME. Esta é a mesma definição de inconsistência de dados utilizada pela verificação de identidade.
Os dois riscos DSC_CERTIFICATE_* não têm definição de ação — são sempre informativos. Os riscos do Japan My Number Card têm mais cinco definições, listadas na secção seguinte.

Japan My Number Card (JPKI)

Um Japan My Number Card é lido através de JPKI em vez de ICAO 9303 (chip_protocol: "jpki"), pelo que os riscos ICAO acima nunca são acionados para este documento. A sua leitura gera antes estes cinco riscos, cada um com a sua própria definição no nó de NFC: Uma leitura ignorada do My Number Card gera SKIPPED_NFC_VALIDATION e segue skip_nfc_action, tal como qualquer chip. Consulte Japan My Number Card (JPKI) para saber como funciona a leitura.
A leitura de My Number Card através de JPKI ainda não está ativada em produção. Até que esteja ativada, um My Number Card ignora a etapa de NFC com o motivo para ignorar JPKI_UNAVAILABLE e nenhum destes riscos é gerado.

Exemplos

Em análise — não foi possível verificar o chip

Aqui, a ação para chip não verificado está definida como Review, pelo que NFC_CHIP_NOT_VERIFIED apresenta log_type: "warning" e o estado do relatório de NFC é In Review. A entrada de DSC expirado é meramente informativa.

Recusada — discrepância entre chip e OCR

Aqui, a ação para inconsistência de dados está definida como Decline, pelo que o aviso apresenta log_type: "error" e o estado do relatório de NFC é Declined. Note que ocr_mrz é um array de linhas MRZ, enquanto nfc_mrz é a string MRZ única concatenada do chip.

Em análise: My Number Card sem resposta de revogação

Aqui, jpki_revocation_unchecked_action mantém o seu valor predefinido, Review, pelo que o aviso apresenta log_type: "warning" e o estado do relatório de NFC é In Review. A autenticidade do próprio cartão foi comprovada: jpki.chain_valid e jpki.signature_valid são ambos true.

Tipos de aviso

A cada risco é atribuída uma gravidade com base na configuração da sua aplicação. As três gravidades são:

Conteúdo relacionado

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