Consulta do status da análise

stable

Este endpoint possibilita consultar o status da análise dos documentos enviados pelo endpoint Envio de documentos pessoais.

A consulta de status é um passo imprescindível antes de iniciar a etapa de registro do cliente e antes do envio de cada imagem, pois, por meio do resultado, o parceiro poderá verificar se é necessário solicitar uma nova foto ao cliente.

❗️

Atenção

O parceiro deverá consultar o resultado da análise da imagem enviada previamente antes do envio da próxima imagem. Se as imagens não estiverem aprovadas, não será possível prosseguir com o cadastro. Consulte as recomendações contidas na página Orientações para envio de fotos.

A consulta pode ser realizada informando apenas o documento do cliente ou o documento e a lista de tokens correspondentes às análises solicitadas.

Requisição (Request)

Requisição HTTP

GET https://api-mtls.sandbox.bankly.com.br/document-analysis/{documentNumber}?resultLevel={resultLevel}&token={analysisToken}
--request GET 
--url 'https://api-mtls.sandbox.bankly.com.br/document-analysis/{documentNumber}?resultLevel={resultLevel}&token={analysisToken}' \ 
--header 'api-version: 1' \ 
--header 'Authorization: Bearer {{accessToken}}'

Autorização

Para garantir a segurança nas requisições, todos os endpoints do Bankly utilizam scopes como parte do seu fluxo de autorização.
Esta requisição requer o scope descrito a seguir:

ScopeDescrição
kyc.document.readConcede acesso para consulta de análise de imagens enviadas para KYC.

Cabeçalhos (Headers)

NomeDescrição
api-versionObrigatório. Versão da API. Atualmente estamos na versão 1.0.
AuthorizationObrigatório. Token de autorização do tipo Bearer.

🚧

Importante

Recomendamos que o parceiro implemente o header cache-control em sua aplicação, para definir o intervalo de tempo de pooling, visando a um melhor desempenho entre cliente e servidor. O tempo sugerido é de 300 segundos (max-age=300). De todos os modos, reforçamos que o pooling deve ser evitado e recomendamos que a configuração de webhooks seja priorizada para a obtenção de informações.

Parâmetros da rota (Path)

No path desta requisição envie os seguintes campos:

NomeTipoDescriçãoEspecificação
documentNumberpathObrigatório. Número do documento do cliente (CPF).Informe somente os números.
tokenqueryLista de tokens de análise do documento.
resultLevelqueryTipo de busca, que pode ser "ONLY_STATUS" (retorna apenas o status da análise) ou "DETAILED" (detalhada, que retorna dados da imagem analisada).

Corpo da requisição (Body)

Não é necessário enviar campos no body desta requisição.

Resposta (Response)

O status code 200 indicará sucesso na consulta.

Para a análise de selfie, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescrição
tokenstringToken da imagem.
documentTypestringTipo do documento. Neste caso, “SELFIE”.
documentSidestringLado do documento. Neste caso, “FRONT”.
statusstringSituação da análise.
livenessobjectObjeto que contém informações sobre a análise de prova de vida.
liveness.statusstringResultado da análise de prova de vida, que pode ser "LIVENESS_FOUND”, “NO_LIVENESS” e “COULD_NOT_DETECT_FACE”.
faceDetailsobjectObjeto que contém informações sobre a análise facial.
faceDetails.statusstringResultado da análise facial, que pode ser ”DETECTED_FACE”, “MANY_FACES_DETECTED” e “COULD_NOT_DETECT_FACE”.
faceDetails.confidencenumberNível de confiança da análise.
faceDetails.ageRangeobjectObjeto que contém informações sobre a faixa etária identificada.
faceDetails.ageRange.lownumberIdade mínima detectada.
faceDetails.ageRange.highnumberIdade máxima detectada.
faceDetails.genderobjectObjeto que contém informações sobre o gênero identificado.
faceDetails.gender.valuestringGênero identificado.
faceDetails.gender.confidencenumberNível de confiança da análise.
faceDetails.sunglassesobjectObjeto que contém informações sobre a identificação de óculos na imagem.
faceDetails.sunglasses.valuebooleanIndica se houve identificação de óculos na face da imagem.
faceDetails.sunglasses.confidencenumberNível de confiança da análise.
faceDetails.eyesOpenobjectObjeto que contém informações sobre a identificação de olhos abertos na imagem.
faceDetails.eyesOpen.valuebooleanIndica se houve identificação de olhos abertos na face da imagem.
faceDetails.eyesOpen.confidencenumberNível de confiança da análise.
faceDetails.emotions[]array of objectsLista de objetos contendo informações sobre as expressões detectadas na face da imagem.
faceDetails.emotions[].valuestringTipo do detalhe facial identificado, como "CALM" (calmo), "SAD" (triste), "CONFUSED" (confuso), "ANGRY" (zangado), "SURPRISED" (surpreso), "FEAR" (receoso), "HAPPY" (feliz) e "DISGUSTED" (enojado).
faceDetails.emotions[].confidencenumberNível de confiança da análise.
analyzedAtstringData da análise do documento, no formato ISO 8601 - UTC.

