Inyo360 — Verificação de Identidade (KYC)
A API de Verificação de Identidade, parte da suíte de conformidade Inyo360, confirma que um cliente é quem afirma ser. O cliente fotografa um documento emitido pelo governo — passaporte, carteira de motorista ou carteira de identidade — e tira uma selfie. A Inyo extrai os dados do documento, valida-os, verifica se o documento é autêntico e não está vencido, confirma que a selfie é de uma pessoa real e compara essa pessoa com o retrato do documento. Você recebe uma única decisão normalizada: approved, declined ou in_review.
Como Funciona
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Create │ │ Customer │ │ Document │ │ Selfie + │
│ Session │──▶│ Opens the │──▶│ Capture │──▶│ Liveness │
│ (your API) │ │ Widget │ │ (front/back)│ │ Face Match │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
│
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ Your System │ │ Signed │ │ Decision │◀───┘
│ Updates │◀──│ Webhook or │◀──│ approved / │
│ the User │ │ Redirect │ │ declined / │
└──────────────┘ └──────────────┘ │ in_review │
└──────────────┘
Duas Formas de Integrar
Escolha uma por verificação — ambas produzem o mesmo resultado normalizado e respeitam a mesma configuração.
| Modo | Como funciona | Escolha esta opção quando |
|---|---|---|
| Widget hospedado | Você cria uma sessão e recebe um widget_url. Envie-o ao seu cliente ou abra-o em uma webview. A Inyo cuida da captura pela câmera, da orientação de enquadramento, das novas tentativas e da localização. | Você quer a integração mais rápida e nenhum código de câmera próprio. Este é o padrão recomendado. |
| Server-to-server | Você mesmo captura as imagens e as envia via POST /v1/verifications. O resultado retorna na resposta. | Você já tem uma UI de captura, ou a verificação acontece sem um cliente ao vivo (por exemplo, reverificação de documentos armazenados). |
Etapas de Integração
| Etapa | Ação | Endpoint | Descrição |
|---|---|---|---|
| 1 | Autenticar | POST /oauth/token | Troque suas credenciais de cliente por um token Bearer |
| 2 | Criar uma sessão | POST /v1/sessions | Retorna um session_id e um widget_url |
| 3 | Entregar o widget | — | Envie o link, ou abra-o em uma webview |
| 4 | Receber o resultado | seu webhook_url | Um POST assinado com o resultado da verificação |
| 5 | Ler a decisão | — | Interprete status, auto_status e checks[] |
| 6 | Confirmar no servidor | GET /v1/sessions/{session_id} | O registro oficial, para polling ou reconciliação |
Vai pular o widget? Substitua as etapas 2-4 por uma única verificação server-to-server.
O Que Você Recebe
Cada verificação resulta em um único resultado normalizado contendo a decisão, os dados extraídos do documento e da pessoa, e as verificações individuais que produziram a decisão:
{
"session_id": "…",
"user_ref": "user-123",
"status": "approved",
"auto_status": "approved",
"document": { "type": "Passport", "number": "…", "expiration_date": "2033-09-30" },
"person": { "first_name": "…", "last_name": "…", "date_of_birth": "1988-03-04" },
"checks": [
{ "name": "document_not_expired", "passed": true, "score": null, "detail": "…" },
{ "name": "face_match", "passed": true, "score": 98.7, "detail": "similarity vs threshold 90.0" }
],
"provider": "inyo"
}
O payload completo e as regras para interpretá-lo estão em Verificações e Decisões.
Padrão de Arquitetura
Suas credenciais OAuth são exclusivas do servidor. Crie sessões a partir do seu backend e entregue ao cliente apenas o widget_url retornado — ele carrega um código de uso único e com prazo limitado, e não concede acesso a nada além daquela única verificação.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Customer │────▶│ Your Server │────▶│ Inyo KYC │
│ Browser / │ │ (holds the │ │ Tenant API │
│ Webview │◀────│ credentials)│◀────│ │
└──────────────┘ └──────────────┘ └──────────────┘
│ ▲
│ widget_url │
└──────────────────────────────────────────┘
customer talks only to the widget
Ambientes
| Recurso | URL |
|---|---|
| Tenant API (sandbox) | https://{FQDN} |
| Tenant API (produção) | https://{FQDN} |
| Host do widget | https://{FQDN} |
As URLs base, as credenciais de cliente OAuth e a lista de IPs permitidos são emitidas pela Inyo durante o onboarding. As credenciais de sandbox e produção não são intercambiáveis.
Próximos Passos
| Página | O que aborda |
|---|---|
| Primeiros Passos | Execute uma verificação de ponta a ponta |
| Autenticação | Tokens, escopos e tratamento de erros |
| Sessões de Verificação | Todos os campos de POST /v1/sessions |
| Recebendo Resultados | Verificação de assinatura e modos de entrega |
| Revisão Manual | Tratando in_review corretamente |
| Configuração do Tenant | Limiares, tipos de documento e identidade visual |
| Sandbox e Dados de Teste | Testes antes de entrar em produção |
