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
| Campo | Obrigatório | Descriçã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.
| Campo | Tipo |
|---|---|
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