Skip to content

Dynamische Code-Generierung mit Punchh

Ein Gutscheincode ist ein eindeutiger Code, der von einer einzelnen Nutzer:in verwendet werden kann (entweder einmalig oder mehrfach). Das Punchh-Framework generiert Gutscheincodes, die in einer mobilen App oder am Point-of-Sale (POS)-System verarbeitet werden können.

Diese Integration wird von Punchh gepflegt.

Über die Integration

Mit dem Punchh-Coupon-Framework und Braze können Sie die folgenden Szenarien realisieren:

  • Generieren Sie einen Gutscheincode, wenn der Gast in einer E-Mail auf einen Link zur Gutscheingenerierung klickt: Der Gutscheincode wird dynamisch generiert und auf einer Webseite angezeigt.
  • Generieren Sie einen Gutscheincode, wenn der Gast eine E-Mail öffnet: Der Gutscheincode wird dynamisch generiert und als Bild in der E-Mail angezeigt.

Integration der dynamischen Gutscheincode-Generierung

1. Schritt: Gutscheinkampagne erstellen

  1. Erstellen Sie mit einer Punchh-Gutscheinkampagne eine dynamische Generierungs-Gutscheinkampagne, wie in der folgenden Abbildung gezeigt.
  2. Das Punchh-Coupon-Framework generiert die folgenden Parameter, um die dynamische Gutscheingenerierung zu ermöglichen:
    • Token zur dynamischen Gutscheingenerierung: Dies ist ein vom System generiertes Sicherheits-Token für die Verschlüsselung.
    • URL zur dynamischen Gutscheingenerierung: Diese URL wird als Link oder Bild in die E-Mail eingebettet, je nach Bedarf des Unternehmens.

Das Formular für die Erstellung einer Gutscheinkampagne in Punchh.

2. Schritt: Signatur generieren und URL konstruieren

Die Bibliothek JWT.IO dekodiert, überprüft und generiert JSON-Web-Tokens, eine offene, dem Industriestandard RFC 7519 entsprechende Methode zur sicheren Darstellung von Claims zwischen zwei Parteien.

Die folgenden ClaimType-Namen können verwendet werden, um die Eindeutigkeit von Gästen und Gutscheinen zu gewährleisten:

  • campaign_id: steht für die vom System generierte Punchh-Campaign-ID.
  • email: steht für die E-Mail-Adresse der Nutzer:in.
  • first_name: erfasst den Vornamen der Nutzer:in.
  • last_name: erfasst den Nachnamen der Nutzer:in.

Um die dynamische Gutscheincode-API von Punchh zu nutzen, muss ein JWT-Token erstellt werden. Fügen Sie die folgende Liquid-Vorlage in Ihrem Braze-Dashboard in den Nachrichtentext des Kanals ein, den Sie verwenden möchten:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{% 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 %}

Ersetzen Sie Folgendes:

Platzhalter Beschreibung
DYNAMIC_COUPON_GENERATION_TOKEN Ihr Token zur dynamischen Gutscheingenerierung.
CAMPAIGN_ID Ihre Campaign-ID.

3. Schritt: Gutscheincode an den Nachrichtentext anhängen

Verlinkung zur Punchh-Webseite

Um einen Link zu einer von Punchh gehosteten Webseite zu erstellen, fügen Sie {{jwt}} an die dynamische Generierungs-URL an, die Sie zuvor erstellt haben. Ihr Link sollte ähnlich wie der folgende aussehen:

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

Wenn Nutzer:innen auf die Gutschein-URL klicken, werden sie auf eine von Punchh gehostete Webseite weitergeleitet, auf der der generierte Gutschein angezeigt wird.

Beispiel für eine Bestätigungsnachricht, nachdem Nutzer:innen erfolgreich einen Gutscheincode generiert haben.

Code über JSON als reinen Text extrahieren

Um eine JSON-Antwort zurückzugeben, fügen Sie {{jwt}} an die dynamische Generierungs-URL an, die Sie zuvor erstellt haben, und fügen Sie dann .json nach dem Token in den URL-String ein. Ihr Link sollte ähnlich wie der folgende aussehen:

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

Sie könnten dann Connected-Content nutzen, um den Code als reinen Text in jeden Nachrichtentext einzufügen. Zum Beispiel:

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

Gutscheincode als Bild in E-Mail-Inhalte einbinden

So verknüpfen Sie den Gutscheincode mit einem Bild:

  1. Fügen Sie {{jwt}} an die dynamische Generierungs-URL an, die Sie zuvor erstellt haben.
  2. Fügen Sie .png nach dem Token in den URL-String ein.
  3. Betten Sie Ihren Link in einen HTML-<img>-Tag ein.
1
<img src="https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.png?sign={{jwt}}">

Gerenderte Ausgabe des Gutscheincode-Bild-Tags.

Fehlermeldungen

Fehlercode Fehlermeldung Beschreibung
coupon_code_expired This promo code has expired Der Code wird nach dem konfigurierten Verfallsdatum verwendet.
coupon_code_success Congratulations, Promo Code Applied Successfully. Der Code wurde erfolgreich verwendet.
coupon_code_error Please enter a valid promo code Der verwendete Code ist ungültig.
coupon_code_type_error Incorrect coupon type. This coupon can only be redeemed at %{coupon_type}. Wenn ein Code, der am POS verwendet werden soll, in der mobilen App verwendet wird, tritt dieser Fehler auf.
usage_exceeded The usage for this coupon code’s campaign is full. Please try next time. Die Nutzung des Codes übersteigt die Anzahl der Nutzer:innen, die ihn verwenden dürfen. Wenn die Dashboard-Konfiguration beispielsweise die Verwendung eines Codes durch 3.000 Nutzer:innen zulässt und die Anzahl der Nutzer:innen 3.000 übersteigt, wird dieser Fehler angezeigt.
usage_exceeded_by_guest This promo code has already been processed. Die Nutzung des Codes durch eine Nutzer:in übersteigt die Anzahl der möglichen Nutzungen. Die Dashboard-Konfiguration erlaubt es beispielsweise, dass ein einzelner Code dreimal von einer Nutzer:in verwendet werden kann. Wird er häufiger verwendet, tritt dieser Fehler auf.
already_used_by_other_guest This promo code has already been used by some other guest. Eine andere Nutzer:in hat den Code bereits verwendet.
New Stuff!