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:
Scope | Descrição |
---|---|
kyc.document.read | Concede acesso para consulta de análise de imagens enviadas para KYC. |
Cabeçalhos (Headers)
Nome | Descrição |
---|---|
api-version | Obrigatório. Versão da API. Atualmente estamos na versão 1.0. |
Authorization | Obrigató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:
Nome | Tipo | Descrição |
---|---|---|
documentNumber | path | Obrigatório. número do documento CPF do cliente. Informe somente os números. |
token | query | Lista de tokens de análise do documento. |
resultLevel | query | Tipo 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:
Nome | Tipo | Descrição |
---|---|---|
token | string | Token da imagem. |
documentType | string | Tipo de documento. Nesse caso, será “SELFIE”. |
documentSide | string | Lado do documento. Nesse caso, será retornado “FRONT”. |
status | string | Situação da análise. |
liveness | object | Objeto que contém informações sobre a análise de prova de vida. |
liveness.status | string | Resultado da análise de prova de vida, o qual pode ser "LIVENESS_FOUND”, “NO_LIVENESS” e “COULD_NOT_DETECT_FACE”. |
faceDetails | object | Objeto que contém informações sobre a análise facial. |
faceDetails.status | string | Resultado da análise facial, o qual pode ser ”DETECTED_FACE”, “MANY_FACES_DETECTED” e “COULD_NOT_DETECT_FACE”. |
faceDetails.confidence | number | Nível de confiança da análise. |
faceDetails.ageRange | object | Objeto que contém informações sobre a faixa etária identificada. |
faceDetails.ageRange.low | number | Idade mínima detectada. |
faceDetails.ageRange.high | number | Idade máxima detectada. |
faceDetails.gender | object | Objeto que contém informações sobre o gênero identificado. |
faceDetails.gender.value | string | Gênero identificado. |
faceDetails.gender.confidence | number | Nível de confiança da análise. |
faceDetails.sunglasses | object | Objeto que contém informações sobre a identificação de óculos na imagem. |
faceDetails.sunglasses.value | boolean | Campo que indica a identificação de óculos na face da imagem. |
faceDetails.sunglasses.confidence | number | Nível de confiança da análise. |
faceDetails.eyesOpen | object | Objeto que contém informações sobre a identificação de olhos abertos na imagem. |
faceDetails.eyesOpen.value | boolean | Campo que indica a identificação de olhos abertos na face da imagem. |
faceDetails.eyesOpen.confidence | number | Nível de confiança da análise. |
faceDetails.emotions[] | array of objects | Objeto que contém uma lista de expressões detectadas na face da imagem. |
faceDetails.emotions[].value | string | Tipo do detalhe facial identificado, como "CALM" (calmo), "SAD" (triste), "CONFUSED" (confuso), "ANGRY" (zangado), "SURPRISED" (surpreso), "FEAR" (receoso), "HAPPY" (feliz) e "DISGUSTED" (enojado). |
faceDetails.emotions[].confidence | number | Nível de confiança da análise. |
analyzedAt | string | Data 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:
Nome | Tipo | Descrição |
---|---|---|
token | string | Token da imagem. |
documentType | string | Tipo de documento. Nesse caso, poderá ser “RG”, “CNH”, “RNE”, “CRNM” ou “DNI”. |
documentSide | string | Lado do documento, que pode ser “FRONT” (frente) ou “BACK” (verso). |
status | Situação da análise . | |
faceMatch | object | Objeto 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.status | string | Resultado da análise de face match, o qual pode ser “HAS_FACE_MATCH”, “UNMATCHED_DOCUMENT” e “MANY_FACES_DETECTED”. |
faceMatch.similarity | string | Nível de similaridade entre as faces comparadas. |
faceMatch.confidence | string | Nível de confiança da análise. |
documentDetails | object | Objeto que contém informações extraídas documento analisado. |
documentDetails.status | string | Resultado da análise OCR, que pode ser “DETECTED_DOCUMENT”, “NO_DOCUMENT_FOUND” e “NO_INFO_FOUND”. |
documentDetails.identifiedocumentType | string | Tipo do documento detectado. |
documentDetails.idNumber | string | Número do RG. |
documentDetails.cpfNumber | string | Número do CPF. |
documentDetails.birthDate | string | Data de nascimento, no formato ISO 8601 - UTC. |
documentDetails.fatherName | string | Nome do pai do titular do documento. |
documentDetails.motherName | string | Nome do mãe do titular do documento. |
documentDetails.registerName | string | Nome do titular do documento. |
documentDetails.valideDate | string | Validade do documento, no formato ISO 8601 - UTC. |
documentDetails.driveLicenseCategory | string | Categoria da CNH (em caso de envio de CNH). |
documentDetails.driveLicenseNumber | string | Número da carteira de habilitação do motorista (em caso de envio de CNH). |
documentDetails.driveLicenseFirstQualifyingDate | string | Data da primeira habilitação (CNH) do motorista. |
documentDetails.federativeUnit | string | Unidade Federativa onde o documento foi emitido. |
documentDetails.issuedBy | string | Órgão emissor do documento. |
documentDetails.issuedPlace | string | Localidade onde o documento foi emitido. |
documentDetails.issuedDate | string | Data em que o documento foi emitido, no formato ISO 8601 - UTC. |
analyzedAt | string | Data da análise do documento, no formato ISO 8601 - UTC. |
Status da análise da imagem
Status | Descrição | O que fazer? |
---|---|---|
ANALYZING | A imagem recebida está em análise (status inicial). | Aguarde até que a análise seja concluída. |
PARTIALLY_ANALYZED | Parcialmente 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_COMPLETED | Todos 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_ERROR | Algum 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
Status | Descrição | O que fazer? |
---|---|---|
LIVENESS_FOUND | A prova de vida foi detectada. | — |
NO_LIVENESS | Nã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_FACE | Alguma 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
Status | Descrição | O que fazer? |
---|---|---|
DETECTED_FACE | Uma prova de vida foi detectada. | — |
MANY_FACES_DETECTED | Mais de um rosto foi identificado na foto. | Instrua o cliente a tirar uma nova selfie, evitando pessoas próximas. |
COULD_NOT_DETECT_FACE | Nã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
Status | Descrição | O que fazer? |
---|---|---|
HAS_FACE_MATCH | Há correspondência entre o rosto presente na foto do documento e o rosto exibido na selfie. | — |
UNMATCHED_DOCUMENT | A 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_DETECTED | Mais 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)
Status | Descrição | O que fazer? |
---|---|---|
DETECTED_DOCUMENT | Um documento (RG, CNH, RNE, DNI ou CRNM) foi identificado na foto. | — |
NO_DOCUMENT_FOUND | Nã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_FOUND | Foi 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.
Status | Descrição | O que fazer? |
---|---|---|
DETECTED_DOCUMENT | Um documento (RG, CNH, RNE, DNI ou CRNM) foi identificado na foto. | — |
NO_DOCUMENT_FOUND | Nã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_FOUND | Foi 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.
Updated 30 days ago