Les Webhooks permettent à Loyaltify de prévenir immédiatement vos autres systèmes lorsqu’il se passe quelque chose, par exemple quand un nouveau client s’inscrit ou qu’un client gagne des points. Loyaltify envoie un court message à l’adresse de votre choix, et votre système peut y réagir.
Ils sont utiles pour tenir un CRM à jour, déclencher des e-mails dans vos propres outils ou créer des rapports. Ce guide explique comment en configurer un, ce que contient chaque message et comment vérifier que les messages arrivent bien.
💡 Bon à savoir : Cette fonctionnalité fait partie de la formule Advanced. Elle cesse de fonctionner si vous passez à une formule inférieure.
Configurer un webhook
Étape 1 : ouvrez la configuration du webhook
Allez dans Intégrations et cliquez sur Connecter sur la carte Webhook.
Étape 2 : renseignez les informations
Dans la fenêtre Configuration du webhook :
URL du point de terminaison : l’adresse https de votre système qui doit recevoir les messages.
Autorisation : choisissez Bearer et saisissez un jeton de votre choix, ou choisissez Aucune.
Événements : cochez ceux que vous souhaitez. Vous devez en sélectionner au moins un.
Enregistrez ensuite, et votre webhook est actif.
💡 Astuce : Choisissez Bearer et un jeton long et aléatoire. Chaque message inclut alors l’en-tête Authorization: Bearer suivi de votre jeton, afin que votre système puisse vérifier que le message provient bien de Loyaltify. Ce jeton est distinct de votre clé API.
Le modifier plus tard
Vous pouvez modifier le point de terminaison, l’autorisation et les événements à tout moment sur la page Configuration du webhook. Cliquez sur Enregistrer lorsque vous avez terminé.
Les événements disponibles
Client créé (
customer.created) : un nouveau client s’inscrit.Client mis à jour (
customer.updated) : les informations d’un client sont modifiées.Transaction créée (
transaction.created) : un client reçoit son solde de départ, cumule, utilise une récompense, reçoit une récompense de parrainage ou voit ses points expirer.Tentative d'inscription d'un client existant (
customer.signup_attempt) : une personne qui a déjà la carte remplit à nouveau votre formulaire. Ses informations enregistrées ne sont pas modifiées par ce nouvel envoi.
Contenu de chaque message
Loyaltify envoie chaque message au format JSON, avec les en-têtes Content-Type: application/json et User-Agent: Loyaltify-Webhook/1.0. Chaque message comporte trois parties :
event: l’événement dont il s’agit, par exemplecustomer.created.timestamp: le moment où il s’est produit, en UTC (par exemple2026-10-16T16:38:46Z).data: les détails, qui dépendent de l’événement.
Les nombres comme point et balance_after sont envoyés sous forme de texte, par exemple "1.0", et les valeurs vides valent null.
Client créé et Client mis à jour
name,email,phoneetbirthdayuuid: l’identifiant du client (le même que dans le QR code de sa carte)point: son solde (pour Client créé, le solde de départ)custom_fields: les réponses à vos questions personnalisées, y compris les valeurs masquées du lien du formulaire, commeclick_idis_marketing_opted_in: s’il a donné son consentement marketingcreated_at,updated_atetstore_uuid
Client mis à jour contient les mêmes champs, avec les nouvelles valeurs. Voici un exemple de Client créé :
{
"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"
}
Transaction créée
kind: le type de transaction, par exempleinitial(le solde de départ à l’inscription),manual,redeem,expired,refereeoureferrerpointetamount: les valeurs de la transaction. En cas d’expiration,pointest négatif.balance_after: le solde du client après la transactioncampaign: pour l’utilisation d’une récompense, la campagne concernéeuser: le membre de l’équipe qui a scanné (nom, identifiant et e-mail), ounullpour les événements automatiques comme les expirationscustomer_uuid,customer_emailetcustomer_phonereferred_by_uuid: pour les récompenses de parrainage, la personne qui a parrainé le clientuuid: l’identifiant propre de la transactioncreated_atetstore_uuid
Voici un exemple d’un membre de l’équipe qui ajoute un point :
{
"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"
}
Une récompense de parrainage envoie deux transactions au même moment : referee pour le nouveau client, avec referred_by_uuid renseigné avec l’identifiant du parrain, et referrer pour le client qui l’a parrainé.
Tentative d'inscription d'un client existant
customer: le client existant concerné, avec sonuuidet sescustom_fieldsmatched_on: la façon dont il a été reconnu, par exemple par e-mailsubmission: ce qu’il vient de saisir dans le formulaireform: le formulaire utilisé
Pour voir un message complet, ouvrez n’importe quel envoi dans Événements récents (voir ci-dessous).
Vérifier vos envois
La page Configuration du webhook affiche vos Événements récents avec leur statut, leur code de réponse, le nombre de tentatives et la date. Cliquez sur l’icône œil pour voir exactement ce qui a été envoyé, les en-têtes et la réponse de votre système.
Les messages n’arrivent pas ?
Vérifiez que votre URL du point de terminaison est une adresse https valide. Les navigateurs y insèrent parfois automatiquement une adresse e-mail.
Vérifiez que l’événement est coché sur la page Configuration du webhook.
Vérifiez que vous avez la formule Advanced.
Consultez l’événement dans Événements récents. Si le code de réponse indique une erreur, votre système a bien reçu le message mais l’a refusé, et l’icône œil affiche sa réponse.
Toujours bloqué ? Contactez l’assistance via le chat en direct.
Bon à savoir
Les messages peuvent arriver dans le désordre, utilisez donc l’horodatage si l’ordre compte.
Prévoyez que votre système puisse recevoir deux fois le même événement, au cas où. Pour les transactions, l’
uuiddansdataest unique pour chacune.Vous travaillez avec l’API ? Les webhooks envoient l’identifiant court du client. Certaines requêtes de l’API nécessitent plutôt le numéro interne du client, et la documentation de l’API explique comment retrouver l’un à partir de l’autre.
Vous utilisez Omnisend ? Le guide d’Omnisend utilise un webhook pour se connecter à Loyaltify. Consultez la Présentation des intégrations pour obtenir le lien.
Besoin d’aide ?
Nous sommes là pour vous aider !
Si vous avez des questions sur les webhooks, contactez-nous via le chat en direct dans Loyaltify, ou utilisez le bouton de chat en bas à droite de cette page. Notre équipe se fera un plaisir de vous aider.



