ディスカウントの有効期限が切れた際に、Shopify Flow を発動する
「ディスカウント有効期限トリガー」を設定して、有効期限が切れたプロモーションバナーを削除し、ディスカウントの有効期限が切れた際に自動的にShopify Flowを実行するようにします。
なぜ「ディスカウント有効期限切れ」トリガーを使うのでしょうか?
プロモーションが深夜0時に終了したにもかかわらず、翌朝になってもホームページのバナーが表示されたままの場合、購入者はすでに無効になっているクーポンコードを試してしまう可能性があります。その結果、通常はチェックアウトが失敗し、本来なら防げたはずのサポートへの問い合わせが発生することになります。
「ディスカウント期限切れ」トリガーは、そのような事態を防ぐのに役立ちます。ディスカウントの有効期限が切れると、アプリが自動的に「Shopify Flow」ワークフローを開始します。一般的な設定の一つとして、このワークフローでは、有効期限が切れたディスカウントコードを「Shop」メタフィールドから削除し、それによってストアフロントからプロモーションバナーも非表示にします。
動画ガイド
その全工程は動画でご覧いただけます。
この設定の役割
- **「有効」**から「**期限切れ」**へと状態が変わるディスカウント情報をチェックしてください
- 「割引期限切れ」トリガーを使用して、Shopify Flowのワークフローを開始します
- 有効期限が切れたディスカウントに依存するストアフロントのコンテンツを削除または更新できるようになります
- ホームページのバナー、告知バー、およびメタフィールドに基づくプロモーションを常に同期させるのに役立ちます
始める前に
このトリガーには、アプリの「**ディスカウントデータへのアクセス」**権限が必要です。あらかじめ権限を許可する必要はありません。トリガーを有効にする際に、アプリから権限の許可を求められます。
トリガーを設定してください
アプリで**「トリガー**」を開き、検索欄に**「ディスカウント**」と入力してください。「**ディスカウント期限切れ」**をオンにしてください。
アプリに「Discount Data Access」がまだ設定されていない場合、「Shopify」がその場で権限の許可を求めます。ダイアログで許可すると、トリガーが有効になります。このトリガーから始まる「Shopify Flow」ワークフローを有効にすると、トリガーも同時に有効になります。
このアプリは、数分おきにディスカウント情報を確認し、有効期限が切れたものがあると、「Shopify Flow」のワークフローを開始します。

Shopify Flow を開き、新しいワークフローを作成してください。トリガーピッカーで「Workflow Trigger Extensions」を選択し、次に「Discount Expired」を選択してください。
このトリガーは「ディスカウントの有効期限が切れた」と表示され、説明欄には「_このワークフローは、ディスカウントの有効期限が切れたときに開始されます」_と記載されています。

ワークフローエディタで、**「テストイベントを選択」**を使用し、次に「**イベントを記録」**をクリックしてください。これにより実際のイベントがキャプチャされるため、実際のディスカウント有効期限データを使用してワークフローをテストすることができます。テスト用のディスカウントを明示的に作成し、終了日と終了時刻を過去の日時に設定することも可能です。これによりディスカウントが失効し、そのイベントを確認できるようになります。

次に、Slackで、Webhookを起点とするワークフローを作成します。ここで変数を設定し、このWebhookがトリガーされた際に特定のSlackチャンネルへメッセージを送信するように設定できます。ディスカウントが適用された際には、「Shopify」フローからディスカウントデータを含むリクエストを、このWebhookへ送信します。
その後、Shopify Flow内で、ディスカウント情報を含むリクエストをSlackのWebhookに送信することができます。Shopifyのベーシックプランをご利用の場合、「Shopify」フローではHTTPリクエストオプションは利用できません。HTTPリクエストを送信するには、「」フローアクション拡張機能をご利用ください。 私もこのShopify Flowで同じ「Flow Action Extension」を使用し、割引情報を含むHTTP POSTリクエストをSlackのWebhookに送信しました。
これで、Shopify Flow を有効にし、Shopify でディスカウントの有効期限を明示的に終了させることで、フローをテストできるようになりました。Slack では、次のようなメッセージが表示されるようになります:
イベント履歴では、ディスカウントの有効期限が切れたというイベントと、次のようなペイロードを確認できます:
例:有効期限が切れたホームページのバナーを削除する
よくある使用例として、Shopメタフィールドによって表示されているストアフロントのバナーを削除することが挙げられます。
- 有効なプロモーションコードは、ショップのメタフィールドに保存してください。
- お使いのテーマは、そのメタフィールドを読み取り、ホームページにバナーを表示します。
- ディスカウントの有効期限が切れると、「**Discount Expired」**トリガーによってShopify Flowワークフローが開始されます。
- このワークフローにより、有効期限が切れたディスカウントコードが「Shop」メタフィールドから削除されます。
- メタフィールドが空になったか、更新されたため、ストアフロントにバナーが表示されなくなりました。
期待される結果
セットアップが完了したら:
- このアプリは、ディスカウントの有効期限が切れるタイミングを検知します
- Shopify Flow 「**ディスカウント期限切れ」**ワークフローが自動的に開始されます
- その後のアクションとして、古くなったプロモーションコンテンツの削除、メタフィールドの更新、または有効期限が切れたキャンペーンデータの整理を行うことができます
トラブルシューティング
ワークフローが開始されません。アプリで「トリガー」を開き、「ディスカウントの有効期限切れ」がオンになっていることを確認してください。その後、**「権限」**を開き、「ディスカウントデータへのアクセス」が許可されていることを確認してください。権限が許可されていない状態でオンになっているトリガーは、発動しません。
**開始は少し遅れます。**ディスカウントの有効期限は数分おきに確認されるため、ワークフローは終了時刻の「ちょうどその瞬間」ではなく、終了時刻の数分後に開始されます。
**Shopify Flowではこのトリガーを見つけることはできません。**ワークフローを作成する際は、アプリソースとして「Workflow Trigger Extensions」を選択し、「Discount Expired」を検索してください。
**これをテストしたいですね。**Shopify Flowでトリガーステップを開き、「**テストイベントの選択」**をクリックして、「イベントの記録」を使用すると、ワークフローが実際のイベント例をキャプチャできるようになります。
