> ## 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

> Envía eventos webhook a FIRE, administra endpoints mock e inspecciona el tráfico entrante.

La pestaña **Webhooks** te permite simular el ciclo de vida completo de webhooks alrededor de FIRE: enviar eventos a los endpoints entrantes de FIRE (callbacks KDS, respuestas fiscales), levantar servidores HTTP mock que los sistemas externos pueden llamar, e inspeccionar cada evento que FIRE envía de vuelta a FUEL.

<img src="https://mintcdn.com/firepos/9UYk1f5ElnChzAeP/images/fuel/tab-webhooks-es.png?fit=max&auto=format&n=9UYk1f5ElnChzAeP&q=85&s=3d495d94a07fce4c6536fc0fc80f1c86" alt="Pestaña Webhooks — formulario de eventos KDS con IDs auto-generados" width="1920" height="945" data-path="images/fuel/tab-webhooks-es.png" />

## KDS

Usa esta sub-pestaña para enviar eventos del ciclo de vida del Kitchen Display System para una orden existente.

**Campos**

| Campo             | Descripción                                                                    |
| ----------------- | ------------------------------------------------------------------------------ |
| External Order ID | El identificador externo de la orden que deseas actualizar                     |
| Tipo de evento    | Uno de `order.preparing`, `order.ready`, `order.dispatched`, `order.cancelled` |

Haz clic en **Enviar evento KDS** para enviar el evento al endpoint de webhook KDS de FIRE. FUEL muestra el estado HTTP y el cuerpo de la respuesta en línea.

<Tip>
  Usa `order.preparing` inmediatamente después de inyectar una orden para activar el flujo de cocina, luego avanza por `order.ready` y `order.dispatched` para recorrer la máquina de estados completa.
</Tip>

## Fiscal genérico

Envía callbacks de autorización fiscal a FIRE para cualquier país compatible. FIRE usa estos callbacks para actualizar el estado del documento fiscal de una orden.

**Campos**

* **País** — selecciona la plantilla de documento específica del país (BR, MX, CO, PE, EC, CL, AR).
* **Estado** — uno de `fiscal_graphic`, `authorized`, `cancelled`, `rejected`, `denied`, `error`. `fiscal_graphic` entrega la representación gráfica imprimible y no es una aprobación.
* **JSON del documento** — plantilla pre-completada para el país seleccionado. Edita cualquier campo antes de enviar.
* **Código de error / Mensaje de error** — opcional; inclúyelo cuando simules flujos de rechazo o error.

<Note>
  Cada plantilla de país incluye los campos mínimos requeridos para ese sistema fiscal. Amplía o modifica el JSON para probar casos extremos como campos faltantes o claves de documento malformadas.
</Note>

## PlugNotas BR

Sub-pestaña dedicada para webhooks brasileños de NFC-e y NFS-e entregados a través del gateway PlugNotas.

El JSON del documento está pre-completado con campos específicos de SEFAZ incluyendo `chave_de_acesso`, `numero`, `serie`, `data_emissao` y `protocolo`. Establece el **Estado** en `CONCLUIDO` para una emisión exitosa o `REJEITADO` para simular un rechazo de SEFAZ.

Haz clic en **Enviar** para reenviar el payload al endpoint de callback PlugNotas de FIRE.

## Endpoints mock

Crea endpoints HTTP ligeros alojados por FUEL que simulan servicios externos: proveedores de delivery, gateways fiscales, callbacks de ERP y más.

<Steps>
  <Step title="Crear un endpoint">
    Haz clic en **Nuevo endpoint**, ingresa una ruta URL (p. ej. `/mock/fiscal/callback`), selecciona el método HTTP (`GET`, `POST`, `PUT`, `PATCH`, `DELETE`) y elige un tipo de autenticación.
  </Step>

  <Step title="Configurar la respuesta">
    Ingresa el cuerpo de respuesta JSON y el código de estado HTTP que deseas que FUEL devuelva. Usa uno de los cuatro presets de comportamiento para escenarios comunes:

    | Preset    | Estado | Notas                        |
    | --------- | ------ | ---------------------------- |
    | Normal    | `200`  | Respuesta exitosa            |
    | Error 400 | `400`  | Solicitud incorrecta         |
    | Error 500 | `500`  | Error del servidor           |
    | Offline   | —      | Conexión rechazada / timeout |
  </Step>

  <Step title="Copiar la URL">
    Haz clic en **Copiar URL** para obtener la URL completa del endpoint. Pégala en el sistema externo o configuración de FIRE que estás probando.
  </Step>

  <Step title="Inspeccionar logs de solicitudes">
    Cada endpoint tiene un panel de **log de solicitudes** que muestra cada solicitud entrante: timestamp, headers, cuerpo y la respuesta que FUEL devolvió.
  </Step>
</Steps>

<Warning>
  Los endpoints mock son compartidos entre todos los usuarios de tu entorno. Evita almacenar datos sensibles de producción en los cuerpos de respuesta.
</Warning>

## Log de eventos

Muestra todos los eventos webhook que FIRE ha enviado **a** FUEL, en orden cronológico inverso.

Cada fila muestra el tipo de evento, ID de orden de origen, vista previa del payload, timestamp y **estado de verificación HMAC** — un badge verde significa que la firma coincidió con el secreto de webhook configurado en FUEL; un badge rojo significa que no coincidió.

<Note>
  Si la validación HMAC está fallando, verifica que el secreto de webhook configurado en los ajustes del entorno de FUEL coincida con el secreto registrado en el lado de FIRE.
</Note>

## Historial

Una tabla paginada de cada envío de webhook saliente iniciado desde FUEL en todas las sub-pestañas. Las columnas incluyen sub-pestaña (KDS, Fiscal, PlugNotas), tipo de evento, ID de orden destino, estado HTTP y timestamp. Usa este log para auditar ejecuciones de prueba o reproducir una secuencia de envío específica.