Para as análises de documento (frente e verso), o retorno trará os seguintes campos:

NomeTipoDescrição
tokenstringToken da imagem.
documentTypestringTipo de documento, que pode ser “RG”, “CNH”, “RNE”, “CRNM” ou “DNI”.
documentSidestringLado do documento, que pode ser “FRONT” (frente) ou “BACK” (verso).
statusSituação da análise .
faceMatchobjectObjeto que contém informações relativas à análise face match (correspondência entre a face do titular do documento e a da selfie previamente analisada). Objeto retornado na análise da frente do documento.
faceMatch.statusstringResultado da análise de face match, que pode ser “HAS_FACE_MATCH”, “UNMATCHED_DOCUMENT” e “MANY_FACES_DETECTED”.
faceMatch.similaritystringNível de similaridade entre as faces comparadas.
faceMatch.confidencestringNível de confiança da análise.
documentDetailsobjectObjeto que contém informações extraídas do documento analisado.
documentDetails.statusstringResultado da análise OCR, que pode ser “DETECTED_DOCUMENT”, “NO_DOCUMENT_FOUND” e “NO_INFO_FOUND”.
documentDetails.identifiedocumentTypestringTipo do documento detectado.
documentDetails.idNumberstringNúmero do RG.
documentDetails.cpfNumberstringNúmero do CPF.
documentDetails.birthDatestringData de nascimento, no formato ISO 8601 - UTC.
documentDetails.fatherNamestringNome do pai do titular do documento.
documentDetails.motherNamestringNome do mãe do titular do documento.
documentDetails.registerNamestringNome do titular do documento.
documentDetails.valideDatestringValidade do documento, no formato ISO 8601 - UTC.
documentDetails.driveLicenseCategorystringCategoria da CNH (em caso de envio de CNH).
documentDetails.driveLicenseNumberstringNúmero da carteira de habilitação do motorista (em caso de envio de CNH).
documentDetails.driveLicenseFirstQualifyingDatestringData da primeira habilitação (CNH) do motorista.
documentDetails.federativeUnitstringUnidade Federativa onde o documento foi emitido.
documentDetails.issuedBystringÓrgão emissor do documento.
documentDetails.issuedPlacestringLocalidade onde o documento foi emitido.
documentDetails.issuedDatestringData em que o documento foi emitido, no formato ISO 8601 - UTC.
analyzedAtstringData da análise do documento, no formato ISO 8601 - UTC.

Status da análise da imagem

StatusDescriçãoO que fazer?
ANALYZINGA imagem recebida está em análise (status inicial).Aguarde até que a análise seja concluída.
PARTIALLY_ANALYZEDParcialmente analisada. Isso significa que nem todas as análises foram concluídas até o momento.Aguarde até que a análise seja concluída.
ANALYSIS_COMPLETEDTodos os pipelines de análise foram executados e os resultados obtidos.O sistema deve avaliar os resultados. Se a imagem for considerada válida, o registro do cliente poderá prosseguir. Caso contrário, é recomendado solicitar uma nova imagem.
UNEXPECTED_ERRORAlgum erro inesperado ocorreu durante a análise e ela não pôde ser concluída.Solicite ao cliente que nos envie uma nova imagem.

🚧

Importante

Uma análise de documento é concluída quando todo o pipeline é executado, resultando no status ANALYSIS_COMPLETED.

