JeriCommerce suit toutes les interactions importantes des clients avec votre programme de fidélité. Lorsque vous connectez l’intégration Custom API, tous les événements sont envoyés sous forme de webhooks HTTP POST à l’endpoint configuré. Vous disposez ainsi d’une grande flexibilité pour créer des automatisations personnalisées, synchroniser des données ou déclencher des flux dans n’importe quel système.

Configuration

Ajoutez votre endpoint webhook dans Settings → Integrations → API, activez la fonctionnalité Events, puis enregistrez. À partir de ce moment, chaque événement admissible lié à un client est envoyé à votre URL sous forme de requête POST.

Authentification

Chaque requête inclut un en-tête x-jericommerce-hmac-sha256 contenant une signature chiffrée avec HMAC-SHA256 à l’aide du secret affiché sur la page de l’intégration. Validez cette signature sur votre serveur pour vérifier que la requête provient bien de JeriCommerce et éviter toute usurpation.

Le type d’événement est transmis dans l’en-tête x-jericommerce-event-type : utilisez-le pour diriger la charge utile vers le gestionnaire approprié.

Échecs de remise et nouvelles tentatives

Les erreurs réseau, les réponses 408, 429 et 5xx entraînent de nouvelles tentatives selon un délai exponentiel, jusqu’à 10 tentatives. Les erreurs client permanentes, telles que 401, 403, 404 et 410, échouent immédiatement et ne sont pas relancées. Rendez votre endpoint idempotent, car une défaillance temporaire peut tout de même entraîner plusieurs livraisons du même événement.

JeriCommerce compte les erreurs permanentes consécutives pour chaque intégration API. Après 10 échecs permanents, il désactive la fonctionnalité Events de cette intégration afin de ne plus envoyer de requêtes à un endpoint défectueux. Corrigez l’endpoint, puis réactivez Events dans les paramètres d’intégration API. Une livraison réussie remet à zéro le compteur d’échecs consécutifs.

Charge utile de base

Tous les webhooks utilisent cette structure de base :

{
  "email": "customer@example.com",
  "id": "event-uuid",
  "customerId": "customer-uuid",
  "campaignId": "campaign-uuid",
  "url": "https://...",
  "browser": "Chrome 120",
  "createdAt": "2026-03-08T12:00:00Z",
  "properties": { ... }
}

Les champs indiqués comme facultatifs ci-dessous peuvent être absents de certains événements :

  • campaignId : uniquement si l’événement est lié à une campagne précise
  • url et browser : uniquement pour les événements provenant du Web

Tous les événements

Voici la liste complète des 19 événements envoyés à votre webhook. La colonne Event name correspond à la valeur de l’en-tête x-jericommerce-event-type. La colonne Key properties répertorie les champs disponibles dans l’objet properties pour chaque événement.

Nom de l’événement Déclencheur Principales propriétés
Customer
Customer created Un nouveau client est inscrit (sauf lors d’une synchronisation initiale) email, origin, referral, utmCampaign, utmMedium, utmSource, firstName, lastName, phoneNumber
Customer birthday Une tâche planifiée vérifie chaque jour les dates d’anniversaire (vers 9 h UTC) age (calculé à partir de la date de naissance)
Customer scanned Le client scanne un code NFC dans un point de vente via Shopify POS Informations sur l’emplacement et l’appareil
Customer tapped Le client présente sa carte à un appareil VTAP/NFC Informations sur l’appareil
Wallet pass
Wallet pass requested Le client demande un lien de téléchargement de sa carte Wallet email, referral, downloadLink, utmCampaign, utmSource, utmMedium
Wallet pass installed Le client ajoute le pass à Apple Wallet ou Google Wallet referral, utmCampaign, utmSource, utmMedium
Wallet pass uninstalled Le client retire le pass de son portefeuille referral, utmCampaign, utmSource, utmMedium
Loyalty
Balance changed Des points de fidélité sont ajoutés ou retirés (achats, remboursements, ajustements manuels) amount, reference, previous (solde avant la modification), pointsToNextReward, nextRewardName
Tier changed Le niveau de fidélité du client change (recalcul quotidien à 5 h ou à la suite d’un changement de solde) previous (nom du niveau), current (nom du niveau)
Coupons
Coupon assigned Un code coupon est attribué à un client code, header, body, slug, assignedFrom, installUrl
Coupon expiring Un code coupon attribué et non utilisé expire le lendemain selon le calendrier du magasin couponId, couponCodeId, couponSlug, code, expiresAt
Coupon pass installed Le client ajoute un pass coupon à Apple Wallet ou Google Wallet referral, utmCampaign, utmSource, utmMedium
Coupon pass uninstalled Le client retire un pass coupon de son portefeuille referral, utmCampaign, utmSource, utmMedium
Gift cards
Gift card sent L’administrateur envoie une carte-cadeau à un client code, header, body, slug, assignedFrom, installUrl, mailSent
Rewards
Reward redeemable Une récompense devient accessible à l’utilisation par le client rewardId, rewardLink, rewardTitle, rewardValue, rewardCost, customerRemainingBalance
Reward redeemed Le client utilise une récompense rewardId, rewardLink, rewardTitle, code
Reward refunded L’administrateur rembourse une récompense précédemment utilisée claimId
Engagement
Wallet click Le client clique sur un lien dans son pass Wallet url, browser, utmCampaign, utmSource ("wallet"), utmMedium ("wallet_pass")
Wallet visit Le client visite ou ouvre l’application web de son pass Wallet name, url, browser, referral, utmCampaign, utmSource, utmMedium

C’est prêt ! Votre endpoint recevra désormais en temps réel les données de chaque interaction des clients avec JeriCommerce.

Coupon expiring

L’événement Coupon expiring est disponible dans la correspondance générique des événements API. Il est émis pour un code coupon attribué à un client, non utilisé et qui expire le lendemain selon le fuseau horaire du magasin configuré dans Shopify. Si JeriCommerce ne peut pas lire ce fuseau horaire, il utilise UTC. Il ne s’agit pas d’un rappel envoyé exactement 24 heures avant l’expiration.

Les properties de l’événement comprennent couponId, couponCodeId, couponSlug, code et expiresAt. Utilisez-les pour créer votre propre automatisation. L’événement n’envoie automatiquement aucun e-mail ni aucune notification push et n’est pas disponible comme déclencheur Shopify Flow.