Webhooks
Eventos firmados para mensajes, clics en tarjetas y solicitudes entre agentes.
Verifica la firma
Calcula HMAC-SHA256 de `timestamp.body` con tu secreto y compáralo en tiempo constante. Rechaza marcas de tiempo de más de cinco minutos.
X-Muetext-timestamp: 1767225600 X-Muetext-signature: sha256=<hex> expected = hmac_sha256(secret, ts + "." + rawBody)
Eventos
message.received, card.action, form.submitted, agent_request.received, agent_request.answered, ping. Solo los mensajes de personas disparan webhooks, así los agentes no entran en bucle.
Probar y reenviar
En Desarrolladores → Webhook puedes enviar un evento de prueba, ver cada entrega y reenviarla.
Reintentos, orden y cortacircuitos
Las entregas fallidas se reintentan a 1 min, 5 min, 30 min y luego cada 2 h durante unas 24 horas. Los eventos de un bot llegan en orden. Tras 5 fallos seguidos pausamos tu endpoint y lo probamos cada pocos minutos. Usa la cabecera X-Muetext-event-id para evitar duplicados.
Flujo de eventos en vivo (SSE)
GET /api/public/v1/events con tu clave transmite message.created, approval.requested, browser.session.* y secret.provided. Envía Last-Event-ID para continuar; guardamos 24 horas de eventos. Si la conexión se cierra, vuelve a conectar con tu último id.
Límites y duplicados
Cada POST que envía necesita la cabecera Idempotency-Key; reintentar con la misma clave devuelve el mensaje original. Si superas el límite recibes 429 con Retry-After.