スケジュール、データの取得、ループ
ほとんどの場合、イベントが発生するときに実行されるトリガーに複数の条件とアクションを紐付けることで、ワークフローを構築できます。一部の使用例では、必要な操作をするためのトリガーが存在しない場合や、特定の時間にワークフローの実行が必要な場合、またはデータのリストに関する作業が必要な場合があります。
たとえば、未発送の注文に関する毎日のサマリーを取得するとします。この機能グループを使用すると、特定の時間に毎日実行され、未発送の注文のデータを取得し、それらのサマリーを送信するワークフローを実行できます。
このドキュメントでは、[予定時刻] トリガー、[データを取得] アクション、[For each] アクションについて説明します。これらの機能を使用する最適な方法が分からない場合は、これらのトリガーとアクションを活用するいくつかの例とテンプレートか、こちらの紹介ビデオをご覧ください。
[予定時刻] トリガー
イベントに合わせてワークフローを起動するのではなく、[予定時刻] トリガーにより、指定した特定の日時にワークフローを起動します。1時間ごと、毎日、毎週、または毎月、定期的にワークフローを実行するスケジュールを設定できます。スケジュールによって実行すると、お客様、注文、商品などのデータを取得して使用するために、アクションを実行しなければならなくなります。これは、[データを取得] アクションを使用して行うことができます。
[データを取得] アクション
ほとんどのアクションは、ストアでの何らかの変更を加えたり (たとえばお客様にタグを追加する)、アプリにコマンドを送信したりします (たとえばお客様にプッシュ通知を送信するようアプリに指示を出す)。
[データを取得] アクションは、Flowで使用するデータをストアから取得します。このタイプのアクションは、たとえば、過去1日間に更新された情報のみを取得する、といったさまざまな絞り込みを使用してクエリを呼び出します。アクションを実行すると、指定したデータと一致するデータのリストが返されます。たとえば、[注文データを取得] アクションは、Admin APIで注文クエリを呼び出し、クエリと一致する注文のリストを返します。
以下のアクションは、ストアから情報を取得し、そのデータをワークフローで使用できます。データを絞り込む方法と返されるデータの詳細については、各アクションを参照してください。
- コレクションデータの取得
- 顧客データの取得
- 下書き注文データの取得
- フルフィルメント注文データを取得する
- 注文データを取得
- 商品データを取得
- 商品バリエーションデータを取得する
- サブスクリプション契約のデータを取得する
Liquidタグ
[データを取得] アクションを日付に関連して実行する場合、Liquidタグのdate_minus
とdate_plus
を使用してクエリの日付を変更できます。たとえば、ワークフローを実行する予定時刻の5日前の日付を計算するには、以下のLiquidを使用できます。
タグの使用方法の詳細については、Liquid変数に関するドキュメントを参照してください。
ループ
[データを取得] アクションを実行すると、クエリと一致するデータのリストを取得できます。[For each] アクションを実行して、そのリストをループすることができます。[For each] ループを使用すると、指定したアイテムのみに条件とアクションを適用できます。
たとえば、[注文データを取得] アクションを含むワークフローを作成できます。それから、[For each] アクションを実行して、注文ごとにタグを追加できます。
集計アクション
リストに関する作業をする際、後の条件とアクションで使用するアイテムの数をカウントすることができます。たとえば、メールを送信する前に、0件を超える結果が得られたか確認することができます。Flowでは、ワークフロー内でリストデータの計算を実行するために、以下のアクションを利用できます。
既知の制限事項
- [データを取得] アクションおよび [For each] アクションを実行できるのは、アイテムが100件以下のリストです。
- スケジュール済み時間トリガーは、10分ごとに実行できます。
- 各ループに対して、ループの繰り返しごとに1つのアクションのみ含めることができます。