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 ejemplocustomer.created.timestamp: cuándo ocurrió, en UTC (por ejemplo2026-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,phoneybirthdayuuid: 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, comoclick_idis_marketing_opted_in: si aceptó recibir marketingcreated_at,updated_atystore_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 ejemploinitial(el saldo inicial al registrarse),manual,redeem,expired,refereeoreferrerpointyamount: los valores de la transacción. En las caducidades,pointes negativo.balance_after: el saldo del cliente después de la transaccióncampaign: en los canjes, la campaña que se canjeóuser: el miembro del equipo que escaneó (nombre, ID y correo electrónico), onullen los eventos automáticos, como las caducidadescustomer_uuid,customer_emailycustomer_phonereferred_by_uuid: en las recompensas por referidos, quién refirió al clienteuuid: el ID propio de la transaccióncreated_atystore_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 suuuidy suscustom_fieldsmatched_on: cómo se le reconoció, por ejemplo por el correo electrónicosubmission: lo que acaba de introducir en el formularioform: 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
uuiddedataes ú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.



