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

# Eventos de webhook

> Reciba notificaciones en su servidor cuando se envíe, entregue, falle un SMS o cuando alguien responda.

<Tip>
  Con la API usted **pregunta**; con webhooks Notifique **avisa**. Ideal para marcar un pedido entregado o procesar una respuesta del cliente sin sondeo.
</Tip>

## En breve

* Cada entrega es un **POST** `application/json` a tu URL registrada.
* Los eventos `sms.*` son **solo SMS**; WhatsApp usa `message.*`.
* `instanceId` siempre está **vacío** (SMS no utiliza instancias).
* Habilite **solo** los eventos que su integración necesita.
* Responda **2xx rápidamente**; el trabajo pesado va a una cola de tu lado.

Configuración general: [Webhooks](/es/guides/webhooks/index). Seguridad (firma HMAC): [Seguridad del webhook](/es/guides/webhooks/seguranca).

***

## Cómo se ve el POST

| Campo         | Descripción                                          |
| ------------- | ---------------------------------------------------- |
| `event`       | Nombre del evento (ej. `sms.delivered`)              |
| `workspaceId` | ID del espacio de trabajo                            |
| `instanceId`  | Siempre vacío para SMS                               |
| `timestamp`   | ISO 8601, use para anti-replay                       |
| `data`        | Campos de envío o MO (`smsId`, `to`, `status`, etc.) |

Encabezados: `X-Notifique-Signature`, `X-Notifique-Timestamp`, `X-Workspace-Id`, `X-Webhook-Event`.

***

## Qué debe devolver tu servidor

| Respuesta               | Efecto                                    |
| ----------------------- | ----------------------------------------- |
| **2xx** en \~10 s       | Evento entregado; eliminado de la cola    |
| **4xx / 5xx / timeout** | Reintento automático (5 min, 30 min, 2 h) |

<Note>
  ¿Procesamiento lento? Responda **200** inmediatamente y procese en segundo plano. Más de \~10 s cuenta como timeout y el evento puede reenviarse.
</Note>

Valide `X-Notifique-Signature` y una marca de tiempo reciente. Detalles: [Seguridad de webhooks](/es/guides/webhooks/seguranca).

***

## Referencia de eventos

Use estos eventos al integrar **ERP, e-commerce o automatización** con SMS.

### Envío y estado

| Evento          | Cuándo se dispara             | Qué hacer con ello             |
| --------------- | ----------------------------- | ------------------------------ |
| `sms.sent`      | Operador aceptó el SMS        | Marcar como enviado            |
| `sms.delivered` | Entrega confirmada (DLR)      | Confirmar entrega, facturación |
| `sms.clicked`   | Clic en enlace corto del SMS  | Campaña / conversión           |
| `sms.failed`    | Fallo de envío o DLR de error | Reintentar o alertar           |
| `sms.cancelled` | Envío programado cancelado    | Actualizar pedido              |

### Mensajes entrantes (MO)

| Evento         | Cuándo se dispara                           | Qué hacer con ello             |
| -------------- | ------------------------------------------- | ------------------------------ |
| `sms.received` | Cliente **envió un SMS** a su número        | Palabra clave, opt-in, soporte |
| `sms.replied`  | Respuesta **vinculada a su envío saliente** | Confirmación "SÍ/NO", encuesta |

<Info>
  MO sigue las reglas de entrantes en **Configuración → Mensajes recibidos**, como otros canales. Guía: [Mensajes entrantes](/es/guides/webhooks/mensagens-recebidas-e-respostas).
</Info>

***

## Carga útil por evento

Cuerpo POST completo. El sobre (`event`, ids, `timestamp`) coincide con el ejemplo anterior; abajo cambia lo que va en `data`.

<AccordionGroup>
  <Accordion title="sms.sent" />

  <Accordion title="sms.delivered" />

  <Accordion title="sms.failed" />

  <Accordion title="sms.cancelled" />

  <Accordion title="sms.clicked">
    Se activa en el **primer** clic en un enlace corto rastreado de este SMS.
  </Accordion>

  <Accordion title="sms.received" />

  <Accordion title="sms.replied">
    Cuando el MO está **vinculado** a su envío saliente (ej. respuesta de encuesta).
  </Accordion>
</AccordionGroup>

***

## Próximos pasos

* [Inicio rápido](/es/sms-api/como-funciona/quick-start): primer envío
* [Introducción](/es/sms-api/como-funciona/introducao): ciclo de vida del estado
* [Ámbitos](/es/sms-api/como-funciona/escopos-da-api-key): permisos de clave
* [Webhooks (guía general)](/es/guides/webhooks/index)
