Skip to main content
Búsqueda

Webhooks

Recibe notificaciones HTTP en tiempo real sobre eventos de libredesk.

Cuando ocurre un evento, libredesk envía un POST con JSON a la URL configurada. El cuerpo contiene el nombre del evento, la fecha y la conversación o mensaje relacionado.

Configuración

  1. Ve a Administración → Integraciones → Webhooks.
  2. Crea uno con nombre, URL, eventos, secreto opcional y estado.
  3. Usa el botón de prueba para comprobar tu endpoint.

Seguridad

Con un secreto, libredesk firma el cuerpo con HMAC-SHA256 y envía X-Libredesk-Signature: sha256=<firma>. Verifica la firma sobre el cuerpo original antes de procesarlo. Las solicitudes incluyen Content-Type: application/json y un User-Agent de libredesk.

import hmac, hashlib
def verify_signature(payload, signature, secret):
    expected = hmac.new(secret.encode(), payload, hashlib.sha256).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", signature)

Las URL de webhook están cubiertas por la protección SSRF opcional.

Eventos

  • conversation.created: nueva conversación.
  • conversation.status_changed: cambio de estado.
  • conversation.assigned y conversation.unassigned: cambios de asignación.
  • conversation.tags_changed: etiquetas añadidas o eliminadas.
  • message.created y message.updated: mensajes nuevos o actualizados.

Cada evento contiene event, timestamp y payload. Los eventos de conversación incluyen UUID, contacto, bandeja, estado, prioridad, asignaciones, etiquetas y atributos. Los de mensaje incluyen UUID, tipo, estado, contenido, remitente y adjuntos.

Entrega

Las entregas se ejecutan en trabajadores de fondo, usan el tiempo de espera de config.toml y no se reintentan. También pueden descartarse si la cola está llena. Verifica la firma y responde en menos de cinco segundos; procesa el evento después.

Pruebas

Usa Webhook.site o RequestBin para inspeccionar cargas. En producción, responde inmediatamente con 200 y procesa el evento de forma asíncrona.

Was this article helpful?