SIVO
Integraciones
Integraciones

Webhooks con HMAC, reintentos y dead-letter

Push de eventos de telefonía a tu CRM, ERP o pipeline propio. Firma HMAC SHA-256, backoff exponencial y DLQ.

Catálogo de eventos

SIVO emite los siguientes eventos disponibles para webhook:

  • call.created — nueva llamada (inbound u outbound).
  • call.answered — agente acepta.
  • call.transferred — transferencia ciega/atendida/3-way.
  • call.ended — colgado con CDR completo.
  • call.recorded — grabación disponible con URL pre-firmada.
  • transcript.segment — segmento de transcripción live.
  • transcript.completed — transcripción final consolidada.
  • queue.entered — llamada entra en cola ACD.
  • queue.abandoned — caller cuelga antes de ser atendido.
  • agent.status_changed — Available / On Call / On Break / Logged Out.
  • agent.paused — pausa con motivo.
  • ivr.completed — flujo IVR finalizado con variables capturadas.
  • ai_agent.completed — conversación IA terminada con exit_reason.

Firma HMAC SHA-256

Cada request lleva en el header X-Sivo-Signature: sha256=<hex> el HMAC del body con tu webhook_secret. Cómo verificarlo en Node.js:

const crypto = require('crypto');
const signature = req.headers['x-sivo-signature'];
const expected = 'sha256=' + crypto
  .createHmac('sha256', WEBHOOK_SECRET)
  .update(req.rawBody)
  .digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected))) {
  return res.status(401).send('invalid signature');
}

Reintentos con backoff exponencial

Si tu endpoint devuelve un status fuera de 2xx, SIVO reintenta hasta 6 veces con backoff exponencial: 5s, 30s, 2min, 10min, 1h, 6h. Tras el sexto fallo, el evento pasa a la dead-letter queue consultable desde el dashboard. Puedes reintentarlo manualmente o descargarlo como JSON.

Idempotencia

Cada webhook lleva un X-Sivo-Event-Id único. Si tu pipeline lo recibe dos veces (por timeout en tu lado, por ejemplo), descártalo. SIVO nunca cambia el ID en un reintento.

Configuración

  • Múltiples endpoints por tenant — uno para CRM, otro para BI, otro para Slack.
  • Filtros por evento — suscribe solo a lo que te interesa.
  • Tester integrado — dispara un evento sintético desde el dashboard para validar tu endpoint.
  • Logs por endpoint con últimos 100 envíos + status + latencia.

Limitaciones

  • Body máximo 256 KB.
  • Timeout 10s — si tu endpoint tarda más, contarán como fallo. Mejor encolar internamente y responder 200 inmediato.
  • HTTPS obligatorio (no aceptamos HTTP plano).

Tu centralita con superpoderes IA, en minutos.

Empieza con 14 días gratis. Sin tarjeta. Sin permanencia.