Verificar se uma selfie e a foto do documento correspondem à mesma pessoa em uma única chamada à API
POST /api/kyc/validations): Fluxo completo com URL hospedada, selfie ao vivo, liveness e captura de documento. Ideal para onboarding e fluxos regulados.POST /api/kyc/face-match): Você envia duas imagens em Base64 e recebe correspondência + pontuação. Ideal quando você já tem documento e selfie (por exemplo da sua própria aplicação).data:image/...;base64,. Formatos: JPEG, PNG, WebP, TIFF. Máx. 5MB por imagem.documentImage.| Campo | Tipo | Descrição |
|---|---|---|
match | boolean | Se as faces foram consideradas coincidentes (pontuação ≥ limiar). |
score | number | Pontuação de similaridade 0–100. |
status | string | "approved" | "declined" | "in_review". |
verificationId | string | ID do registro de auditoria em face_match_verifications (suporte e listagem). |
scoreDeclineThreshold | number | O limiar (0–100) que foi usado nesta verificação (configuração da org). |
requestId | string (opcional) | ID interno da solicitação (suporte). |
warnings | string[] (opcional) | Avisos da verificação. |
| Código | HTTP | Significado |
|---|---|---|
NOT_CONFIGURED | 403 | Credenciais do Face Match não configuradas na organização. |
NOT_ENABLED | 403 | A integração Face Match não está ativada para esta organização. |
INVALID_REQUEST | 400 | Imagens inválidas ou ausentes (formato/tamanho). |
UNAUTHORIZED | 401 | Credenciais de API/verificação inválidas ou ausentes. |
QUOTA_EXCEEDED | 403 | Não foi possível completar a verificação (cota/créditos). |
SERVICE_UNAVAILABLE | 503 | Serviço de verificação temporariamente indisponível. |
VERIFICATION_FAILED | 500 | Falha genérica; tentar novamente ou usar outras imagens. |
face_match_verifications para auditoria e conformidade. A resposta inclui verificationId (ID do registro de auditoria). Cada registro armazenado também guarda o limiar usado naquele momento (para exibir no histórico mesmo que o limiar da organização mude depois).
| Parâmetro | Tipo | Descrição |
|---|---|---|
entityId | string (UUID) | Opcional. Filtrar por entidade pessoa. |
status | string | Opcional. Filtrar por status (approved, declined, in_review, failed). |
limit | number | Quantidade máxima (padrão 50, máx. 100). |
offset | number | Deslocamento para paginação. |
{ "verifications": [ ... ], "scoreDeclineThreshold": 30, "pagination": { "limit", "offset", "total" } }. Cada verificação inclui id, entityId, status, match, score, threshold (valor usado naquela execução), createdAt e opcionalmente caminhos de imagens para auditoria.
verificationId (retornado na resposta do POST ou na listagem).
id — UUID da verificação (o mesmo que verificationId do POST ou da listagem).
Resposta (200): Um objeto de verificação com os mesmos campos de cada item da listagem: id, organizationId, entityId, status, match, score, requestId, vendorData, errorMessage, triggeredByUserId, createdAt, documentStoragePath, selfieStoragePath, storageProvider, threshold.
Erros: 404 NOT_FOUND se o ID não existir ou pertencer a outra organização; 401 UNAUTHORIZED se não autenticado.
kyc_validations, envia o usuário a uma URL hospedada e atualiza o status via webhooks. A decisão armazenada inclui documento, liveness e comparação facial da sessão ao vivo.face_match_verifications e retorna o resultado na mesma resposta. Não cria um registro em kyc_validations. Use quando precisar de uma verificação pontual (por exemplo “essas duas imagens são da mesma pessoa?”) sem sessão hospedada.