Ir al contenido principal

Webhooks: avisa a tu CRM cuando alguien paga, se da de baja o llega como contacto nuevo

Cómo conectar Go High Level, Zapier, Make o tu servidor para recibir los eventos de tu compañía en el momento.

Escrito por Joe Peña

Un webhook es un aviso que Flycrew le manda a otro sistema en el momento en que algo pasa en tu compañía: una venta, un pago rechazado, una baja, un contacto nuevo. Sirve para que tu CRM o tus automatizaciones (Go High Level, Zapier, Make o tu propio servidor) reaccionen solos, sin que tengas que exportar nada.

Cada destino es una URL que tú registras, con los eventos que eliges para ella.


Antes de empezar

  • Los webhooks vienen incluidos en los planes Crece, Pro y Héroes. En Cambiar plan, los planes que los incluyen muestran la línea "Webhooks para conectar tu CRM y tus automatizaciones".

  • Solo el dueño de la compañía ve la sección Integraciones.

  • Necesitas la URL que te da tu CRM o tu herramienta de automatización para recibir webhooks. Tiene que empezar con https.


Cómo agregar un destino

  1. Entra a Administrar → Integraciones → Webhooks.

  2. Haz clic en Agregar destino.

  3. En URL del destino, pega la dirección de tu CRM. No se aceptan direcciones de redes privadas.

  4. En Eventos, marca los que quieres recibir (abajo, qué significa cada uno). Tienes que elegir al menos uno.

  5. Haz clic en Guardar.

Listo: desde ese momento, cada vez que ocurra uno de esos eventos, Flycrew le envía el aviso a tu destino.

Puedes tener hasta 5 destinos. Desde el listado o desde el detalle de cada uno puedes editar su URL y sus eventos, o desactivarlo: un destino desactivado no recibe eventos hasta que lo vuelvas a activar.


Qué eventos puedes recibir

  • Venta pagada (sale.paid). Incluye las renovaciones de una suscripción y las ventas gratis, con monto 0.

  • Pago rechazado (sale.declined). También el de una renovación, con el motivo del rechazo.

  • Venta reembolsada (sale.refunded).

  • Baja de una suscripción (subscription.canceled). Trae el motivo y hasta cuándo conserva el acceso la persona. Una renovación exitosa no es una baja.

  • Contacto nuevo (contact.created).

  • Checkout abandonado (checkout.abandoned). Una persona identificada —con su sesión iniciada o con su correo escrito en el checkout— empezó a comprar un producto y no lo pagó. Trae el enlace a su checkout para que tu CRM le escriba. Se envía una sola vez por compra. Un pago rechazado no es un checkout abandonado: ese llega como pago rechazado.

Si importas contactos desde un archivo, no se envían eventos: así tu CRM no se llena de ventas y contactos antiguos. Un cliente que agregas a mano a un producto sí los envía.


Probar tu destino antes del primer evento real

En el detalle del destino, Enviar evento de prueba te deja elegir uno de sus eventos y le manda un ejemplo con datos ficticios, con la misma forma del evento real y marcado con "test": true. Sirve para que tu CRM aprenda los campos antes de la primera venta.

La prueba solo se envía a ese destino y aparece en su historial marcada como Prueba.


Qué recibe tu destino

Cada aviso es un POST con un JSON que trae el id del evento, su tipo, la fecha en UTC, tu compañía y los datos del evento: el correo y el teléfono del contacto, el producto, y el monto y la moneda de la venta. Los ids son los mismos de la API de Flycrew, y los datos son los del momento en que pasó el evento.

Las ventas y los contactos traen también de dónde llegó la persona (canal, fuente, campaña y los UTM) y su país, los mismos datos que ves en Analíticas.

Para verificar que el aviso salió de Flycrew, el detalle del destino muestra su Secreto de firma. Cada aviso trae el header Flycrew-Signature, con la forma t=<unix>,v1=<firma>: la firma es un HMAC-SHA256 con tu secreto sobre <t>.<cuerpo del aviso>. No compartas ese secreto.

Un mismo evento puede llegar más de una vez (por ejemplo, si lo reenvías) y el orden de llegada no está garantizado. Cada aviso trae el header Flycrew-Event-Id: úsalo para no procesar dos veces el mismo evento.


El historial de envíos

El detalle del destino muestra el Historial de envíos de los últimos 30 días: el evento, su estado (Pendiente, Enviado o Fallido), la respuesta de tu destino, los intentos y la fecha. Cada envío se puede volver a mandar con Reenviar.


Si tu destino no responde

Tu destino tiene que responder con un código 2xx. Flycrew espera 2 segundos para conectarse y 10 segundos por la respuesta.

  • Si falla o no responde a tiempo, Flycrew lo reintenta hasta completar 8 intentos durante cerca de 24 horas. Una redirección no se sigue y cuenta como fallo.

  • Si responde lento varias veces seguidas, el destino queda En pausa: los envíos esperan y se retoman solos al terminar la pausa. El detalle te dice a qué hora se retoma y tiene el botón Reanudar ahora, por si ya lo resolviste.

  • Si lleva 3 días fallando sin un solo envío exitoso, se desactiva y lo verás como Desactivado por fallos. También se desactiva si responde 410. Cuando lo arregles, vuelve a activarlo.


Si tu plan no incluye webhooks

La pantalla Webhooks muestra el aviso "Los webhooks no están incluidos en tu plan actual. Actualiza tu plan para activarlos." con el botón Ver planes, y no ofrece Agregar destino.

Si ya tenías destinos y tu plan deja de incluirlos:

  • No se registran eventos nuevos mientras tanto, y no se envían después aunque recuperes el plan.

  • Lo que ya estaba en camino se entrega igual.

  • Sigues viendo tus destinos, su secreto y su historial, pero no puedes agregarlos, editarlos ni enviar pruebas.

  • Tus destinos no se borran: cuando tu plan vuelve a incluir webhooks, el siguiente evento se envía sin que tengas que tocar nada.


💡 Te puede interesar

¿Tienes dudas? Escríbenos por el chat de esta página.

¿Ha quedado contestada tu pregunta?