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 arraywarnings[] 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:
- O código
risk— um identificador estável que pode usar para fazer correspondência no seu código (os códigos listados abaixo). - O
log_type— um deinformation,warningouerror. É derivado da ação que o seu fluxo configura para esse risco: Sem ação →information, Revisão →warning, Recusar →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 altera-o paraIn Review, e uma ação de recusa paraDeclined.
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 deshort_description e long_description para cada risco:
Motivos para ignorar
Os avisosSKIPPED_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:- Ação ao ignorar NFC (
skip_nfc_action) — aplica-se aSKIPPED_NFC_VALIDATION. A opção de ignorar só é disponibilizada aos utilizadores quandoallow_nfc_skipestá ativado. - Ação para chip não verificado (
unverified_chip_action) — aplica-se tanto aNFC_CHIP_NOT_VERIFIEDcomo aNFC_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. - Ação para inconsistência de dados (
inconsistent_data_action) — aplica-se aNFC_AND_OCR_DATA_NOT_SAME. Esta é a mesma definição de inconsistência de dados utilizada pela verificação de identidade.
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.
Exemplos
Em análise — não foi possível verificar o chip
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
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
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
- Relatório de NFC — esquema completo e estados do relatório.
- Webhooks — o evento
status.updatedé acionado em alterações de estado da sessão; o payload de decisão (incluindo avisos de NFC) é anexado quando a sessão atinge Approved, Declined, In Review ou Abandoned. - Modelos de dados — Verificação NFC — esquema canónico campo a campo.
- Modelos de dados — Objeto Warning — a estrutura de cada entrada em
warnings[].