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

