Skip to main content

Webhooks

Los webhooks de Whaapy te permiten recibir notificaciones en tiempo real cuando ocurren eventos en tu cuenta. En lugar de hacer polling constante, configura un endpoint HTTP y recibe actualizaciones automáticamente.

¿Por qué usar Webhooks?

Tiempo Real

Recibe eventos al instante, sin delays

Eficiente

Sin polling constante a nuestra API

Escalable

Procesa miles de eventos sin problemas

Crear un Webhook

Necesitas un endpoint HTTPS público para recibir webhooks. Para desarrollo local, usa herramientas como ngrok.
Endpoint: POST /user-webhooks
curl -X POST https://api.whaapy.com/user-webhooks \
  -H "Authorization: Bearer wha_TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Mi Webhook de Producción",
    "url": "https://mi-servidor.com/webhooks/whaapy",
    "events": ["message.received", "message.sent", "conversation.created"],
    "metadata": {
      "description": "Webhook para sincronizar con CRM"
    }
  }'

Parámetros

CampoTipoRequeridoDescripción
namestringNombre descriptivo del webhook
urlstringURL HTTPS donde recibirás los eventos
eventsstring[]Lista de eventos a suscribir (ver Eventos)
metadataobjectNoDatos adicionales para tu referencia

Response

{
  "data": {
    "id": "wh-uuid",
    "name": "Mi Webhook de Producción",
    "url": "https://mi-servidor.com/webhooks/whaapy",
    "events": ["message.received", "message.sent", "conversation.created"],
    "secret": "a1b2c3d4e5f6...",
    "isActive": true,
    "failureCount": 0,
    "createdAt": "2025-01-15T10:00:00Z"
  },
  "message": "Webhook created successfully"
}
Guarda el secret de forma segura. Lo necesitarás para verificar la firma de los webhooks. No podrás verlo de nuevo.

Estructura del Payload

Todos los webhooks que recibirás tienen esta estructura base:
{
  "event": "message.received",
  "timestamp": "2025-01-15T10:30:00.000Z",
  "businessId": "uuid-del-negocio",
  "data": {
    // Datos específicos del evento
  }
}
CampoTipoDescripción
eventstringTipo de evento (ej: message.received)
timestampstringFecha/hora ISO 8601 del evento
businessIdstringUUID de tu negocio
dataobjectDatos específicos del evento
Ver Payloads para ejemplos detallados de cada evento.

Próximos Pasos