Solicitação de novo token

beta

Este endpoint permite que o parceiro solicite um token de autenticação para realizar a confirmação da identidade do seu cliente.

Pré-requisito

Para que seja possível utilizar este endpoint, é necessário que:

Requisição (Request)

Requisição HTTP

POST https://api-mtls.sandbox.bankly.com.br/customers/{documentNumber}/id-token
--request POST \
--url 'https://api-mtls.sandbox.bankly.com.br/customers/64775621033/id-token' \
--header 'x-correlation-id: {{guid}}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{accessToken}}' \
--header 'api-version: 1.0' \
--data '{
    "challenge": "DEVICE_VERIFICATION",
    "claims": {
    "deviceHash": "9b0c0dfa48ae46923769e5329f1acb72dfb030bfab761cbeeaf8d04b7be6b384"
    },
    "ttl": 900,
    "provider": "UNICO_CHECK",
    "providerMetadata": {
    "encrypted": "TOKEN JWT"
    }
}'

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
security.id-token.createConcede acesso para a criação de um token de autenticação de identidade.

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.
x-correlation-idObrigatório. Informe um GUID, sendo um novo cada requisição.

Parâmetros da rota (Path)

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

NomeTipoDescrição
documentNumberpathObrigatório. Número de documento do cliente (CPF).

Corpo da requisição (Body)

No body, envie os seguintes campos em formato JSON:

NomeTipoDescrição
challengestringObrigatório. Tipo de desafio. Para a validação de um dispositivo, esse campo deve apresentar o valor "DEVICE_VERIFICATION”.
claimsobjectObrigatório. Objeto que contém informações sobre as claims (declarações adicionadas ao token para fornecer dados complementares sobre o contexto ou sobre as permissões associadas ao token).
claims.deviceHashstringObrigatório. Hash do dispositivo, retornado no endpoint de registro de novo dispositivo móvel.
providerstringObrigatório. Nome do provedor, que, nesse caso, é UNICO_CHECK.
providerMetadataobjectObrigatório. Objeto que contém a imagem criptografada.
providerMetadata.encryptedstringObrigatório. Token JWT da imagem criptografada gerado dentro do aplicativo do parceiro no momento da captura da selfie. A imagem não deve ultrapassar 4 MB.
tllintTempo de vida do token, que é de, no máximo, 900 segundos.
{
	"challenge": "DEVICE_VERIFICATION",
	"claims": {
		"deviceHash": "9b0c0dfa48ae46923769e5329f1acb72dfb030bfab761cbeeaf8d04b7be6b384"
	},
	"ttl": 900,
	"provider": "UNICO_CHECK",
	"providerMetadata": {
		"encrypted": "TOKEN JWT"
	}
}

🚧

Importante

É fundamental instruir o seu cliente a seguir todas as orientações para o envio de fotos para evitar erros na requisição.

Resposta (Response)

O status code 202 indicará que o token foi criado com sucesso.
Sendo bem-sucedido, o retorno irá trazer os seguintes campos em formato JSON:

NomeTipoDescrição
id-tokenstringGUID do token gerado.
expiresInintegerTempo de vida do token, que é de, no máximo, 900 segundos.
{
  "id-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
  "expiresIn": 900
}

👍

Dica

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

Erros

Este endpoint pode retornar erros específicos, conforme a tabela a seguir:

Status codeCódigoMensagemSignificado
400Invalid challenge type.O tipo do desafio enviado não é válido.
400Invalid claims.A propriedade deviceHash não pode ser nula ou vazia.
400Invalid claim format. Claim should be a key value pair of string.O formato do conteúdo enviado no objeto claim deve ser string.
400Ttl should be equals or lower then 900 seconds.O valor informado no campo ttl é superior a 900 segundos.
400Encrypted size must be lower or equals 4 MB.O tamanho da imagem criptografada ultrapassa 4 MB.
422BIOMETRY_TOKEN_REFUSEDBiometry token refused. Please try send a image.Não foi possível gerar um token para essa imagem. Tente enviá-la novamente.
422IMAGE_REGISTRATION_NOT_FOUNDImage registration not found.Não foi encontrada em nosso registro uma imagem que corresponda com a que foi enviada.
422ID_TOKEN_REFUSEDId Token refused. Please try send another image.A imagem foi recusada. Verifique as orientações para o envio de imagens e solicite ao cliente que envie uma nova selfie.
422PROVIDER_PROCESS_ID_NOT_FOUNDProcessId not found. Make sure the SELFIE has been submitted and approved.Não foi encontrado o identificador da selfie em nosso banco de dados. Verifique se no processo de Onboarding do cliente sua selfie foi aprovada.
422INVALID_SELFIEIt's not an image or it's an injection attempt. Please try send another image.A selfie não é válida por não se tratar de uma imagem. Há possibilidade de tentativa de fraude. Avalie o risco antes de solicitar uma nova imagem a seu cliente.
422RESOLUTION_IMAGE_INVALIDThe image must be in the HD standard or have a resolution greater than 640x480.É preciso que a imagem possua padrão HD e possua resolução maior que 640x480.
422PROCESS_ID_EXPIREDThe processId provided has expired. Make sure the SELFIE has been submitted and approved.O identificador da selfie de nosso banco de dados está expirado. É necessário enviar uma nova selfie por meio do processo de Onboarding.
422FACE_MUST_BE_CENTEREDThe face must be centered in the capture area. Please try send another image.Peça a seu cliente a manter o rosto centralizado na área de captura da imagem.
422FACE_MUST_BE_CLOSERThe face must be closer to the camera. Please try send another image.Instrua seu cliente a manter o rosto mais próximo da câmera no momento da captura da imagem.
422FACE_MUST_BE_AWAYThe face must be further away from the camera. Please try send another image.Solicite a seu cliente a manter o rosto mais distante da câmera no momento da captura da imagem.
422BAD_LIGHTINGBad lighting! Make sure the environment is not too dark and that the camera is not pointed against a light source. Please try send another image.A iluminação do ambiente apresenta problemas. Peça a seu cliente que se certifique de que o ambiente não está escuro e nem com excesso de luz.
422IMAGE_BLURRED_OR_OUT_OF_FOCUSImage blurred or out of focus! Please try send another image.A imagem está fora de foco. Solicite a seu cliente uma nova imagem.
422TILTED_FACETilted face! The face must be straight and looking at the camera. Please try send another image.O rosto está inclinado. Instrua seu cliente a manter a face reta, olhando para a câmera.
422SIDE_FACESide face! The face must be straight and looking at the camera. Please try send another image.O cliente enviou uma foto do perfil de seu rosto. Instrua seu cliente a manter a face reta, olhando para a câmera.
422IMAGE_HAS_NO_LIVEIt is not possible to identify if it is a live image. Assess the risk of registration before a new attempt.Não é possível identificar prova de vida na imagem enviada. Avalie o risco antes de solicitar uma nova imagem a seu cliente.
422WITHOUT_GLASSESThe selfie must be taken without glasses. Please try send another image.Solicite a seu cliente que retire os óculos antes da captura da imagem.
422IMAGE_BLURREDImage blurred or out of focus. Please try send another image.Instrua seu cliente a atentar-se ao foco no momento da captura da imagem.
422JWT_REFUSEDJwt refused. Please, try send another jwt.O JWT foi recusado. É preciso enviar um novo.

Recordamos que esta API também poderá retornar erros comuns entre todos os endpoints. Portanto, recomendamos a consulta da documentação de erros, onde é possível encontrar as mensagens comuns em inglês que acompanham os erros 400 (se houver).

Eventos

Caso o parceiro deseje receber mensagens referentes aos eventos relacionados a esse endpoint, é preciso configurar o webhook. Os eventos são:

Nome do eventoDescrição
ID_TOKEN_WAS_CREATEDToken criado.
ID_TOKEN_WAS_REFUSEDNão foi possível gerar um token.
ID_TOKEN_WAS_EXPIREDO tempo para criação do token expirou.

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