[
  { 
    "token": "string", 
    "`documentType`": "SELFIE", 
    "`documentSide`": "FRONT", 
    "status": "ANALYSIS_COMPLETED", 
    "liveness": { 
      "status": "LIVENESS_FOUND"
      }, 
    "faceDetails": { 
      "status": "DETECTED_FACE", 
      "confidence": 99.99689, 
      "ageRange": { 
        "low": 18, 
        "high": 23 
      }, 
      "gender": { 
        "value": "Male", 
        "confidence": 99.21723 
      }, 
      "sunglasses": { 
        "value": false, 
        "confidence": 99.40401 
      }, 
      "eyesOpen": { 
        "value": false, 
        "confidence": 57.259457 
      }, 
      "emotions": [ 
        { 
          "value": "CALM", 
          "confidence": 95.32976 
        }, 
        { 
          "value": "SAD", 
          "confidence": 2.078439 
        }, 
        { 
          "value": "CONFUSED", 
          "confidence": 0.9475501 
        }, 
        { 
          "value": "ANGRY", 
          "confidence": 0.6159508 
        }, 
        { 
          "value": "SURPRISED", 
          "confidence": 0.37119603 
        }, 
        {
          "value": "FEAR", 
          "confidence": 0.24299896 
        }, 
        { 
          "value": "HAPPY", 
          "confidence": 0.20983662 
        }, 
        { 
          "value": "DISGUSTED", 
          "confidence": 0.20425977 
        } 
      ] 
    }, 
    "analyzedAt": "2021-08-31T21:20:58.754Z" 
  }
]
[
  { 
    "token": "string", 
    "documentType": "RG", 
    "documentSide": "FRONT", 
    "status": "ANALYSIS_COMPLETED", 
    "faceMatch": { 
      "status": "HAS_FACE_MATCH", 
      "similarity": 99.98459, 
      "confidence": 99.99835 
    }, 
    "documentDetails": { 
      "status": "DETECTED_DOCUMENT", 
      "identified`documentType`": "RG", 
      "idNumber": "48151623", 
      "cpfNumber": "47742663023", 
      "birthDate": "1810-10-12", 
      "fatherName": "", 
      "motherName": "Dionísia Gonçalves Pinto", 
      "registerName": "Nísia Floresta", 
      "validDate": "2030-01-30", 
      "driveLicenseCategory": "string", 
      "driveLicenseNumber": "string", 
      "driveLicenseFirstQualifyingDate": "string", 
      "federativeUnit": "SP", 
      "issuedBy": "SSP", 
      "issuePlace": "SP", 
      "issueDate": "1820-10-12" 
    }, 
    "analyzedAt": "2021-08-31T21:20:58.754Z" 
  }
]
[
  { 
    "token": "string", 
    "documentType": "RG", 
    "documentSide": "BACK", 
    "status": "ANALYSIS_COMPLETED", 
    "documentDetails": { 
      "status": "DETECTED_DOCUMENT", 
      "identified`documentType`": "RG", 
      "idNumber": "48151623", 
      "cpfNumber": "47742663023", 
      "birthDate": "1810-10-12", 
      "fatherName": "", 
      "motherName": "Dionísia Gonçalves Pinto", 
      "registerName": "Nísia Floresta", 
      "validDate": "2030-01-30", 
      "driveLicenseCategory": "string", 
      "driveLicenseNumber": "string", 
      "driveLicenseFirstQualifyingDate": "string", 
      "federativeUnit": "SP", 
      "issuedBy": "SSP", 
      "issuePlace": "SP", 
      "issueDate": "1820-10-12" 
    }, 
    "analyzedAt": "2021-08-31T21:20:58.754Z" 
  }
]
[
    {
        "token": "wGW_jgBuoZNMxqBYwzFIPZGT0jbgRzJL",
        "documentType": "SELFIE",
        "documentSide": "FRONT",
        "status": "ANALYZING"
    },
    {
        "token": "pRW_jgBuoZNMxqFGwzFIPZGT0jbgRzKL",
        "documentType": "RG",
        "documentSide": "FRONT",
        "status": "ANALYZING"
    }
]

👍

Dica

Para simular uma requisição nesse endpoint, acesse o API Reference.

Erros

Este endpoint não retorna erros específicos. Porém, ele poderá retornar alguns erros comuns entre todos os endpoints.

Eventos

Este endpoint não possui eventos relacionados a ele.

Como as análises ocorrem

Análise da selfie

A análise de selfie primariamente identifica se há uma prova de vida na imagem. Posteriormente, essa imagem será utilizada como imagem base (source) ao ser comparada com a foto existente na frente do documento (target), com o intuito de comprovar se o portador do documento é a mesma pessoa que solicitou a abertura de conta.

Análise de prova de vida (Liveness)

Tem como principal objetivo identificar se há prova de vida, ou seja, se há uma pessoa na imagem e se a imagem não é a foto de uma foto.


Status da análise de prova de vida

StatusDescriçãoO que fazer?
LIVENESS_FOUNDA prova de vida foi detectada.
NO_LIVENESSNão foi encontrada nenhuma prova de vida.Instrua o cliente a tirar uma nova selfie, em um local bem iluminado e mantendo o rosto descoberto, sem utilizar acessórios como bonés, óculos de sol etc.
COULD_NOT_DETECT_FACEAlguma prova de vida foi detectada, mas não foi possível identificar um rosto.Oriente o cliente a tirar uma nova selfie, evitando manter o rosto coberto.

🚧

Importante

