Aller au contenu principal

Dépense de points (points_redemption/created)

Enkore envoie un webhook à chaque fois qu'un consommateur échange ses points contre une récompense. Ce document décrit le payload de cet événement et son déclencheur.

Les headers, la signature HMAC et la politique de réessai sont communs à tous les webhooks et sont décrits dans Livraison et signature des webhooks.


Déclencheur​

Le webhook points_redemption/created est émis lorsqu'un consommateur échange ses points contre une récompense du programme de fidélité, une fois le bon de réduction créé sur votre boutique.

info

Seuls les échanges de points déclenchent cet événement. Les bons de parrainage (filleul ou parrain) ne consomment pas de points et ne font l'objet d'aucun envoi.

attention

Si la création du bon échoue sur votre boutique, les points restent débités mais aucun webhook n'est envoyé : l'incident est traité par le support Enkore.


Format du payload​

Enkore envoie une requête POST en application/json vers l'URL configurée dans le back-office.

Exemple de payload​

{
"event": "points_redemption/created",
"customerId": 42,
"rewardReference": "bon-10-euros",
"pointsSpent": 500,
"voucherCode": "ENK_7XK2P9QMRA",
"balance": 870,
"obtainedAt": "2026-09-11T10:00:00.000Z"
}

Description des champs​

ChampTypeDescription
eventstringToujours "points_redemption/created"
customerIdnumberIdentifiant externe du consommateur (correspond à l'ID dans votre plateforme e-commerce)
rewardReferencestringRéférence de la récompense échangée, telle que configurée dans le back-office
pointsSpentnumberNombre de points débités par l'échange
voucherCodestringCode du bon de réduction créé sur votre boutique. Unique par échange
balancenumberSolde de points du consommateur, recalculé au moment de l'envoi
obtainedAtstringDate de l'échange, au format ISO 8601 (UTC)
info

Un échange n'est rattaché à aucune commande : ce payload ne porte pas d'orderId. Le bon pourra être utilisé plus tard dans une commande, qui fera l'objet de ses propres événements.


Points d'attention côté réception​

  • L'envoi est asynchrone et intervient peu après l'échange : ne présumez pas d'un ordre d'arrivée strict entre ce webhook et vos autres flux.
  • balance est le solde au moment de l'envoi, pas un simple ancien solde − pointsSpent : d'autres opérations (gain, expiration, déduction) ont pu avoir lieu entre-temps.
  • Rendez le traitement idempotent : un même événement peut être livré plusieurs fois. Le voucherCode, unique par échange, identifie l'événement métier (voir la section déduplication de la page commune).