# Entregas de webhooks

> plazbot webhooks deliveries: historial de entregas de los webhooks, con el código de respuesta y el error de cada intento.

Fuente: https://developers.plazbot.com/cli/webhooks/deliveries/

### Entregas de webhooks

Muestra el historial de entregas de los webhooks de Developer, de la más reciente a la más antigua: el evento, si el servidor respondió bien, el código HTTP, el número de intento y el error. Es lo primero que se revisa cuando un sistema externo "no recibe los eventos".

```bash
plazbot webhooks deliveries [options]
```

### Parámetros

| Parámetro | Flag | Requerido | Descripción |
|-----------|------|-----------|-------------|
| Webhook | `--webhook <id>` | No | Solo las entregas de un webhook (`whe_...`). |
| Fallidas | `--failed` | No | Solo las entregas fallidas. |
| Evento | `--event <type>` | No | Solo un tipo de evento. |
| Últimas horas | `--since-hours <n>` | No | Solo las últimas N horas (máximo `720`, 30 días). |
| Límite | `--limit <n>` | No | Máximo de entregas (máximo `100`). Por defecto `50`. |
| Cursor | `--cursor <timestamp>` | No | Solo entregas anteriores a esta fecha: el `nextCursor` de la llamada anterior. |
| Workspace | `-w, --workspace <id>` | No | Workspace donde se ejecuta. Por defecto, el activo. |
| Zona | `-z, --zone <zone>` | No | `LA` o `EU`. Por defecto, la zona de la sesión. |
| JSON | `--json` | No | Imprime el resultado como JSON. |

Con `--json` la salida es `{ "data": [...], "nextCursor": "..." | null }`. Aquí `nextCursor` es la fecha de la última entrega devuelta; pásala a `--cursor` para traer las anteriores. Más detalles en [Scripting y agentes de IA](https://developers.plazbot.com/cli/ia/scripting).

### Ejemplos

```bash
# Entregas fallidas de las últimas 24 horas
plazbot webhooks deliveries --failed --since-hours 24

# Entregas de un webhook, en JSON
plazbot webhooks deliveries --webhook whe_AbcDef123 --json

# Página siguiente
plazbot webhooks deliveries --cursor "2026-10-08 09:59:40"
```

### Resultado

```text
Deliveries (2)
────────────────────────────────────────
┌─────────────────────┬───────────────┬──────────────────┬────────────┬─────────┬──────────────────┐
│ Date (UTC)          │ Webhook       │ Event            │ Result     │ Attempt │ Error            │
├─────────────────────┼───────────────┼──────────────────┼────────────┼─────────┼──────────────────┤
│ 2026-10-08 10:02:11 │ whe_AbcDef123 │ message.received │ ok 200     │ 1       │ —                │
├─────────────────────┼───────────────┼──────────────────┼────────────┼─────────┼──────────────────┤
│ 2026-10-08 09:59:40 │ whe_AbcDef123 │ contact.created  │ failed 500 │ 2       │ Internal Server… │
└─────────────────────┴───────────────┴──────────────────┴────────────┴─────────┴──────────────────┘
```

### Salida JSON

```json
{
"data": [
  {
    "timestamp": "2026-10-08 09:59:40",
    "endpoint_id": "whe_AbcDef123",
    "event_id": "evt_AbcDef123",
    "delivery_id": "dlv_AbcDef123",
    "event_type": "contact.created",
    "attempt": 2,
    "is_resend": 0,
    "success": 0,
    "status_code": 500,
    "duration_ms": 1240,
    "error": "Internal Server Error",
    "message_id": null
  }
],
"nextCursor": "2026-10-08 09:59:40"
}
```

### Errores comunes

| Mensaje | Causa | Solución |
|---------|-------|----------|
| `You are not signed in.` | No hay sesión. | Ejecuta [`plazbot login`](https://developers.plazbot.com/cli/login). |
| `Destino inválido.` | El ID de `--webhook` no tiene un formato válido. | Usa el ID de [`plazbot webhooks list`](https://developers.plazbot.com/cli/webhooks/list). |
| `Cursor inválido.` | `--cursor` no es una fecha válida. | Usa el `nextCursor` de la llamada anterior tal cual. |
| `No se pudo consultar el historial de entregas.` | El servicio de historial no respondió. | Intenta de nuevo en unos minutos. |
