Documentos e biometria

Validação facial Serpro (CPF + selfie)

Comparação biométrica facial na Serpro Datavalid com apenas CPF e imagem de selfie (base64 ou URL), sem consulta a dados cadastrais externos.

Quando usar

Envia a selfie para o S3 e chama a API Serpro Datavalid v4 (pf-facial) com payload mínimo: apenas CPF e biometria facial. Não utiliza dados cadastrais adicionais no envio.

Requisição

Autenticação por chave de API (cabeçalho Authorization: Bearer), criada no painel com esta consulta no escopo.

POST /api/v1/{tenant}/pessoas/validacao-facial-serpro-cpf-selfie

CampoObrigatórioDescrição
document sim CPF da pessoa, com ou sem máscara.
selfie_img sim Selfie em base64
{
  "document": "000.000.000-00",
  "selfie_img": "valor"
}

Campos de retorno

Campos dentro de data. [] indica lista.

CampoTipo
status texto
rfb_existe booleano
cnh_existe booleano
biometria_facial.face_url texto
biometria_facial.presigned_face_url texto
biometria_facial.disponivel booleano
biometria_facial.probabilidade texto
biometria_facial.similaridade número
biometria_facial.probabilidade_nivel texto
biometria_facial.similaridade_percentual número
stamp texto
timestamp data

Exemplo de resposta

Estrutura real da resposta, com valores fictícios.

{
  "execution_id": "00000000-0000-0000-0000-000000000000",
  "status": "success",
  "message": "Consulta realizada com sucesso",
  "query_name": "Validação facial Serpro (CPF + selfie)",
  "query_slug": "validacao-facial-serpro-cpf-selfie",
  "data": {
    "status": "texto",
    "rfb_existe": false,
    "cnh_existe": false,
    "biometria_facial": {
      "face_url": "texto",
      "presigned_face_url": "texto",
      "disponivel": false,
      "probabilidade": "texto",
      "similaridade": 0,
      "probabilidade_nivel": "texto",
      "similaridade_percentual": 0
    },
    "stamp": "texto",
    "timestamp": "2026-01-01"
  },
  "consulted_at": "2026-01-01T12:00:00Z",
  "query_cost": "3.160"
}

Cobrança e respostas

  • O valor é cobrado por consulta bem-sucedida.
  • 200 — consulta processada (veja status no corpo da resposta)
  • 401 — token ausente, inválido, inativo ou expirado
  • 403 — serviço fora do escopo da chave, IP não autorizado ou limite de consumo excedido
  • 422 — campo obrigatório ausente/inválido ou payload acima do limite do serviço
  • 429 — limite de requisições por minuto da chave excedido
  • 504 — tempo máximo de execução do serviço excedido