> ## 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, se haga clic, falle o se cancele el envío.

<Tip>
  Con la API usted **pregunta**; con webhooks Notifique **avisa**. Ideal para seguir entrega, medir clics o quitar dispositivos con suscripción inválida, sin sondeo.
</Tip>

## En breve

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

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. `push.delivered`)                        |
| `workspaceId` | ID del espacio de trabajo                                       |
| `instanceId`  | Siempre vacío para push                                         |
| `timestamp`   | ISO 8601, use para anti-replay                                  |
| `data`        | Campos de envío (`pushId`, `deviceId`, `appId`, `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? Devuelva **200** inmediatamente y procese en segundo plano.
</Note>

***

## Referencia de eventos

| Evento           | Cuándo se dispara                      | Qué hacer con ello              |
| ---------------- | -------------------------------------- | ------------------------------- |
| `push.sent`      | Push aceptado y enviado al proveedor   | Marcar como enviado             |
| `push.delivered` | Dispositivo confirmó entrega           | Métricas de entrega             |
| `push.clicked`   | Usuario abrió la notificación          | Deep link, conversión           |
| `push.failed`    | Suscripción inválida o error           | Quitar o actualizar dispositivo |
| `push.cancelled` | Programación cancelada antes del envío | Actualizar cola                 |

***

## Carga útil por evento

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

  <Accordion title="push.delivered">
    Se activa cuando el **service worker** o el cliente informa la entrega.
  </Accordion>

  <Accordion title="push.clicked" />

  <Accordion title="push.failed">
    Buenas prácticas: desactive o elimine el **deviceId** en caso de suscripción inválida.
  </Accordion>

  <Accordion title="push.cancelled" />
</AccordionGroup>

***

## Próximos pasos

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