Lembre-se de seguir todas as recomendações contidas na página Orientações para envio de fotos.

Análise de características faciais (Face details)

Visa identificar as características do rosto da pessoa. Como objetivo secundário, ajuda a verificar se há mais de uma face na selfie, indicando que há mais de uma pessoa.


Status da análise de características faciais

StatusDescriçãoO que fazer?
DETECTED_FACEUma prova de vida foi detectada.
MANY_FACES_DETECTEDMais de um rosto foi identificado na foto.Instrua o cliente a tirar uma nova selfie, evitando pessoas próximas.
COULD_NOT_DETECT_FACENão foi encontrado um rosto na foto.Oriente o cliente a tirar uma nova selfie, evitando manter o rosto coberto.

📘

Nota

Uma selfie é considerada válida para o processo de Onboarding quando os status das análises de liveness e face details são LIVENESS_FOUND e DETECTED_FACE respectivamente.

Análise da frente do documento de identidade

Essa análise tem como principal objetivo identificar se o documento que está sendo enviado é válido e se ele pertence à pessoa que está presente na selfie.

Por isso, é imprescindível que a selfie seja enviada antes da foto da frente do documento.

🚧

Importante

Lembre-se de seguir todas as recomendações contidas na página Orientações para envio de fotos.

Análise de comparação facial (Face match)

Essa análise tem como objetivo identificar a correspondência entre a face do titular do documento (target) e a da selfie previamente analisada (source).


Status da análise de comparação facial

StatusDescriçãoO que fazer?
HAS_FACE_MATCHHá correspondência entre o rosto presente na foto do documento e o rosto exibido na selfie.
UNMATCHED_DOCUMENTA foto não atinge a resolução esperada (formato VGA) ou a selfie enviada previamente não é válida.Certifique-se de que o cliente enviará uma selfie válida antes de carregar as fotos do documento. Além disso, é importante instruí-lo a buscar um enquadramento adequado, que permita a análise de face match.
MANY_FACES_DETECTEDMais de um rosto foi identificado na foto.Certifique-se de que a selfie enviada previamente pelo cliente é válida.

🚧

Importante

Lembre-se de seguir todas as recomendações contidas na página Orientações para envio de fotos.

Extração de textos (OCR)

Essa análise tem como objetivo extrair os textos do documento e determinar se o tipo de documento enviado é o mesmo informado pelo cliente.


Status da extração de textos (OCR)

StatusDescriçãoO que fazer?
DETECTED_DOCUMENTUm documento (RG, CNH, RNE, DNI ou CRNM) foi identificado na foto.
NO_DOCUMENT_FOUNDNão foi possível identificar um documento na foto.Instrua o cliente a tirar uma nova foto do documento em um local bem iluminado, atentando-se ao enquadramento da imagem.
NO_INFO_FOUNDFoi identificado um documento, mas não foi possível extrair informações dele.Instrua o cliente a tirar uma nova foto do documento em um local bem iluminado, atentando-se ao enquadramento da imagem. Evite zoom muito próximo e imagens desfocadas

📘

Nota

Uma foto da frente do documento é considerada válida para o processo de Onboarding quando os status das análises de face match e OCR são HAS_FACE_MATCH e DETECTED_DOCUMENT, respectivamente.

Análise do verso do documento de identidade

Esse tipo de análise complementa a análise da frente do documento.

Não há uma ordem de envio das fotos de frente e verso. O importante é que a selfie seja enviada antes das duas imagens do documento e que todas essas imagens sejam enviadas antes do pedido de abertura da conta.

🚧

Importante

Lembre-se de seguir todas as recomendações contidas na página Orientações para envio de fotos.

Extração de textos (OCR)

Essa análise tem como objetivo extrair os textos do documento e determinar se o tipo de documento enviado é o mesmo informado pelo cliente.

StatusDescriçãoO que fazer?
DETECTED_DOCUMENTUm documento (RG, CNH, RNE, DNI ou CRNM) foi identificado na foto.
NO_DOCUMENT_FOUNDNão foi possível identificar um documento na foto.Instrua o cliente a tirar uma nova foto do documento em um local bem iluminado, atentando-se ao enquadramento da imagem.
NO_INFO_FOUNDFoi identificado um documento, mas não foi possível extrair informações dele.Instrua o cliente a tirar uma nova foto do documento em um local bem iluminado, atentando-se ao enquadramento da imagem. Evite zoom muito próximo e imagens desfocadas

📘

Nota

Uma foto do verso do documento é considerada válida para o processo de Onboarding quando os status da análise OCR é DETECTED_DOCUMENT.


Copyright © 2021 Acesso Soluções de Pagamento S.A - Todos os direitos reservados