商品データの取得
商品データを使用するワークフローでは、[商品データを取得] アクションを使用して、商品情報をストアから取得できます。
設定
フィールド
[商品データを取得] アクションには、以下のフィールドが用意されており、これらのフィールドはクエリの作成に使用されます。
フィールド | 説明 |
---|---|
データの並べ替え方法 | 必須です。検索クエリから返されたデータを並べ替える際の基準になるパラメーターです。 |
結果の最大数 | 必須。選択した検索クエリが返すことのできる結果の最大数です。一度に最大100件返すことができます。 |
クエリ | 必須。一般的なクエリから選択するか、[高度] を選択して自分でクエリを作成します。 |
クエリ文字列
これは、過去1日間に更新された商品を取得するクエリの例です。
変数updated_at
は、商品クエリで利用可能な絞り込みであり、複数回使用することや、他の変数と組み合わせることができます。Liquid変数scheduledAt
は、[予定時刻] トリガーを使用するワークフローで使用できます。Liquidタグdate_minus
は、日付から時間を差し引くための特別なFlowタグです。
以下の情報は、データのクエリ時に役立ちます。
- [利用可能な商品の絞り込みのリスト- クエリは特定の構文に従う必要があります。
- 全クエリのクエリフィールド名は、QueryRootオブジェクトの開発者向けドキュメントで確認できます。
- クエリフィールドの値が必ずしも文書化されているわけではありません。場合によっては、APIドキュメントを見ることで値を確認できます。あるいは、管理画面で絞り込みをするときに、URLからフィールドの値を確認できる場合がしばしばあります。たとえば、注文クエリの値を見つけるには、管理画面の注文ページを絞り込み、URLを確認します。
- Shopify GraphiQLアプリを使用して、ショップでクエリを実行またはテストできます。
- クエリが失敗した際に何が起きるかに注意します。多くの場合、APIはすべての結果を返します (何も返さないことはありません)。 ](https://shopify.dev/docs/api/admin-graphql/latest/queries/products#argument-query-filter-default)
返されたデータ
すべての [データを取得] アクションは、実行すると0〜100の任意のリソースを含むリストを返します。使用例に応じて、さまざまな方法でこのデータを使用することができます。
- それぞれにタグを追加するなど、リストの各項目を個別に処理する必要がある場合は、[For each] アクションを実行します。
- 返された結果の数をカウントするなど、データを集計する必要がある場合は、[カウント] アクションまたは [合計] アクションを実行します。
- すべてのアイテムを記載したメールを送信するなど、リストを出力する必要がある場合は、返されたデータを後続のアクションで直接使用します。
このアクションに続く手順で、返されたデータにアクセスするには、商品のリストである [商品データを取得] という名称の変数を使用します。この変数は、条件とアクションの両方で使用できます。たとえば、以下のような [内部メールを送信する] アクションを実行して、商品のリストを送信することができます。
トリガー
このアクションは、[予定時刻] トリガーが設定されたワークフローなど、どのワークフローでも実行できます。[予定時刻] トリガーが設定されたワークフローは、イベント発生時ではなく指定された時刻に起動します。ストア内やワークフローを起動するアプリ内で特定のイベントが発生しないため、データが自動的に取り込まれることはありません。
APIの詳細
テンプレート
タグの付いた商品を将来の特定の時刻にコレクションに追加する
将来の特定の時刻に、特定のタグを持つすべての商品を取得し、それらの商品をコレクションに追加します。テンプレートを表示する
無効な商品を削除する
1年間更新されていない、在庫がない商品を削除します。テンプレートを表示する
後日、特定のタグがある商品を公開
特定のタグがある商品を取得し、将来の日付でその商品を公開します。[予定時刻] トリガーと [商品データを取得] アクションが使用されます。テンプレートを表示
商品作成から90日後に新しい商品タグを削除する
毎日、90日以上前に作成されたにもかかわらず「new」タグが付いたままの商品を最大100個まで取得します。ワークフローにより、各商品のこれらのタグは削除されます。テンプレートを表示する
指定した日時にオンラインストアから商品が削除されるようにスケジュールする
将来の日付に、タグ、ID、またはSKUを使用して、オンラインストアから商品を削除します。[予定時刻] トリガー、[商品データを取得] アクション、[項目ごと] ループを使用します。テンプレートを表示
在庫切れの商品が記載されたサマリーを毎日メールで送信する
毎日、在庫が0の商品をすべて取得し、メールでサマリーを送信します。[商品データを取得]、[予定時刻] トリガーを使用します。テンプレートを表示する
SKUが重複しているバリエーションが追加されたときにメール通知を送信する
新しいバリエーションが追加された場合に、他のバリエーションが同じSKUを使用していないか調べます。使用していれば、影響を受ける商品とバリエーションへのリンクを記載した内部メールを送信します。テンプレートを表示する
商品メタフィールドを使用して、販売中の商品バリエーションを追跡する
バリエーションの少なくとも1つが販売中となっている場合、その商品にメタフィールドを設定します。これは、現在どの商品が販売中となっているかを追跡するのに役立ちます。テンプレートを表示する