ShopifyファンクションでMetaobjectが利用可能に
GraphQL API 2026-04からすべてのFunction Targetがアプリ所有Metaobjectを参照可能に
この変更はShopify Functionsを利用する開発者・アプリ開発会社を対象に、GraphQL API バージョン 2026-04 以降から有効です。これにより、すべてのFunction Targetでアプリ所有のMetaobjectエントリをインプットクエリ内で参照できるようになり、段階的価格設定やバンドル構成などの複雑なビジネスロジックをFunctions内で直接扱えるようになります。
1変更内容のBefore / After
2業務に活かせる具体ユースケース
- 課題
- 購入数量に応じた段階的な割引価格(ティア価格)をCart Transformで実現したいが、価格テーブルをどこに持たせるか設計が難しかった
- 打ち手
- 段階価格設定をアプリ所有Metaobject(例:
$app:tier_pricing)で定義し、Cart Transform FunctionのインプットクエリでMetaobjectをhandleで取得してロジックに反映する - 効果
- 価格テーブルをメタオブジェクトで一元管理でき、コードを変更せずに管理画面側で価格ルールを更新できる柔軟な運用が可能になる
- 技術メモ
- Cart Transformの2026-04スキーマの
Shopフィールド配下にmetaobjectインプットオブジェクトが追加されている。公式ドキュメントで最新スキーマを確認のこと
- 課題
- 商品バンドルの構成情報(セット内容・割引率)をFunctions内で参照できず、バンドルロジックをアプリサーバーサイドで二重管理する必要があった
- 打ち手
- バンドル定義をアプリ所有Metaobjectに格納し、Product Discount / Order Discount Functionのインプットクエリで当該Metaobjectを取得してバンドル判定・割引計算を行う
- 効果
- バンドル設定の変更をMetaobjectへの書き込みだけで反映できるため、アプリサーバーへのデプロイや再設定が不要になり運用コストを削減できる
- 技術メモ
- アクセスできるのは
$appプレフィックスで識別されるアプリ所有タイプのMetaobjectのみ。他アプリや共有タイプは参照不可
- 課題
- 配送ルールをShipping Discount / Delivery Customization Functionに実装する際、地域ごとの設定値をFunctionのコードにハードコードしていたため、設定変更のたびにデプロイが必要だった
- 打ち手
- 配送条件(地域・金額閾値・適用ルールなど)をアプリ所有Metaobjectで管理し、Delivery Customization FunctionがMetaobjectをIDで取得して動的に条件分岐する
- 効果
- Metaobjectを更新するだけでFunctionの挙動を変更可能になり、ノーコードに近い形で配送ルールを運用管理できる体制を構築できる
- 技術メモ
- インプットクエリファイルでhandleまたはIDを指定してMetaobjectエントリを取得する。クエリの書き方は2026-04バージョンのFunctionsドキュメント内
metaobjectインプットオブジェクトのリファレンスを参照
3技術者が押さえるべきポイント
GraphQL API 2026-04 以降が必須。それ以前のバージョンではMetaobjectアクセス不可。Functionのバージョンを2026-04に更新する必要がある。
すべてのFunction Targetで利用可能。Cart Transform / Product Discount / Order Discount / Delivery Customization など全ターゲットが対象。
$app 予約済みプレフィックスで識別されるアプリ所有タイプのみアクセス可能。他アプリや汎用タイプのMetaobjectはアクセス不可。Metaobjectの所有権については公式の「metaobject ownership」ドキュメントを参照。
InputQueryファイル内でMetaobjectエントリを取得する際は handle または ID を指定する。具体的なクエリ構造はCart Transformの2026-04スキーマにある metaobject インプットオブジェクトが参考になる。
公式ドキュメントの2026-04バージョン各Functionの Shop フィールド配下に metaobject インプットオブジェクトが追加されている。旧バージョンのスキーマには存在しないため注意。
| 確認項目 | 内容 | ステータス |
|---|---|---|
| APIバージョン | 2026-04 へのアップグレードが必要 | 要対応 |
| Metaobjectタイプ | $app プレフィックスのアプリ所有タイプのみ | 制限あり |
| 対応Functionターゲット | 全ターゲット | 対応済み |
| インプットクエリ変更 | handle または ID でエントリ指定が必要 | 要実装 |
| 後方互換性 | 旧バージョンのFunctionへの影響は記載なし | 記載なし |
GraphQL API 2026-04以降、すべてのShopify FunctionsからアプリオーナーのMetaobjectを参照できるようになり、段階的価格設定・バンドル管理・配送ルールなどの複雑なロジックをコード変更なしに柔軟に運用できる設計が実現できます。
Source: https://shopify.dev/changelog/metaobject-access-in-functions | 公開日: 2026年4月1日






Share:
Polaris参照ドキュメントのバージョン管理ポリシー変更
税計算リクエストに事業者情報が追加 API 2026-04