entrada: CPF Disponível
Validação Facial SERPRO
Compara uma selfie com a foto oficial do titular do CPF na base do SERPRO.
O que a consulta devolve
- Se o CPF existe na Receita e se tem CNH
- Similaridade da selfie com a foto oficial, em número e em percentual
- Nível de confiança da comparação
Campos aceitos
| Campo | Obrigatório | Descrição |
|---|---|---|
| documento | sim | O CPF a consultar. Pontuação é aceita e descartada. |
| selfie_img | sim | Imagem da selfie em base64. |
Como chamar pela API
POST /api/v2/facematch-serpro
curl -X POST https://api.radardata.com.br/api/v2/facematch-serpro \
-H "Authorization: Bearer $RADARDATA_TOKEN" \
-H "Content-Type: application/json" \
-d '{"documento":"52998224725","selfie_img":"..."}' const resposta = await fetch('https://api.radardata.com.br/api/v2/facematch-serpro', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.RADARDATA_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({"documento":"52998224725","selfie_img":"..."}),
})
const { data, meta } = await resposta.json() $resposta = Http::withToken(config('services.radardata.token'))
->post('https://api.radardata.com.br/api/v2/facematch-serpro', [
'documento' => '52998224725',
'selfie_img' => '...',
]);
$dados = $resposta->json('data'); import os, requests
resposta = requests.post(
"https://api.radardata.com.br/api/v2/facematch-serpro",
headers={"Authorization": f"Bearer {os.environ['RADARDATA_TOKEN']}"},
json={"documento":"52998224725","selfie_img":"..."},
)
dados = resposta.json()["data"] Exemplo de resposta
Formato real da resposta, com dados fictícios. Em meta,
o saldo e o preço vêm em centavos.
{
"data": {
"cpf_na_receita": true,
"cpf_tem_cnh": false,
"biometria": {
"disponivel": true,
"similaridade": 0.9123,
"similaridade_percentual": 91.23,
"nivel": "alta",
"descricao": "Alta probabilidade"
}
},
"meta": {
"consulta_id": "0199c8f2-6b1e-7c3a-9d4f-2a5b8e7c1d90",
"saldo": 48750,
"preco": 450,
"sandbox": false
}
}