このページはAIにより自動翻訳されており、不正確な内容が含まれている可能性があります。翻訳の誤りを報告するには、ページ右側の目次の下にあるフィードバックをご利用ください。
Punchhによる動的コード生成
クーポンコードとは、一人のユーザーが使用できるユニークなコードです(1回使用でも複数回使用でも可)。Punchhフレームワークはクーポンコードを生成し、モバイルアプリ内やPOSシステムで処理できます。
この統合はPunchhによって管理されています。
連携について
PunchhクーポンフレームワークとBrazeを使用すると、以下のシナリオを実現できます。
- ゲストがメール内のクーポン生成リンクを選択したときにクーポンコードを生成する:クーポンコードはダイナミックに生成され、Webページに表示されます。
- ゲストがメールを開封したときにクーポンコードを生成する:クーポンコードはダイナミックに生成され、メール内に画像として表示されます。
ダイナミッククーポンコード生成の統合
ステップ1:クーポンキャンペーンを作成する
- Punchiクーポンキャンペーンを使用して、次の画像に示すようにダイナミック生成クーポンキャンペーンを作成します。
- Punchiクーポンフレームワークは、ダイナミッククーポン生成を有効にするために以下のパラメーターを生成します。
- ダイナミッククーポン生成トークン:暗号化のためのシステム生成セキュリティトークンです。
- ダイナミッククーポン生成URL:このURLは、ビジネスの要件に応じてメールにリンクまたは画像として埋め込まれます。

ステップ2:署名を生成してURLを構築する
JWT.IOライブラリは、JSON Webトークンのデコード、検証、生成を行います。これは、2つの当事者間でクレームを安全に表現するためのオープンな業界標準RFC 7519メソッドです。
ゲストとクーポンの一意性を確保するために、以下のClaimType名を使用できます。
campaign_id:システム生成のPunchiキャンペーンIDを表します。email:ユーザーのメールアドレスを表します。first_name:ユーザーの名を取得します。last_name:ユーザーの姓を取得します。
PunchiダイナミッククーポンコードAPIを使用するには、JWTトークンを構築する必要があります。使用するチャネルのメッセージ本文に、以下のLiquidテンプレートをBrazeダッシュボードに追加してください。
{% 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 %}
以下を置き換えてください。
| プレースホルダー | 説明 |
|---|---|
DYNAMIC_COUPON_GENERATION_TOKEN |
ダイナミッククーポン生成トークン。 |
CAMPAIGN_ID |
キャンペーンID。 |
ステップ3:メッセージ本文にクーポンコードを追加する
PunchiのWebページにリンクする
PunchiがホストするWebページにリンクするには、先ほど作成したダイナミック生成URLに{{jwt}}を追加します。リンクは以下のようになります。
https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX?sign={{jwt}}
ユーザーがクーポンURLを選択すると、Punchiがホストするwebページにリダイレクトされ、生成されたクーポンが表示されます。

JSONからプレーンテキストとしてコードを抽出する
JSONレスポンスを返すには、先ほど作成したダイナミック生成URLに{{jwt}}を追加し、URL文字列のトークンの後に.jsonを追加します。リンクは以下のようになります。
https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}}
次に、Connected Contentを活用して、任意のメッセージ本文にプレーンテキストとしてコードを挿入できます。例:
{% connected_content https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.json?sign={{jwt}} :save punchh_coupon %}
{{punchh_coupon.coupon}}
メールコンテンツ内の画像にリンクする
画像内にクーポンコードをリンクするには:
- 先ほど作成したダイナミック生成URLに
{{jwt}}を追加します。 - URL文字列のトークンの後に
.pngを追加します。 - リンクをHTML
<img>タグに埋め込みます。
<img src="https://fakebrandz.punchh.com/request_coupons/7xY3bL9jRfZ1pA6mc8qD2eS4vT5wX.png?sign={{jwt}}">

エラーメッセージ
| エラーコード | エラーメッセージ | 説明 |
|---|---|---|
coupon_code_expired |
This promo code has expired | 設定された有効期限が過ぎた後にコードが使用されました。 |
coupon_code_success |
Congratulations, Promo Code Applied Successfully. | コードが正常に使用されました。 |
coupon_code_error |
Please enter a valid promo code | 使用されたコードが無効です。 |
coupon_code_type_error |
Incorrect coupon type. This coupon can only be redeemed at %{coupon_type}. |
POSで使用するはずのコードがモバイルアプリで使用された場合、このエラーが発生します。 |
usage_exceeded |
The usage for this coupon code’s campaign is full. Please try next time. | コードの使用回数が、使用を許可されたユーザー数を超えています。たとえば、ダッシュボードの設定でコードの使用を3,000ユーザーに許可していて、ユーザー数が3,000を超えた場合、このエラーが発生します。 |
usage_exceeded_by_guest |
This promo code has already been processed. | ユーザーによるコードの使用回数が、1人のユーザーが使用できる回数を超えています。たとえば、ダッシュボードの設定で1つのコードを1人のユーザーが3回まで使用できるようにしている場合、それを超えて使用するとこのエラーが発生します。 |
already_used_by_other_guest |
This promo code has already been used by some other guest. | 別のユーザーがすでにこのコードを使用しています。 |
New Stuff!