Processos cadastrais e de autenticação de usuários são burocráticos e lentos e nós
queremos te ajudar a criar fluxos com baixa fricção, onde os bons usuários são beneficiados
e os fraudadores barrados. Nossa solução de Biometria Facial irá te ajudar na automatização
desse processo, analisando as faces dos seus usuários na maior base do mercado e trazendo o
melhor score para sua decisão.
A Biometria Facial faz uso do padrão ICAO de fotos. Abaixo seguem
algumas recomendações para realizar a captura de fotos de seus clientes de forma que
possamos oferecer uma melhor avaliação biométrica.
Todas as requisições submetidas à nossa API devem ser realizadas através de um token, gerado
por usuário e senha fornecidos pela ClearSale. Entre em contato com o seu consultor de vendas
para mais informações.
Na autenticação, além do token, retornamos seu tempo de expiração. É necessário que contemple
no seu desenvolvimento o gerenciamento da vida útil do token com base nesse tempo de expiração.
Só gere um novo token após a expiração do seu token atual.
POST https://api-biometrics.clearsale.com.br/authentication HTTP/1.1
Content-Type: application/json
{
"Login": "{Seu login}",
"Password": "{Sua senha}"
}
POST https://api-biometrics-hml.clearsale.com.br/authentication HTTP/1.1
Content-Type: application/json
{
"Login": "{Seu login}",
"Password": "{Sua senha}"
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"Token": "{Valor do Token}",
"ExpirationDate": "{Tempo de Expiração do Token}"
}
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"Message": "Invalid username and/or password. Check the field and try again"
}
HTTP/1.1 404 NotFound
HTTP/1.1 500 InternalServerError
O objetivo deste endpoint é apresentar um único score de similaridade, resultante da comparação entre a selfie do usuário e a foto que consta nas bases públicas e privadas, à partir do envio do CPF, Nome, Nascimento e Selfie desse usuário.
Importante: Recomendamos que a foto tenha tamanho de, no máximo, 1.5MB
POST https://api-biometrics.clearsale.com.br/v1/faces HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
{
"document": "12345678912", (obrigatório)
"imageBase64": "base64", (obrigatório)
"name": "João Henrique Silva", (obrigatório)
"birthdate": "2019-06-05T12:00:00.000", (obrigatório)
"originID": "Teste", // opcional
"externalID": "Teste" // opcional
}
POST https://api-biometrics-hml.clearsale.com.br/v1/faces HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
{
"document": "12345678912", (obrigatório)
"imageBase64": "base64", (obrigatório)
"name": "João Henrique Silva", (obrigatório)
"birthdate": "2019-06-05T12:00:00.000", (obrigatório)
"originID": "Teste", // opcional
"externalID": "Teste" // opcional
}
HTTP/1.1 201 CREATED
Content-Type: application/json; charset=utf-8
{
"ExternalID": "{Valor do ExternalID enviado na requisição}",
"OriginID": "{Valor do OriginID enviado na requisição}",
"TransactionID": "b1ca3eb6-3d68-41a1-8a9b-93674b205cca",
"Date": "2020-08-20T14:10:00.000",
"Score": "0.9998",
}
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"Date":"2020-08-20T17:16:51.3152935Z",
"Errors":[
"Document must be a valid CPF.",
"The field Name is invalid and must be filled as specified in the documentation.",
"Birthdate must be a valid date.",
"The image must be in base64 format.",
"Face not found. Try again."
]
}
HTTP/1.1 500 InternalServerError
HTTP/1.1 204 NoContent
HTTP/1.1 401 Unauthorized
Nome | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
Document | CPF para consulta | String | 11 | Sim |
Image | Imagem no formato base64 | String | - | Sim |
Name | Nome completo do cliente (Sem abreviaturas) | String | - | Sim |
Birthdate |
Data de Nascimento do cliente
[YYYY-MM-DD] |
DateTime | 10 | Sim |
OriginID | Campo de preenchimento livre, o valor será retornado na resposta | String | - | Não |
ExternalID | Campo de preenchimento livre, o valor será retornado na resposta | String | - | Não |
Nome | Descrição | Tipo | Tamanho |
---|---|---|---|
OriginID | Campo de preenchimento livre, o valor será retornado na resposta | String | - |
ExternalID | Campo de preenchimento livre, o valor será retornado na resposta | String | - |
TransactionID | Identificador gerado pela ClearSale | String | 36 |
Score | Resultado da comparação da similaridade entre a imagem enviada e a foto que temos atrelada ao CPF em nossas bases, compreendido entre 0.0000 e 1.0000 | Decimal | 6 |
Errors | Objeto que apresenta mensagens de erro que indicam o motivo da não geração do score na requisição | String[] | - |
O objetivo deste endpoint é disponibilizar a consulta a um score obtido anterior, através do transactionID retornado no endpoint anterior.
GET https://api-biometrics.clearsale.com.br/v1/faces/{transactionId} HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
GET https://api-biometrics-hml.clearsale.com.br/v1/faces/{transactionId} HTTP/1.1
Content-Type: application/json
Authorization: Bearer {Token}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"ExternalID": "{Valor do ExternalID enviado na requisição}",
"OriginID": "{Valor do OriginID enviado na requisição}",
"TransactionID": "b1ca3eb6-3d68-41a1-8a9b-93674b205cca",
"Date": "2020-08-20T14:10:00.000",
"Score": 0.9645
}
HTTP/1.1 500 InternalServerError
HTTP/1.1 404 NotFound
HTTP/1.1 401 Unauthorized
Nome | Descrição | Tipo | Tamanho | Obrigatório |
---|---|---|---|---|
TransactionID | Identificador gerado pela ClearSale | String | 36 | Sim |
Nome | Descrição | Tipo | Tamanho |
---|---|---|---|
OriginID | Campo de preenchimento livre, o valor será retornado na resposta | String | - |
ExternalID | Campo de preenchimento livre, o valor será retornado na resposta | String | - |
TransactionID | Identificador gerado pela ClearSale que foi usado para buscar a consulta | String | 36 |
Score | Resultado da comparação da similaridade entre a imagem enviada e a foto que temos atrelada ao CPF em nossas bases, compreendido entre 0.0000 e 1.0000 | Decimal | 6 |
A fim de validar seus cenários de testes, nossa API oferece em homologação diferentes escalas de ranges do score de similaridade conforme o que recebemos de input no campo ExternalID. Segue abaixo o mapeamento para testes:
Os outros parâmetros de input podem ser enviados como desejar, desde que respeitando as características dos campos.