メタオブジェクトエントリーを取得
[メタオブジェクトエントリーを取得] アクションを使用すると、任意のクエリに基づいてストアからメタオブジェクトのエントリーのリストを取得できます。詳細については、メタオブジェクトに関するドキュメントを参照してください。
設定
フィールド
[メタオブジェクトエントリーを取得] アクションには、クエリの作成に使用される以下のフィールドのほかに、メタオブジェクトの定義を指定するためのドロップダウンが含まれています。
| フィールド | 説明 |
|---|---|
| データの並べ替え順 | 必須。検索クエリによって返されるデータの並べ替え基準となるパラメーターです。 |
| 結果の最大数 | 必須。選択した検索クエリで返すことのできる結果の最大数です。一度に最大 100 件を返すことができます。 |
| クエリ | 必須です。一般的なクエリから選択するか、[詳細] を選択して独自のクエリを作成します。 |
クエリ文字列
これは、`email` フィールドの値が注文のメールアドレスと一致する場合に、メタオブジェクトエントリーを取得するためのクエリの例です。
{{fields.email}}:"{{order.email}}"これは、過去1日間に更新されたメタオブジェクトエントリーを取得するためのクエリの例です。
updated_at:<='{{ scheduledAt }}' AND updated_at:>'{{ scheduledAt | date_minus: "1 day" }}'`updated_at` 変数は、メタオブジェクトクエリで利用できるフィルターで、複数回使用したり、他の変数と組み合わせたりすることができます。`scheduledAt` Liquid 変数は、[時間指定] トリガーを使用したワークフローで利用できます。`date_minus` Liquid タグは、日付から時間を減算できる特別な Flow タグです。
データをクエリする際には、以下の点を知っておくと役立ちます。
- 利用可能なメタオブジェクトフィルターのリスト
- フィールド値によるメタオブジェクトのクエリを行うには、メタオブジェクトで絞り込みが有効になっている必要があります。この設定は、Shopify 管理画面のカスタムデータオプションで有効にできます。
- クエリは特定の構文に従う必要があります。
- クエリフィールドの値は、常に文書化されているとは限りません。場合によっては、API ドキュメントを参照して値を確認できます。また、管理画面で絞り込みを行う際に URL を見ると、フィールドの値がわかる場合も多くあります。たとえば、注文クエリの値を見つけるには、管理画面で [注文管理] ページを絞り込み、URL を確認します。
- Shopify GraphiQL アプリを使用すると、ストアでクエリを実行またはテストできます。
- クエリが失敗した場合の動作に注意してください。API は、結果を何も返さないのではなく、すべての結果を返すことがよくあります。
返されるデータ
すべての [データ取得] アクションは、0〜100個のリソースのリストを返します。ユースケースに応じて、このデータをさまざまな方法で使用できます。
- それぞれにタグを追加するなど、各リストアイテムを個別に処理する必要がある場合は、[繰り返し] アクションを使用できます。
- 返された結果の数をカウントするなど、データを集計する必要がある場合は、[カウント] アクションまたは [合計] アクションを使用できます。
- すべてのアイテムを記載したメールを送信するなど、リストを出力する必要がある場合は、後続のアクションで返されたデータを直接使用できます。
このアクションに続くステップで返されたデータにアクセスするには、[メタオブジェクトエントリーを取得する] という名前の変数を使用します。これは、メタオブジェクトエントリーのリストです。この変数は、条件とアクションの両方で使用できます。たとえば、次のように [内部メールを送信する] アクションで、メタオブジェクトエントリーのキーと値のペアのリストを送信できます。
{% for getMetaobjectEntries_item in getMetaobjectEntries %}
Key-value pairs for entry:
{% for fields_item in getMetaobjectEntries_item.system.fields %}
{{fields_item.key}}:{{fields_item.value}}
{% endfor %}
{% endfor %}トリガー
このアクションは、[時間指定] トリガーを含むすべてのワークフローで使用できます。[時間指定] トリガーを使用するワークフローでは、ワークフローはイベントの結果としてではなく、指定した時間に開始されます。ワークフローを開始させるストアやアプリの特定のイベントがないため、データは自動的に含まれません。