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

# Webhooks

> Envie eventos de webhook para o FIRE, gerencie endpoints mock e inspecione o tráfego de eventos recebidos.

A aba **Webhooks** permite simular o ciclo completo de webhooks em torno do FIRE: enviar eventos para os endpoints de entrada do FIRE (callbacks do KDS, respostas fiscais), criar servidores HTTP mock que serviços externos podem chamar e inspecionar todos os eventos que o FIRE envia de volta para o FUEL.

<img src="https://mintcdn.com/firepos/9UYk1f5ElnChzAeP/images/fuel/tab-webhooks-pt.png?fit=max&auto=format&n=9UYk1f5ElnChzAeP&q=85&s=06ab1e3d3eaa38af4b6e94536ea33a55" alt="Aba Webhooks — formulário de eventos KDS com IDs gerados automaticamente" width="1920" height="945" data-path="images/fuel/tab-webhooks-pt.png" />

## KDS

Use esta sub-aba para enviar eventos de ciclo de vida do Kitchen Display System para um pedido existente.

**Campos**

| Campo             | Descrição                                                                               |
| ----------------- | --------------------------------------------------------------------------------------- |
| External Order ID | O identificador externo do pedido que você deseja atualizar                             |
| Tipo de evento    | Um dos valores: `order.preparing`, `order.ready`, `order.dispatched`, `order.cancelled` |

Clique em **Enviar evento KDS** para enviar o evento via POST ao endpoint de webhook KDS do FIRE. O FUEL exibe o status HTTP e o corpo da resposta diretamente na tela.

<Tip>
  Use `order.preparing` logo após injetar um pedido para acionar o fluxo de cozinha e depois avance por `order.ready` e `order.dispatched` para percorrer toda a máquina de estados.
</Tip>

## Fiscal genérico

Envie callbacks de autorização fiscal ao FIRE para qualquer país suportado. O FIRE utiliza esses callbacks para atualizar o status do documento fiscal de um pedido.

**Campos**

* **País** — seleciona o template de documento específico do país (BR, MX, CO, PE, EC, CL, AR).
* **Status** — um dos valores: `fiscal_graphic`, `authorized`, `cancelled`, `rejected`, `denied`, `error`. `fiscal_graphic` entrega a representação gráfica imprimível e não é uma aprovação.
* **JSON do documento** — template pré-preenchido para o país selecionado. Edite qualquer campo antes de enviar.
* **Código de erro / Mensagem de erro** — opcionais; inclua ao simular fluxos de rejeição ou erro.

<Note>
  Cada template de país inclui os campos mínimos exigidos por aquele sistema fiscal. Expanda ou modifique o JSON para testar casos de borda, como campos ausentes ou chaves de documento malformadas.
</Note>

## PlugNotas BR

Sub-aba dedicada aos webhooks de NFC-e e NFS-e brasileiros entregues pelo gateway PlugNotas.

O JSON do documento é pré-preenchido com campos específicos do SEFAZ, incluindo `chave_de_acesso`, `numero`, `serie`, `data_emissao` e `protocolo`. Defina o **Status** como `CONCLUIDO` para uma emissão bem-sucedida ou `REJEITADO` para simular uma rejeição pelo SEFAZ.

Clique em **Enviar** para encaminhar o payload ao endpoint de callback PlugNotas do FIRE.

## Endpoints mock

Crie endpoints HTTP leves hospedados pelo FUEL para simular serviços externos — provedores de delivery, gateways fiscais, callbacks de ERP e muito mais.

<Steps>
  <Step title="Criar um endpoint">
    Clique em **Novo endpoint**, informe um caminho de URL (ex.: `/mock/fiscal/callback`), selecione o método HTTP (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`) e escolha um tipo de autenticação.
  </Step>

  <Step title="Configurar a resposta">
    Informe o corpo JSON da resposta e o código de status HTTP que o FUEL deve retornar. Use um dos quatro presets de comportamento para os cenários mais comuns:

    | Preset    | Status | Observações                |
    | --------- | ------ | -------------------------- |
    | Normal    | `200`  | Resposta de sucesso        |
    | Error 400 | `400`  | Requisição inválida        |
    | Error 500 | `500`  | Erro do servidor           |
    | Offline   | —      | Conexão recusada / timeout |
  </Step>

  <Step title="Copiar a URL">
    Clique em **Copiar URL** para obter a URL completa do endpoint. Cole-a no sistema externo ou na configuração do FIRE que você está testando.
  </Step>

  <Step title="Inspecionar os logs de requisições">
    Cada endpoint possui um painel de **Log de requisições** que exibe todas as requisições recebidas: timestamp, cabeçalhos, corpo e a resposta que o FUEL retornou.
  </Step>
</Steps>

<Warning>
  Os endpoints mock são compartilhados entre todos os usuários do seu ambiente. Evite armazenar dados sensíveis de produção nos corpos de resposta.
</Warning>

## Log de eventos

Exibe todos os eventos de webhook que o FIRE enviou **para** o FUEL, em ordem cronológica inversa.

Cada linha mostra o tipo de evento, o ID do pedido de origem, uma prévia do payload, o timestamp e o **status de verificação HMAC** — um badge verde indica que a assinatura corresponde ao segredo de webhook configurado no FUEL; um badge vermelho indica que não corresponde.

<Note>
  Se a validação HMAC estiver falhando, verifique se o segredo de webhook configurado nas definições de ambiente do FUEL corresponde ao segredo registrado no lado do FIRE.
</Note>

## Histórico

Uma tabela paginada de todos os envios de webhook realizados pelo FUEL em todas as sub-abas. As colunas incluem sub-aba (KDS, Fiscal, PlugNotas), tipo de evento, ID do pedido de destino, status HTTP e timestamp. Use este log para auditar execuções de testes ou reproduzir uma sequência específica de envios.
