> ## Documentation Index
> Fetch the complete documentation index at: https://documentacao.legitimuz.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Visão geral

> Receba a decisão da verificação no seu backend, sem consultar a API.

Um webhook é um `POST` que a Legitimuz faz para um endpoint seu quando algo acontece numa
verificação. É por ele que a decisão chega ao seu sistema.

## Como funciona

<Steps>
  <Step title="Cadastre um endpoint">
    No dashboard, em **Integrações → Segurança → Webhooks**, com a URL e os eventos que você quer
    receber. O passo a passo está em [cadastrar webhooks](/platform/webhooks).
  </Step>

  <Step title="Receba o POST">
    Quando um evento acontece, a Legitimuz envia o corpo assinado para a sua URL.
  </Step>

  <Step title="Confira e responda">
    Valide a assinatura, responda `2xx` e processe em segundo plano.
  </Step>
</Steps>

## Eventos

| Evento                            | Quando dispara                          |
| --------------------------------- | --------------------------------------- |
| `verification.created`            | o seu backend criou a verificação       |
| `verification.started`            | a pessoa abriu o link e começou         |
| `verification.document_submitted` | a pessoa enviou uma imagem de documento |
| `verification.document_processed` | a análise do documento terminou         |
| `verification.liveness_settled`   | a prova de vida chegou a um desfecho    |
| `verification.decided`            | a verificação chegou ao desfecho final  |
| `verification.scored`             | o score ficou pronto                    |

A maioria das integrações escuta um só: `verification.decided`. O corpo de cada evento está em
[eventos](/webhooks/events).

## O que o seu endpoint precisa fazer

* Responder `2xx` assim que conferir a assinatura. Processar em fila.
* Conferir `X-Legitimuz-Signature` sobre o corpo cru.
* Descartar repetição pelo header `X-Legitimuz-Delivery`.
* Tratar `review` como pendência, não como recusa.
* Aceitar `verification.decided` duas vezes para a mesma verificação.
* Registrar e responder `2xx` para evento desconhecido.

Os detalhes estão em [segurança](/webhooks/security).

## Sandbox e produção

Um endpoint numa integração sandbox recebe os eventos das verificações sandbox. Formato, assinatura
e retentativa são os mesmos da produção.

## Próximos passos

<Columns cols={2}>
  <Card title="Eventos" icon="bolt" href="/webhooks/events">
    O corpo de cada um dos sete eventos.
  </Card>

  <Card title="Segurança" icon="shield-check" href="/webhooks/security">
    Assinatura, retentativa e idempotência.
  </Card>
</Columns>
