Inyo

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.

ModoComo funcionaEscolha esta opção quando
Widget hospedadoVocê 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-serverVocê 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

EtapaAçãoEndpointDescrição
1AutenticarPOST /oauth/tokenTroque suas credenciais de cliente por um token Bearer
2Criar uma sessãoPOST /v1/sessionsRetorna um session_id e um widget_url
3Entregar o widgetEnvie o link, ou abra-o em uma webview
4Receber o resultadoseu webhook_urlUm POST assinado com o resultado da verificação
5Ler a decisãoInterprete status, auto_status e checks[]
6Confirmar no servidorGET /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

RecursoURL
Tenant API (sandbox)https://{FQDN}
Tenant API (produção)https://{FQDN}
Host do widgethttps://{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áginaO que aborda
Primeiros PassosExecute uma verificação de ponta a ponta
AutenticaçãoTokens, escopos e tratamento de erros
Sessões de VerificaçãoTodos os campos de POST /v1/sessions
Recebendo ResultadosVerificação de assinatura e modos de entrega
Revisão ManualTratando in_review corretamente
Configuração do TenantLimiares, tipos de documento e identidade visual
Sandbox e Dados de TesteTestes antes de entrar em produção