Activa webhooks en plan Business
Desde Ajustes > Integraciones > Webhooks (disponible en plan Business) activas el módulo y generas una clave HMAC única para tu negocio. Guárdala: Marai no vuelve a mostrarla después.
Recibe POST HTTPS firmado con HMAC-SHA256 cada vez que ocurre uno de los 12 eventos de tu agenda: citas, clientes, pagos y reservas. Para integraciones a medida con tu propio stack, sin Zapier de por medio. Disponible en plan Business.
12
7 de citas, 2 de clientes, 2 de pagos y 1 de reservas. Filtrables uno a uno desde el panel.
HMAC-SHA256
Cabecera X-Marai-Signature con tu clave secreta personal. Imposible falsificar peticiones.
SSRF guard
Doble capa: URL parser + DNS pre-resolución bloquean IPs privadas y endpoints de metadatos cloud.
¿Qué son los webhooks de Marai?
Son llamadas HTTP POST automáticas que Marai envía a una URL HTTPS de tu elección cada vez que ocurre uno de los 12 eventos disponibles en la agenda (nueva cita, cancelación, pago recibido, etc.). Cada llamada incluye un cuerpo JSON firmado con HMAC-SHA256 mediante la cabecera X-Marai-Signature, lo que te permite verificar la autenticidad antes de procesarla. El sistema está diseñado fire-and-forget: si tu endpoint falla, la operación principal de Marai no se ve afectada. Disponible en plan Business.
Tres pasos para conectar Marai con cualquier servicio HTTP que admita peticiones POST: tu propio backend, una función serverless, una herramienta interna o un middleware.
Desde Ajustes > Integraciones > Webhooks (disponible en plan Business) activas el módulo y generas una clave HMAC única para tu negocio. Guárdala: Marai no vuelve a mostrarla después.
Indica tu URL HTTPS de destino y selecciona los eventos que quieres recibir (de los 12 disponibles). Si no eliges ninguno, Marai envía todos. Puedes ajustar la lista en cualquier momento.
A partir de ese momento, cada evento dispara un POST a tu URL en menos de un segundo. Verifica la firma X-Marai-Signature contra tu clave y procesa el payload. Tiempo de espera 10 s, sin reintentos automáticos.
Doce eventos cubren todo el ciclo de vida del producto: agenda, clientes, pagos y reservas públicas. Cada uno se puede activar o desactivar individualmente.
appointment.created Se ha creado una nueva cita. appointment.confirmed El cliente ha confirmado asistencia. appointment.rescheduled Se ha cambiado la fecha u hora. appointment.updated Se ha modificado un campo (servicio, profesional, notas). appointment.completed La cita ha sido marcada como completada. appointment.cancelled Se ha cancelado la cita. appointment.noShow El cliente no ha acudido (ausencia). client.created Nuevo cliente registrado en el negocio. client.updated Datos de cliente actualizados (teléfono, correo, notas, etc.). payment.completed Pago procesado correctamente vía Stripe. payment.failed Pago rechazado o fallido (tarjeta, fondos, 3D Secure, etc.). booking.submitted Un cliente ha enviado una solicitud desde el portal de reservas público. Cada webhook llega como POST con cuerpo JSON UTF-8 firmado. La estructura es estable y versionada implícitamente vía el campo «event».
{
"event": "appointment.created",
"businessId": "uuid-string",
"timestamp": "2026-05-07T14:32:18.420Z",
"data": {
"appointmentId": "uuid",
"clientId": "uuid",
"professionalId": "uuid",
"serviceId": "uuid",
"startTime": "2026-05-09T10:00:00.000Z",
"endTime": "2026-05-09T10:30:00.000Z",
"status": "PENDING_CONFIRMATION"
}
} application/json Marai-Webhooks/1 hex(HMAC-SHA256(body, secret)) Ambas herramientas conectan Marai con el resto de tu stack, pero apuntan a perfiles distintos. Los webhooks dan control total al equipo técnico; Zapier es la opción sin código para usuarios sin desarrolladores.
| Característica | Webhooks | Zapier |
|---|---|---|
| Tipo de usuario | Desarrollador / técnico | Sin código / negocio |
| Coste por evento | 0 € | Plan Zapier desde 19,99 $ |
| Latencia | < 1 s | ~5-30 s |
| Eventos disponibles | 12 | 12 |
| Plan Marai necesario | Business | Pro o Business |
| Reintentos automáticos | No (fire-and-forget) | Sí (Zapier reintenta) |
| Verificación de firma | HMAC-SHA256 | URL secreta |
Tiempo real verdadero
Los eventos se entregan en menos de un segundo. Sin sondeo periódico ni latencia añadida.
Coste cero por evento
A diferencia de Zapier, no pagas por número de tareas. Conectas directamente con tu propia infraestructura.
Filtrable por evento
Configura el conjunto de eventos que quieres recibir. Si solo te interesa «appointment.created», ese es el único POST que verás.
No afecta tu agenda
Si tu endpoint falla, Marai registra el error pero la operación interna sigue intacta. Diseño fire-and-forget.
Marai trata los webhooks salientes como una superficie de ataque potencial: cada URL pasa por dos capas de validación antes de cada envío para evitar SSRF, DNS rebinding y filtraciones a redes internas. Tu endpoint nunca recibirá una llamada que no provenga del dispatcher oficial.
Disponible exclusivamente en plan Business. Cancelable cuando quieras desde el panel.
En el plan Business (99 €/mes). Los planes Free, Starter y Pro no incluyen webhooks personalizados; para esos planes la alternativa equivalente es la integración con Zapier (en planificación, próximamente disponible para los planes Pro y Business).
Los webhooks son la opción técnica: un POST HTTPS firmado con HMAC-SHA256 que llega a tu propio backend. Sin coste por evento, latencia <1 s, sin reintentos. Zapier es la opción sin código: configuras Zaps visualmente, conectas con miles de aplicaciones y Zapier reintenta automáticamente. Los webhooks dan control total; Zapier es más rápido de configurar.
En tu endpoint, calcula el HMAC-SHA256 del cuerpo de la petición usando tu clave secreta. Compáralo en tiempo constante con el valor de la cabecera X-Marai-Signature (formato hexadecimal). Si coinciden, la petición es auténtica. La documentación del panel incluye ejemplos en Node.js y Python.
No. Marai usa un diseño fire-and-forget: cada webhook se envía una sola vez con timeout de 10 segundos. Si tu endpoint devuelve un error o no responde a tiempo, Marai lo registra pero no reintenta. Si necesitas garantías de entrega, encola el webhook entrante y procésalo desde tu propio sistema con reintentos.
Sí. Desde el panel configuras una lista de eventos a los que te suscribes. Si la lista está vacía, Marai envía los 12 eventos. Si seleccionas solo los que te interesan, los demás no se envían a tu endpoint.
No directamente. Marai es origen de eventos, no destino. Si necesitas que un sistema externo cree citas o clientes en Marai, la opción es la API REST oficial (autenticada con clave API en Ajustes > Integraciones) o la próxima integración con Zapier, donde Marai aparecerá también como acción.