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

# Responder e recuperar webhooks

> Confirme a entrega depois da persistência e trate repetições como parte do contrato.

O entregador baseado em fila considera sucesso apenas os códigos HTTP de 200 a 226. Uma resposta de 227 a 299 também pode entrar em nova tentativa.

## Responda depois da persistência

1. Valide a assinatura sobre o corpo bruto.
2. Persista o evento e a chave idempotente.
3. Confirme com HTTP 200 ou 204.
4. Execute trabalho demorado fora da requisição.

Se a persistência falhar, devolva um código de falha. A Azentech pode entregar o mesmo evento novamente.

## Torne o consumidor idempotente

Use uma restrição única que represente o efeito processado. Para eventos com item correspondente em `transaction.events`, combine `transaction.id`, `event` e o `id` do evento. Para `expired`, que pode não criar um novo item, combine `transaction.id`, `event` e `transaction.updated_at` e confirme o estado antes do efeito.

Não use apenas a ordem de chegada. Um evento repetido ou atrasado não pode reverter um estado mais recente sem uma regra explícita do seu domínio.

## Modo legado

O emissor legado usa timeout de 10 segundos, quatro tentativas e recuo exponencial. O número e o intervalo das tentativas do entregador baseado em fila pertencem à configuração operacional e não são prometidos por esta documentação.

> [!NOTE]
>
> Registre o código e o corpo da sua resposta. Esses dados ajudam a distinguir uma rejeição de assinatura, uma falha transitória e um processamento duplicado.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.