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