status de una Campaña. El payload incluye tanto el estado anterior como el nuevo, para que los consumidores puedan reaccionar a transiciones específicas (ej., notificar al llegar a finished, archivar en inactive).
Cuando new_status es finished, el payload también incluye el snapshot de analíticas de la campaña, evitando una llamada adicional a la API.
- Trigger: Cualquier transición de estado (
pendingaready,activeainactive,activeacooldown,cooldownafinished, etc.). - Filtrado: Al configurar el webhook, puedes restringir entregas a una lista de estados destino vía el arreglo
filters.status.
Solicitud
- Método:
POST - Content-Type:
application/json - Endpoint: La URL que configuras en tu integración de webhook.
- Autenticación: Header
X-Altur-Signaturepara verificación HMAC. Ver Descripción general de Webhooks.
Ejemplo de Payload
Campos del envelope
| Campo | Tipo | Descripción |
|---|---|---|
event_id | string | Identificador único de esta entrega. Útil para procesamiento idempotente. |
event_type | string | Siempre campaign.status_changed. |
occurred_at | string | Timestamp ISO 8601 en el timezone del proyecto. |
api_version | string | Versión del esquema del payload (actualmente 1.0). |
project_id | string | Identificador público del proyecto dueño de la campaña. |
data | object | Payload del evento (ver abajo). |
Objeto data.campaign
| Campo | Tipo | Descripción |
|---|---|---|
id | int | Identificador de la campaña. |
name | string | Nombre de la campaña. |
status | string | El nuevo estado (después de la transición). |
previous_status | string | El estado anterior a la transición. |
Objeto data.analytics (solo cuando status = finished)
Para campañas de llamada el snapshot contiene conteos y tasas de llamadas y contactos. Para WhatsApp contiene conteos y tasas del ciclo de vida del mensaje. Ver la referencia de Detalle de Campaña para la forma completa. El bloque coincide con el campo analytics de la respuesta de detalle.
Respuesta
Devuelve200 OK para confirmar la recepción. Los fallos se reintentan según la política de reintentos.
Filtrado por Estado
Al configurar la integración de webhook, pasafilters.status como un arreglo de estados objetivo (ej., ["finished"]). Solo las transiciones cuyo new_status esté en esa lista se entregarán. Omitir el filtro entrega todas las transiciones.
Ejemplos de Receptor
Para verificación de firma, veris_valid_signature en el Descripción general de Webhooks.