Passer au contenu

Génération de code dynamique avec Punchh

Un code de coupon est un code unique qui peut être utilisé par un seul utilisateur (une seule fois ou plusieurs fois). Le framework Punchh génère des codes de coupon, qui peuvent être traités dans une application mobile ou au point de vente (POS).

Cette intégration est maintenue par Punchh.

À propos de l’intégration

En utilisant le cadre de coupons Punchh et Braze, vous pouvez réaliser les scénarios suivants :

  • Générer un code de coupon lorsque le client sélectionne un lien de génération de coupon dans un e-mail : le code de coupon est généré dynamiquement et affiché sur une page web.
  • Générer un code de coupon lorsque le client ouvre un e-mail : le code de coupon est généré dynamiquement et affiché sous forme d’image dans l’e-mail.

Intégration de la génération dynamique de codes promotionnels

Étape 1 : Créer une campagne de coupons

  1. À l’aide d’une campagne de coupons Punchh, créez une campagne de génération dynamique de coupons comme illustré dans l’image suivante.
  2. Le framework de coupons Punchh génère les paramètres suivants pour permettre la génération dynamique de coupons :
    • Jeton de génération dynamique de coupons : il s’agit d’un jeton de sécurité généré par le système pour le chiffrement.
    • URL de génération dynamique de coupons : cette URL est intégrée dans l’e-mail sous forme de lien ou d’image, selon les besoins métier.

Le formulaire de création d'une campagne de coupons dans Punchh.

Étape 2 : Générer la signature et construire l’URL

La bibliothèque JWT.IO décode, vérifie et génère des jetons web JSON, une méthode ouverte et standardisée RFC 7519 pour représenter des revendications de manière sécurisée entre deux parties.

Les noms de ClaimType suivants peuvent être utilisés pour garantir l’unicité des invités et des coupons :

  • campaign_id : représente l’ID de la campagne Punchh généré par le système.
  • email : représente l’adresse e-mail de l’utilisateur.
  • first_name : capture le prénom de l’utilisateur.
  • last_name : capture le nom de famille de l’utilisateur.

Pour utiliser l’API de code promotionnel dynamique Punchh, un jeton JWT doit être construit. Ajoutez le modèle Liquid suivant dans votre tableau de bord de Braze, dans le corps du message du canal que vous souhaitez utiliser :

{% assign header = '{"alg":"HS256","typ":"JWT"}' | base64_encode | replace: '=', '' | replace: '+', '-' | replace: '/', '_' %}

{% capture payload_raw %}

{
  "campaign_id": "CAMPAIGN_ID",
  "email": "{{${email_address}}}",
  "first_name": "{{${first_name}}}",
  "last_name": "{{${last_name}}}"
}

{% endcapture %}

{% assign payload = payload_raw | replace: ' ', '' | replace: '\n', '' | base64_encode | replace: '=', '' | replace: '+', '-' | replace: '/', '_' %}

{% assign unsigned_token = header | append: "." | append: payload %}

{% assign secret = "DYNAMIC_COUPON_GENERATION_TOKEN" %}

{% assign signature_raw = unsigned_token | hmac_sha256_base64: secret %}

{% assign signature = signature_raw | replace: '=', '' | replace: '+', '-' | replace: '/', '_' %}

{% assign jwt = unsigned_token | append: "." | append: signature %}

Remplacez les éléments suivants :

Marque substitutive Description
DYNAMIC_COUPON_GENERATION_TOKEN Votre jeton de génération dynamique de coupons.
CAMPAIGN_ID Votre ID de campagne.

Étape 3 : Ajouter le code promotionnel au corps du message

Lien vers une page web Punchh

Pour créer un lien vers une page web hébergée par Punchh, ajoutez {{jwt}} à l’URL de génération dynamique que vous avez créée précédemment. Votre lien devrait ressembler à ceci :

https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX?sign={{jwt}}

Lorsqu’un utilisateur sélectionne l’URL du coupon, il est redirigé vers une page web hébergée par Punchh, où son coupon généré est affiché.

Exemple de message de confirmation après la génération réussie d'un code promotionnel par un utilisateur.

Extraction du code via JSON en texte brut

Pour obtenir une réponse JSON, ajoutez {{jwt}} à l’URL de génération dynamique que vous avez créée précédemment, puis ajoutez .json après le jeton dans la chaîne de l’URL. Votre lien devrait ressembler à ceci :

https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}}

Vous pouvez ensuite tirer parti du contenu connecté pour insérer le code en texte brut dans n’importe quel corps de message. Par exemple :

{% connected_content https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}} :save punchh_coupon %}
{{punchh_coupon.coupon}}

Lier une image dans le contenu d’un e-mail

Pour lier le code promotionnel à l’intérieur d’une image :

  1. Ajoutez {{jwt}} à l’URL de génération dynamique que vous avez créée précédemment.
  2. Ajoutez .png après le jeton dans la chaîne de l’URL.
  3. Intégrez votre lien dans une balise HTML <img>.
<img src="https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.png?sign={{jwt}}">

Rendu de la balise d'image du code promotionnel.

Messages d’erreur

Code d’erreur Message d’erreur Description
coupon_code_expired Ce code promotionnel a expiré Le code est utilisé après sa date d’expiration configurée.
coupon_code_success Félicitations, le code promotionnel a été appliqué avec succès. Le code est utilisé avec succès.
coupon_code_error Veuillez entrer un code promotionnel valide Le code utilisé est invalide.
coupon_code_type_error Type de coupon incorrect. Ce coupon ne peut être utilisé qu’au niveau de %{coupon_type}. Lorsqu’un code censé être utilisé au point de vente est utilisé dans l’application mobile, cette erreur se produit.
usage_exceeded L’utilisation de la Campaign de ce code coupon est complète. Veuillez réessayer ultérieurement. L’utilisation du code dépasse le nombre d’utilisateurs autorisés à l’utiliser. Par exemple, si la configuration du tableau de bord autorise un code à être utilisé par 3 000 utilisateurs et que le nombre d’utilisateurs dépasse 3 000, cette erreur se produit.
usage_exceeded_by_guest Ce code promotionnel a déjà été traité. L’utilisation du code par un utilisateur dépasse le nombre de fois qu’un utilisateur peut l’utiliser. Par exemple, la configuration du tableau de bord autorise un seul code à être utilisé trois fois par un utilisateur. S’il est utilisé davantage, cette erreur se produit.
already_used_by_other_guest Ce code promotionnel a déjà été utilisé par un autre invité. Un autre utilisateur a déjà utilisé le code.
New Stuff!