Cadastre imagens de referência facial para verificação biométrica em transações futuras.
O enrollment biométrico permite pré-cadastrar a imagem de referência facial de um usuário.
Essa imagem é utilizada nas etapas BIOMETRIC_MATCH e DOCUMENT_PHOTO_MATCH
para comparar o rosto capturado em tempo real com a referência armazenada.
O enrollment é versionado — cada chamada incrementa a versão, permitindo atualizar a foto de referência sem perder o histórico.
PUT /v1/users/{userExternalId}/enrollment
Content-Type: application/json
Authorization: Bearer {access_token}
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
image |
string (base64) | Sim | Imagem facial em base64 (JPEG). Para DOCUMENT_PHOTO, envie a foto completa do documento. |
cpf |
string | Sim | CPF do titular (11 dígitos, sem pontuação). Vincula o enrollment à identidade do usuário. |
source |
string | Não | Origem da imagem. Padrão: BANK_PROVIDED. |
Selfie ou foto fornecida diretamente pelo banco/integrador. A imagem deve conter exatamente um rosto visível.
curl -X PUT "$BASE_URL/v1/users/usr_maria_001/enrollment" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"image": "'$(base64 -w0 selfie.jpg)'",
"cpf": "12345678909",
"source": "BANK_PROVIDED"
}'
Imagem capturada na primeira sessão de liveness do usuário. Útil quando o banco não possui foto prévia e deseja utilizar a primeira verificação facial como referência.
curl -X PUT "$BASE_URL/v1/users/usr_maria_001/enrollment" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"image": "'$(base64 -w0 liveness-frame.jpg)'",
"cpf": "12345678909",
"source": "FIRST_LIVENESS"
}'
Foto de documento de identidade (CNH, RG ou passaporte). O sistema extrai automaticamente a face do documento e a utiliza como imagem de enrollment.
Feature flag requerida: Esta fonte requer que a flag documentExtractionEnabled
esteja habilitada no tenant. Solicite a ativação ao seu gerente de conta.
curl -X PUT "$BASE_URL/v1/users/usr_maria_001/enrollment" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"image": "'$(base64 -w0 cnh-frente.jpg)'",
"cpf": "12345678909",
"source": "DOCUMENT_PHOTO"
}'
Neste fluxo, o servidor:
DetectFacesdocumentImageHash e extractionConfidence| Campo | Tipo | Descrição |
|---|---|---|
userExternalId |
string | Identificador externo do usuário. |
enrollmentHash |
string | Hash SHA-256 da imagem de enrollment (face crop quando DOCUMENT_PHOTO). |
enrollmentVersion |
integer | Versão do enrollment (incrementada a cada atualização). |
enrollmentSource |
string | Origem do enrollment: BANK_PROVIDED, FIRST_LIVENESS ou DOCUMENT_PHOTO. |
enrolledAt |
string (ISO 8601) | Data/hora do enrollment. |
cpf |
string | CPF do titular. |
faceConfidence |
number | Confiança da detecção facial (0-100%). |
documentImageHash |
string | Hash SHA-256 do documento original. Presente apenas quando enrollmentSource é DOCUMENT_PHOTO. |
extractionConfidence |
number | Confiança da extração facial do documento (0-100%). Presente apenas quando enrollmentSource é DOCUMENT_PHOTO. |
{
"userExternalId": "usr_maria_001",
"enrollmentHash": "a1b2c3d4e5f6...",
"enrollmentVersion": 1,
"enrollmentSource": "BANK_PROVIDED",
"enrolledAt": "2026-02-28T10:30:00.000Z",
"cpf": "12345678909",
"faceConfidence": 99.8
}
{
"userExternalId": "usr_maria_001",
"enrollmentHash": "f6e5d4c3b2a1...",
"enrollmentVersion": 2,
"enrollmentSource": "DOCUMENT_PHOTO",
"enrolledAt": "2026-02-28T10:35:00.000Z",
"cpf": "12345678909",
"faceConfidence": 98.5,
"documentImageHash": "9a8b7c6d5e4f...",
"extractionConfidence": 97.2
}
Todas as imagens passam por validação via DetectFaces para garantir:
Caso a validação falhe, a API retorna 422 Unprocessable Entity com o motivo específico.
| Código | Tipo | Causa | Solução |
|---|---|---|---|
400 |
Bad Request | Campo image ou cpf ausente/inválido |
Verifique se ambos os campos obrigatórios estão presentes e no formato correto |
422 |
Unprocessable Entity | Nenhum rosto detectado na imagem ou mais de um rosto | Envie uma imagem com exatamente um rosto visível e bem iluminado |
422 |
Feature Not Enabled | source: "DOCUMENT_PHOTO" sem documentExtractionEnabled |
Solicite a ativação da feature flag ao gerente de conta |
401 |
Unauthorized | Token inválido ou expirado | Obtenha um novo token via POST /oauth2/token |
DOCUMENT_PHOTO, certifique-se de que a foto no documento está nítida e sem reflexõesenrollmentHash retornado para rastreabilidade e auditoria