Documentación
Imprimir página

Webhooks: Conectar SuperSaaS con otros sitios web

Los webhooks son devoluciones de llamada definas por el usuario que informan a otras aplicaciones o sitios web sobre eventos que ocurren en tu cuenta SuperSaaS casi en tiempo real.

Algunos ejemplos sobre cómo puedes utilizar un webhook:

Webhooks logos
  • Cuando un nuevo usuario se registra en tu cuenta SuperSaaS le suscribe a una lista de correo Mailchimp.
  • Cuando se registra un nuevo usuario, se envía un PDF con tus términos y condiciones a su dirección de correo
  • Cuando se concierta una nueva cita, se genera una factura en QuickBooks o Freshbooks
  • Cuando se concierta una nueva cita para una clase específica, lo marca en el calendario de Google del profesor de esa clase
  • Cuando una cita está a punto de empezar, envía una notificación a Slack o manda una notificación a tu teléfono.
  • Cuando un usuario consigue pasar de una lista de espera a tener una fecha confirmada, le envía un mensaje de SMS.
  • Cuando se envía un correo electrónico, se desavía a send email via another mail server

Configurar automáticamente webhooks utilizando Zapier.com o Integromat.com

Puedes utilizar Zapier.com o Integromat.com para crear enlaces de forma interactiva entre cientos de sitios web populares y SuperSaaS, sin necesidad de programar. Tanto Zapier como Integromat ofrecen una versión de prueba y espacio libre para pequeños usuarios.

Debería ser relativamente sencillo crear webhooks desde ejemplos prediseñados, pero puedes encontrar información detallada abajo si quieres un control más exhaustivo al filtrar sólo ciertos eventos.

New client to MailChimpNuevo usuario en la lista de correo de Mailchimp
New appointment to Google CalendarNueva cita en Google Calendar
New appointment to QuickBooksLas nuevas reservas crean Facturas en QuickBooks
New appointment to MailNueva citas para el filtro de correo electrónico

Disparadores soportados

Hay varios sucesos diferentes que puedes monitorizar. Algunos de ellos se pueden monitorizar para un nuevo evento, o un evento “modificado”. El evento “modificado” incluye todos los cambios, por lo que también afecta a “nuevo” o “borrar”. Tanto si configuras un “Nuevo usuario” como “Usuario modificado”, ambos se dispararán cuando se registre un nuevo usuario. Ten en cuenta que si has configurado tu horario para no requerir el registro, entonces nunca verás un disparador “Nuevo usuario”, sólo un disparador “Nueva cita”.

TriggerCaused by…
Nuevo usuarioSe dispara cuando un usuario se registra en tu cuenta
Usuario modificadoSe dispara cuando el usuario actualiza la información de registro, o el administrador lo hace por él
Nueva citaSe dispara cuando un usuario, o el administrador, concierta una cita en un horario específico.
Cita cambiadaSe dispara en todos los cambios posibles para una cita, incluyendo “Nuevo”, “Borrar”, “Colocación en lista de espera”, “Pago recibido”, etc (Ver la lista completa debajo)
Nuevo formulario independienteSe dispara cuando se rellena un formulario independiente. Ten en cuenta que esto no funciona cuando un formulario está adjunto a una cita, en lugar de eso se desencadenaría el webhook de la cita
Formulario independiente actualizadoSe dispara ante cualquier cambio en un formulario independiente (los formularios integrados dispararían una “Cita modificada” o “Usuario modificado”)
Send mailSe dispara en todos los correos enviados desde tu cuenta, incluyendo los correos de “Contraseña perdida”, etc. Útil para enviar correos a través de tu propio servidor. El correo no será enviado por nosotros si el disparador está activo.
Recordatorio
Seguimiento
Se desencadena en Recordatorios o Seguimientos. El recordatorio o seguimiento no será enviado por nosotros si su disparador está activo.

Filtrar eventos

Cuando conectas dos servicios utilizando Zapier o Integromat, eso te permite filtrar los eventos. Algunos ejemplos de cómo puedes utilizar los filtros:

  • Sólo envía una notificación SMS cuando alguien está colocado en una lista de espera, no para todos los cambios de cita.
  • Sólo notifica a un profesor de una nueva reserva si la clase es impartida por ese profesor, ignora las otras reservas en el mismo horario.
  • Sólo envía una notificación para la gestión si la reserva tiene un valor de más de $100.

