Criar validação de prova de vida + documento
Confirma que o titular é uma pessoa real e dono do documento que apresenta.
Fluxo hospedado
Link aberto a partir de um app de mensagens
Navegadores embutidos de apps (Instagram, Facebook, WhatsApp) costumam bloquear a câmera, o que derruba qualquer fluxo de prova de vida. Quando o link chega por esses canais, oriente o titular a abrir no navegador do sistema. Bots de pré-visualização de link recebem uma página estática de marca e não consomem a sessão.Validade do link
expires_at governa o ciclo de vida da validation_url. Aberta depois de vencer, ou com a validação já resolvida, ela mostra uma página de marca (“Link expirado” ou “Verificação finalizada”), não um redirect quebrado. Uma validação pending que passa de expires_at sem conclusão vira expired.
Resultado
ConsulteGET /validations/{id} até o status sair de pending. Webhooks de saída para o integrador ainda não existem.Authorizations
Sua chave de API no cabeçalho Authorization: Bearer sk_.... Crie e revogue chaves no painel ou pelos endpoints de Chaves de API.
Headers
Torna a criação segura para retentativa. Reenviar a mesma chave repete a resposta original em vez de criar (e cobrar) uma validação nova.
1 - 256^[A-Za-z0-9_-]{1,256}$Body
Dados para criar uma validação de prova de vida com confronto de documento.
Confirma que o titular consentiu com a consulta. Precisa ser true.
Para onde o titular volta ao terminar o fluxo hospedado. Precisa ser https e um host público. Se você omitir, vale https://id.zapsign.com.br.
"https://sua-empresa.com.br/onboarding/concluido"
Sua referência de correlação. Volta em todas as respostas desta validação.
1 - 256^[A-Za-z0-9_-]{1,256}$"pedido_12345"
Response
Validação criada em estado pending, com validation_url e expires_at preenchidos.
Resultado de uma validação.
Sempre validation.
validation Identificador único da validação.
"val_0NQW3MVYJYQ453E95V3V1T76AV"
Tipo da validação.
Os três primeiros têm endpoint de criação. Os outros dois podem aparecer em consultas e listagens de contas que os usam por outros canais.
liveness_document_match, liveness_cpf_match, cpf_phone_match, sim_swap, telco_financial_capacity Estado atual.
pending, completed, failed, expired Resultado de negócio. É null enquanto status for pending.
passed, not_passed, match, no_match, recent_swap, no_recent_swap, high_capacity, moderate_capacity, low_capacity, unknown Por que o resultado foi unknown. É null em qualquer outro caso.
liveness_failed, face_mismatch, spoof_detected, document_tampered, document_invalid, document_unreadable, cpf_reference_not_found, data_unavailable, phone_not_covered A referência de correlação que você enviou na criação.
Data de criação em ISO-8601.
Data de resolução em ISO-8601. É null enquanto não resolvida.
URL para onde redirecionar o titular. Preenchida nas validações hospedadas; null nas síncronas.
Quando a sessão hospedada vence, em ISO-8601. Preenchida nas validações hospedadas; null nas síncronas.
Dados extraídos, agrupados pela chave do type. Hoje só liveness_document_match produz detalhes, e só com status igual a completed. Nos demais casos é null.