Ir para o conteúdo

Chamando a API

Fazendo uma requisição para criação do token

De posse do Token de Acesso, faça a requisição a um dos serviços.

Criação do PIN

curl -X POST --header "Authorization: Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e" "https://gateway.apiserpro.serpro.gov.br/biovalid-trial/v1/token?cpf=11111111111"

Retorno esperado: RBPR6YFE3

O PIN também pode ser criado usando um dos tipos de KBA, sendo o do tipo Datavalid ou um próprio.

Quando o KBA do tipo Datavalid for utilizado, os campos são fixos com base na CNH, sendo:

  • categoria
  • numero de registro
  • data de validade

Para utilizar este tipo de KBA, basta informar o parâmetro kba_datavalid na URL durante a criação do PIN, conforme exemplo abaixo.

curl -X POST --header "Authorization: Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e" "https://gateway.apiserpro.serpro.gov.br/biovalid-trial/v1/token?cpf=11111111111&kba_datavalid=true"

Para utilizar um KBA próprio, basta informar as perguntas no corpo da requisição, conforme exemplo abaixo.

curl -X POST \
  --url 'https://gateway.apiserpro.serpro.gov.br/biovalid-trial/v1/token?cpf=11111111111' \
  --header 'Content-Type: application/json' \
  --header 'Authorization': 'Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e' \
  --data '[ 
  { "pergunta": "Qual sua data de aniversário?", "resposta": "22/06/1983", "tipo": "DATE" }, 
  { "pergunta": "Você tem filhos?", "resposta": "true", "tipo": "BOOLEAN" }, 
  { "pergunta": "Qual o nome da sua mãe?", "resposta": "Marcia", "tipo": "TEXT" } 
]'

Os tipos das perguntas podem ser:

  • DATE no formato dd/MM/yyyy
  • BOOLEAN no formato true ou false
  • TEXT pode ser um texto livre
  • NUMERIC do tipo número inteiro

Não é possível usar os dois tipos de KBA's ao mesmo tempo. Caso seja informado os dois KBA's na criação do PIN, o KBA Datavalid será o utilizado.

Caso seja necessário, é possível definir um tempo de uso para o PIN em minutos. Ou seja, o usuário só pode enviar a foto em até X minutos após a criação do PIN. Para definir o tempo de uso, adicionar o parâmetros expira_em na URL, conforme exemplo abaixo de 5 minutos.

curl -X POST --header "Authorization: Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e" "https://gateway.apiserpro.serpro.gov.br/biovalid-trial/v1/token?cpf=11111111111&expira_em=5"

Pedir ao usuário fazer a biometria com o PIN pelo aplicativo.

Pegar o resultado da validação biométrica.

curl -X GET --header "Authorization: Bearer 06aef429-a981-3ec5-a1f8-71d38d86481e" "https://gateway.apiserpro.serpro.gov.br/biovalid-trial/v1/token?cpf=11111111111&token=RBPR6YFE3"

Retorno:

Quando o retorno for com sucesso é esperado é um JWT codificado em base64. Ao decodifica-lo, será possível ver o PIN, CPF e o resultado da biometria.

Exemplo decodificado.

{
  "iss": "biodata",
  "iat": 1592319844,
  "exp": 1592321644,
  "aud": "Demonstração",
  "sub": "11111111111",
  "filiacao": {},
  "cnh": {
    "categoria": true,
    "numero_registro": false,
    "data_validade": false
  },
  "documento": {},
  "endereco": {},
  "cpf_disponivel": true,
  "biometria_face": {
        "disponivel": true,
      "probabilidade": "Altíssima probabilidade",
      "similaridade": 0.970771181293467
  },
  "token": "RBPR6YFE3",
  "data_prova_de_vida": "dd/MM/yyyy HH:mm:ss",
  "kba_cliente_valido": true
}

Quando for utilizado o KBA definido pelo cliente, o campo kba_cliente_valido informa se o usuário informou as respostas corretamente (true) ou não informou corretamente (false). Já quando a opção foi utilziar o KBA do Datavalid, os campos dentro de CNH devem ser conferidos, sendo para as respostas corretas (true) e as incorretas (false).

EXCEÇÕES

Se por algum motivo o usuário ainda não fez a biometria, o retorno esperado é:

{ "codigo": "5", "mensagem": "Sem informações de biometria." }

Se o usuário já fez a biometria mas sem a possibilidade de validação por parte do Biovalid, o retorno esperado é:

{ "codigo": "12", "mensagem": "Usuário não possui CNH ou Foto na base do DENATRAN para validação biométrica." }