Cuando creas un nuevo disparador, Zapier/Integromat te pedirá un objeto de ejemplo de SuperSaaS. El objeto de ejemplo clasifica los campos disponibles y algunos contenidos de ejemplo. Los campos que el disparador envía dependen de los campos que están disponibles en tu cuenta y si hay un formulario personalizado adjunto. Hay campos “evento” y “rol” incluidos en la mayoría de los disparadores que pueden utilizarse para filtrar los eventos. Por ejemplo, podrás filtrar sólo los disparadores que contienen el valor “borrar” en el campo “evento”.

TriggerPossible values of the "event" field
New usernew
Changed usernew, change, delete
New appointmentcreate
Changed appointmentcreate, edit, place, pending, destroy, restore, approve, revert
New formnew
Changed formnew, change, delete, restore
Reminder / Follow-upreminder, follow_up

"Role" fieldWho triggered the event…
0AnonymousNot logged in
1Logged in with a shared password
2Validated using an IP range check
3Usuario normal
4Superusuario
5Administrador o Revendedor
7Sistema o Pasarela de pago

Al crear o cambiar una cita que incluye el pago, el campo “estado” y “mensaje de estado” permite reducir aún más los eventos específicos utilizando la lista de todos los posibles status codes. Por ejemplo, podrás seleccionar un filtro para que actúe sólo en mensajes para citas que se han reembolsado.

Configurar disparadores manualmente (avanzado)

Por favor, ten en cuenta que esta característica sólo está disponible para suscriptores. Puedes probar por una semana al hacer clic en el botón “Empezar prueba gratuita” en la pantalla webhooks.

Crear un disparador web sin utilizar Zapier o Integromat requiere algunas habilidades de desarrollo web. El resto de esta página contiene información para programadores que quieren añadir un disparador para enviar información a su propia aplicación, o que quieren programar su propia interfaz entre SuperSaaS y otro sitio.

Puedes crear y actualizar manualmente webhooks en la pantalla Webhooks Webhooks dentro de tu cuenta. Un disparador envía datos, por lo que requiere que un servicio web esté disponible en otro lado para recibir esos datos. Normalmente el otro lado es un script o una aplicación que creas, pero puede también ser la tercera parte a la que se conecta el webhook.

Personalizar el mensaje que envía un webhook

Por defecto, un webhook envía todos los campos relevantes codificados como JSON. Ten en cuenta que si un objeto tiene un formulario personalizado adjunto ese formulario estará también incluido. Puedes cambiar esto para no enviar ningún dato, o enviar datos definidos por ti mismo. Por ejemplo, puede interesarte incluir algún tipo de llave de API o autenticación en el mensaje.

Después de crear un nuevo webhook llegarás automáticamente a una pantalla donde puedes editar los contenidos de la carga útil, el mensaje que envía el webhook. Si haces clic en “Personalizar” verás un editor JSON que te permite añadir y eliminar campos específicos. La parte inferior de esa pantalla verás todas las palabras clave que son reemplazadas cuando se genera el mensaje. Las palabras mágicas cambian dependiendo de los campos que están habilitados para ese objeto.

Comprobar un webhook

Un buen sitio web para ayudarte a depurar un webhook es RequestBin. El servicio te suministra un enlace que puedes utilizar como la URL objetivo, de modo que puedas monitorizar exactamente a través de dónde se envían los datos.

Puedes también encontrar un enlace “Test” en la pantalla editar del webhook que te habilita para disparar un gancho manualmente y modificar el mensaje de salida. Esto te permite modificar una llamada saliente para imitar, por ejemplo, un pago fallido sin realmente tener que generar un evento en tu horario.

El mensaje de prueba debería salir en promedio 5 segundos después de que se haya creado. Si la parte receptora responde con un código de estado que no es “OK” (código de estado fuera de rango 200 a 300) el mensaje se intentará enviar de nuevo a intervalos crecientes. Después de 10 fallos, el mensaje se borrará y si un gancho tiene más de 5 mensajes fallidos se desactivará hasta que sea reactivado manualmente en la pantalla del webhook. Si el receptor responde con un mensaje de código de estado “410 Gone”, el webhook se eliminará inmediatamente.