# Webhooks

**URL:** `https://dashboard.abbiamolog.com/settings/webhooks`

Configure URLs que receberão chamadas **HTTP POST** automáticas sempre que um evento ocorrer no sistema — útil para sincronizar seu sistema com a Abbiamo em tempo real.

---

## O que você vê na tela

### Tabela de webhooks

| Coluna | Descrição |
| --- | --- |
| **ID** | Identificador único do webhook (truncado, com botão copiar) |
| **Evento** | Tipo de evento que dispara o webhook (badge colorido) |
| **Ativo** | Indicador verde (ativo) ou vermelho (inativo) |
| **URL** | Endpoint que receberá as notificações |
| **Headers** | Headers customizados configurados (quando houver) |
| **Ações (⋯)** | Editar webhook ou ativar/desativar |

---

## Eventos disponíveis

| Evento | Quando dispara |
| --- | --- |
| `ORDER_STATUS_CHANGE` | A cada mudança de status de um pedido |
| `ROUTE_STATUS_CHANGE` | A cada mudança de status de uma rota |
| `TOKEN_GENERATED` | Quando um novo token de API é gerado |
| `ORDER_CSAT_ANSWER` | Quando o cliente responde à pesquisa de satisfação (CSAT) |

---

## Criar um webhook

1. Clique em **Novo webhook** no canto superior direito.
2. Selecione o **Evento** no menu suspenso.
3. Informe a **Webhook URL** — o endpoint do seu sistema que receberá as chamadas.
4. Opcionalmente, clique em **+ Adicionar header** para incluir headers de autenticação ou identificação.
5. Ative o toggle **Ativar webhook?** se quiser ativá-lo imediatamente.
6. Clique em **Criar webhook**.

### Campos do formulário

| Campo | Obrigatório | Descrição |
| --- | --- | --- |
| **Evento** | Sim | Tipo de evento que dispara o webhook |
| **Webhook URL** | Sim | URL do seu endpoint (deve aceitar POST) |
| **Headers** | Não | Pares chave-valor enviados em cada requisição (ex: `Authorization: Bearer token`) |
| **Ativar webhook?** | — | Toggle para ativar imediatamente |

---

## Editar ou desativar um webhook

No menu ⋯ de qualquer webhook:

| Ação | Descrição |
| --- | --- |
| **Editar webhook** | Altera evento, URL ou headers |
| **Ativar / Desativar** | Pausa ou retoma o envio sem excluir |

---

## Formato do payload

A Abbiamo envia um `POST` com o corpo em JSON para a URL configurada. Para detalhes completos do payload de cada evento, consulte a documentação oficial:

**[abbiamo.readme.io — Webhooks](https://abbiamo.readme.io)**
**Testando seu endpoint:** Use ferramentas como [webhook.site](https://webhook.site) para inspecionar as chamadas recebidas durante o desenvolvimento da integração.
**URL pública obrigatória:** A URL do webhook precisa ser acessível publicamente pela internet. URLs locais (ex: `localhost`) não funcionarão em produção.