Ir al contenido principal

Webhooks

Recibe un mensaje en tu propio sistema cuando tus clientes se registran o acumulan.

Escrito por Berke Atik

Los Webhooks permiten que Loyaltify avise al instante a tus otros sistemas cuando pasa algo, como cuando se registra un cliente nuevo o un cliente gana puntos. Loyaltify envía un mensaje corto a la dirección que elijas, y tu sistema puede actuar en consecuencia.

Son útiles para mantener un CRM al día, activar correos en tus propias herramientas o crear informes. Esta guía explica cómo configurar uno, qué contiene cada mensaje y cómo comprobar que los mensajes llegan.

💡 Conviene saber: esto forma parte del plan Advanced. Deja de funcionar si cambias a un plan inferior.

Configura un webhook

Paso 1: Abre la configuración del webhook

Ve a Integraciones y haz clic en Conectar en la tarjeta Webhook.


​

Paso 2: Rellena los datos

En la ventana Configuración del webhook:

  • URL del endpoint: la dirección https de tu sistema que debe recibir los mensajes.

  • Autorización: elige Bearer y escribe un token propio, o elige Ninguna.

  • Eventos: marca los que quieras. Necesitas al menos uno.

Después guarda y tu webhook estará activo.

💡 Consejo: elige Bearer y un token largo y aleatorio. Así, cada mensaje incluye la cabecera Authorization: Bearer seguida de tu token, y tu sistema puede comprobar que el mensaje viene realmente de Loyaltify. Este token es distinto de tu clave API.

Cámbialo más adelante

Puedes cambiar el endpoint, la autorización y los eventos cuando quieras en la página Configuración del webhook. Haz clic en Guardar cuando termines.


Eventos que puedes elegir

  • Cliente creado (customer.created): se registra un cliente nuevo.

  • Cliente actualizado (customer.updated): se editan los datos de un cliente.

  • Transacción creada (transaction.created): un cliente recibe su saldo inicial, acumula, canjea, recibe una recompensa por referidos o le caducan puntos.

  • Intento de registro de cliente existente (customer.signup_attempt): alguien que ya tiene la tarjeta vuelve a rellenar tu formulario. Sus datos guardados no cambian con el nuevo envío.


Qué contiene cada mensaje

Loyaltify envía cada mensaje en JSON, con las cabeceras Content-Type: application/json y User-Agent: Loyaltify-Webhook/1.0. Cada mensaje tiene tres partes:

  • event: qué evento es, por ejemplo customer.created.

  • timestamp: cuándo ocurrió, en UTC (por ejemplo 2026-10-16T16:38:46Z).

  • data: los detalles, que dependen del evento.

Los números como point y balance_after se envían como texto, por ejemplo "1.0", y los valores vacíos son null.

Cliente creado y Cliente actualizado

  • name, email, phone y birthday

  • uuid: el ID del cliente (el mismo que aparece en el código QR de su tarjeta)

  • point: su saldo (en Cliente creado, el saldo inicial)

  • custom_fields: las respuestas a tus preguntas personalizadas, incluidos los valores ocultos del enlace del formulario, como click_id

  • is_marketing_opted_in: si aceptó recibir marketing

  • created_at, updated_at y store_uuid

Cliente actualizado incluye los mismos campos, con los valores nuevos. Este es un ejemplo de Cliente creado:

{
"data": {
"name": "Alex",
"uuid": "7f3e9a21",
"email": "[email protected]",
"phone": null,
"point": "1.0",
"birthday": null,
"created_at": "2026-10-16T16:38:41.704Z",
"store_uuid": "a1b2c3d4",
"updated_at": "2026-10-16T16:38:46.790Z",
"custom_fields": {},
"is_marketing_opted_in": true
},
"event": "customer.created",
"timestamp": "2026-10-16T16:38:46Z"
}

Transacción creada

  • kind: el tipo de transacción, por ejemplo initial (el saldo inicial al registrarse), manual, redeem, expired, referee o referrer

  • point y amount: los valores de la transacción. En las caducidades, point es negativo.

  • balance_after: el saldo del cliente después de la transacción

  • campaign: en los canjes, la campaña que se canjeó

  • user: el miembro del equipo que escaneó (nombre, ID y correo electrónico), o null en los eventos automáticos, como las caducidades

  • customer_uuid, customer_email y customer_phone

  • referred_by_uuid: en las recompensas por referidos, quién refirió al cliente

  • uuid: el ID propio de la transacción

  • created_at y store_uuid

Este es un ejemplo de un miembro del equipo que añade un punto:

{
"data": {
"kind": "manual",
"user": {
"name": "Sam Taylor",
"uuid": "0b8e7d4c-1f2a-4c3b-9d5e-6a7b8c9d0e1f",
"email": "[email protected]"
},
"uuid": "5c9d2e7a-3b4f-4a1c-8e6d-2f7a9b0c1d3e",
"point": "1.0",
"amount": null,
"campaign": null,
"created_at": "2026-10-16T16:45:10.375Z",
"store_uuid": "a1b2c3d4",
"balance_after": "2.0",
"customer_uuid": "7f3e9a21",
"customer_email": "[email protected]",
"customer_phone": null,
"referred_by_uuid": null
},
"event": "transaction.created",
"timestamp": "2026-10-16T16:45:10Z"
}

Una recompensa por referidos envía dos transacciones al mismo tiempo: referee para el cliente nuevo, con referred_by_uuid igual al ID del referente, y referrer para el cliente que lo refirió.

Intento de registro de cliente existente

  • customer: quién es el cliente existente, con su uuid y sus custom_fields

  • matched_on: cómo se le reconoció, por ejemplo por el correo electrónico

  • submission: lo que acaba de introducir en el formulario

  • form: qué formulario usó

Para ver un mensaje completo, abre cualquier envío en Eventos recientes (ver más abajo).


Comprueba tus envíos

La página Configuración del webhook muestra tus Eventos recientes con su estado, código de respuesta, número de intentos y fecha. Haz clic en el icono del ojo para ver exactamente qué se envió, las cabeceras y la respuesta de tu sistema.

¿No llegan los mensajes?

  • Comprueba que tu URL del endpoint es una dirección https válida. A veces los navegadores rellenan automáticamente ese campo con una dirección de correo electrónico.

  • Comprueba que el evento está marcado en la página Configuración del webhook.

  • Comprueba que tienes el plan Advanced.

  • Busca el evento en Eventos recientes. Si el código de respuesta muestra un error, tu sistema recibió el mensaje pero lo rechazó, y el icono del ojo muestra su respuesta.

¿Sigues sin solucionarlo? Contacta con el soporte por el chat en vivo.


Conviene saber

  • Puede que los mensajes no lleguen en orden, así que usa la marca de tiempo si el orden importa.

  • Prepara tu sistema para recibir el mismo evento dos veces, por si acaso. En las transacciones, el uuid de data es único para cada una.

  • ¿Trabajas con la API? Los webhooks envían el ID corto del cliente. Algunas solicitudes de la API necesitan en su lugar el número interno del cliente, y la documentación de la API explica cómo obtener uno a partir del otro.

  • ¿Usas Omnisend? La propia guía de Omnisend usa un webhook para conectarse a Loyaltify. Consulta el Resumen de integraciones para ver el enlace.
    ​


¿Necesitas ayuda?

¡Estamos aquí para ayudarte!

Si tienes cualquier pregunta sobre los webhooks, escríbenos por el chat en vivo dentro de Loyaltify o usa el botón de chat abajo a la derecha de esta página. Nuestro equipo te ayudará encantado.

¿Ha quedado contestada tu pregunta?