商品データを取得
商品データを使用するワークフローでは、「商品データを取得」アクションを使用して、ストアから商品情報を取得できます。
設定
フィールド
「商品データを取得」アクションには、クエリの作成に使用される以下のフィールドが含まれています。
| フィールド | 説明 |
|---|---|
| 並べ替えの基準 | 必須。検索クエリによって返されるデータを並べ替えるためのパラメーターです。 |
| 最大結果数 | 必須。選択した検索クエリで返すことができる結果の最大数です。一度に最大100件まで返すことができます。 |
| クエリ | 必須。一般的なクエリから選択するか、[詳細] を選択して独自のクエリを作成します。 |
クエリ文字列
以下は、過去1日間に更新された商品を取得するためのクエリの例です。
updated_at:<='{{ scheduledAt }}' AND updated_at:>'{{ scheduledAt | date_minus: "1 day" }}'updated_at 変数は、商品クエリで利用できるフィルターで、複数回使用したり、他の変数と組み合わせたりすることができます。scheduledAt Liquid 変数は、「時間で起動」トリガーを使用したワークフローで利用できます。date_minus Liquid タグは、日付から時間を引くことができる Flow の特別なタグです。
データをクエリする際には、以下を知っておくと役立ちます。
- 利用可能な商品フィルターのリスト
- クエリは特定の構文に従う必要があります
- クエリフィールドの値は、常にマニュアルに記載されているとは限りません。場合によっては、API ドキュメントで値を見つけることができます。あるいは、管理画面で絞り込みを行う際に、URL 内でフィールド値を見つけられることがよくあります。たとえば、注文クエリの値をいくつか見つけるには、管理画面で注文管理ページを絞り込み、URL を確認します。
- Shopify GraphiQL アプリを使用して、ストアでクエリを実行またはテストできます。
- クエリが失敗した場合にどうなるかにご注意ください。多くの場合、API は (結果がないのではなく) すべての結果を返します。
返されるデータ
すべての「データを取得」アクションは、0~100件のリソースのリストを返します。ユースケースに応じて、このデータをさまざまな方法で使用できます。
- 各リストアイテムにタグを追加するなど、リストの各アイテムを個別に処理する必要がある場合は、「項目ごと」アクションを使用できます。
- 返された結果の数をカウントするなど、データを集計する必要がある場合は、「カウント」または「合計」アクションを使用できます。
- すべてのアイテムを含むメールを送信するなど、リストを出力する必要がある場合は、後続のアクションで返されたデータを直接使用できます。
このアクションに続くステップで返されたデータにアクセスするには、「商品データを取得」という名前の変数 (商品のリスト) を使用します。この変数は、条件とアクションの両方で使用できます。たとえば、次のように、「内部メールを送信する」アクションで商品のリストを送信できます。
{% for single_product in GetProductData %}
* {{ single_product.name }}
{% endfor %}トリガー
このアクションは、「時間で起動」トリガーを含む、どのワークフローでも使用できます。「時間で起動」トリガーを使用するワークフローでは、ワークフローはイベントの結果としてではなく、指定した時間に開始されます。ストアやアプリからの、ワークフローを開始する特定のイベントがないため、データは自動的には含まれません。
APIの詳細
テンプレート
将来、タグが付いた商品をコレクションに追加する
将来のある時点で、特定のタグが付いたすべての商品を取得し、コレクションに追加します。テンプレートを表示
アクティブでない商品を削除する
1年間更新されておらず、在庫がない商品を削除します。テンプレートを表示
将来、特定のタグが付いた商品を公開する
将来のある日に、特定のタグが付いた商品を取得して公開します。「時間ベースのトリガー」と「商品データを取得する」のアクションを使用します。テンプレートを表示
商品が作成されてから 90日後に「新規」商品タグを削除する
毎日、90日以上前に作成されて「新規」タグがまだ付いている商品を最大 100件取得します。その後、ワークフローによって各商品からそのタグが削除されます。テンプレートを表示
指定した日時にオンラインストアから商品を削除するようスケジュールする
将来の特定の日時に、タグ、ID、または SKU に基づいてオンラインストアから商品を削除します。「時間ベースのトリガー」、「商品データを取得する」のアクション、「項目ごとループ」を使用します。テンプレートを表示
在庫切れ商品に関する毎日のメールサマリーを送信する
毎日、在庫が 0 のすべての商品を取得し、メールのサマリーを送信します。「商品データを取得する」と「時間ベースのトリガー」を使用します。テンプレートを表示
重複する SKU を持つバリエーションが追加されたときにメール通知を送信する
新しいバリエーションが追加されると、他のバリエーションが同じ SKU を使用しているかどうかが確認されます。使用している場合、影響を受ける商品とバリエーションへのリンクが記載された内部メールが送信されます。テンプレートを表示
商品のメタフィールドを使用して、販売中の商品バリエーションを追跡する
バリエーションのうち少なくとも1つが販売中の場合に、商品にメタフィールドを設定します。これは、現在どの商品が販売中かを追跡するのに役立ちます。テンプレートを表示