【一言解説】Shopify 2025-07 技術アップデート

みなさんこんにちは。リワイア加藤です。

Shopifyでは3ヶ月に1回新しいAPIなど技術アップデートやリリースが行われます。今回は2025年7月公開の「2025-07」バージョンで新しく公開されたアップデートを、公式のDerveloper changelogから一言解説を添えて紹介していきます。

6月28日から7月4日にかけて公開されたアップデートは「19件」でした。カテゴリごとに分類してみましたので、ぜひ気になったものを個別に確認してみてください。

フルフィルメント関連

New estimatedShippedAt argument added to FulfillmentOrderAcceptFulfillmentRequest mutation

APIバージョン2025-07以降、フルフィルメントサービスアプリで新しいestimatedShippedAt引数が利用可能になり、フルフィルメント注文の完了予定時期を指定できるように。Shopify Fulfillment Networkのパートナーは、フルフィルメントリクエストを受け入れる際にこの値の提供が期待される。

Add created/updated at time based filters for an order’s fulfillments

APIバージョン2025-07以降、Order.fulfillmentsでオプションのクエリ引数を使用して、created_atやupdated_atフィールドを対象にフルフィルメントリストを絞り込み可能に。他のAdmin APIエンドポイントと同じ検索構文を使用し、クエリを省略した場合は従来通りの動作。戻り値は単純な配列でページネーションカーソルは不要。

チェックアウト関連

ACTION REQUIRED
Buy Button JS must be upgraded to the latest version

Checkout APIの廃止に伴い、Buy Button JSの古いバージョンでのチェックアウト機能が2025年8月1日午前11時(ET)に停止予定。顧客が購入を完了できるよう、Buy Button JSを最新のメジャーバージョン(v3.0)にアップデートが必要。この期限までに更新しないと顧客が購入を完了できなくなる。

Server Pixels: added subtotal_price to checkout events

Server Pixelイベントにsubtotal_priceフィールドが追加され、取引データのトラッキングが強化された。このフィールドはcheckout_started、payment_info_submitted、checkout_completedの各イベントで利用可能。subtotal_priceは商品レベルおよび注文レベルの割引適用後の全ラインアイテム価格の合計を表す。

POS

ACTION REQUIRED
POS UI Extensions 2025-07 update

2025年7月3日にPOS UI Extensionsが更新に。非推奨のFormattedTextFieldコンポーネントが削除され、TextFieldへの移行が必要(POS 10.6.0では動作するが10.7.0では動作しない)。Iconコンポーネントのsizeとnameプロパティの一部の値が非推奨となり、新しい値への移行が必要。重要な修正としてpos.draft-order-details.block.renderターゲットで正しくBlockComponentsを受け入れるよう更新。新機能として各種インターフェースに新しいプロパティが追加され、開発者プレビューでStorage APIが導入された。これらの変更はPOS UI Extensionsバージョン2025-07とPOSアプリバージョン10.6.0で利用可能。

返金関連

Order cancellation now supports refunds to store credit

GraphQL Admin APIバージョン2025-07以降、orderCancelミューテーションで注文キャンセル時に元の支払い方法に加えてストアクレジットでの返金が可能に。新しいrefundMethod入力が追加され、既存のrefund入力は非推奨となる。元の支払い方法への返金を継続したい場合は、refund入力を新しいrefundMethod.originalPaymentMethodsRefund入力に置き換える必要がある。

ディスカウント関連

ACTION REQUIRED
New field for discount classes on DraftOrderPlatformDiscount

DraftOrderPlatformDiscountオブジェクトのdiscountClassフィールドが非推奨になり、代わりにdiscountClassesフィールドの使用を推奨。新しいフィールドは複数の割引クラスを表現可能。下書き注文への具体的な影響を判断するには引き続きpresentationLevelフィールドを使用。

注文関連

Increase draft order line item limit from 250 to 499

APIバージョン2025-07で、下書き注文の作成・更新ミューテーションで受け入れ可能なラインアイテムの最大数が250から499に増加。これによりGraphQL APIの上限がREST APIと一致するようになった。

Remove unprocessed exchange lines from a return

新しいremoveFromReturnミューテーションが導入され、返品から未処理のアイテム(返品ラインアイテムと交換ラインアイテム)を効率的に削除可能に。これまでのreturnLineItemRemoveFromReturnミューテーション(返品ラインアイテムのみ削除可能)に代わる機能。現在はunstableバージョンで利用可能で、バージョン2025-07で正式リリース予定。

New GraphQL fields for return management

返品管理とトラッキングのための新しいフィールドが追加された。ExchangeLineItemとReturnLineItemオブジェクトに数量追跡フィールド(processedQuantity、processableQuantity、unprocessedQuantity)、返品のタイムスタンプフィールド(Return.closedAt、Return.createdAt、Return.requestApprovedAt、ReverseFulfillmentOrderDisposition.createdAt)が利用可能に。破壊的変更としてExchangeLineItem.lineItemが非推奨となり、代わりにExchangeLineItem.lineItemsを使用。APIバージョン2025-07で正式リリース。

New warning DraftOrderMarketRegionCountryCodeNotSupportedWarning added to DraftOrder

DraftOrderオブジェクトに新しい警告タイプDraftOrderMarketRegionCountryCodeNotSupportedWarningが追加。marketRegionCountryCodeフィールドは非推奨となり、Marketsを使用するショップの下書き注文には影響しない。この警告は、Marketsを使用するショップで下書き注文の作成・計算・更新時にmarketRegionCountryCodeフィールドが設定された場合に表示される。

サブスクリプション関連

Customer Account API now includes subscription discount data

Customer Account APIにサブスクリプション契約の割引接続機能が追加され、Admin APIと同様の機能が利用可能に。SubscriptionContractクエリのdiscountsフィールドを通じて、割引タイプ、値、ラインアイテム配分などの割引詳細を直接取得できる。これにより顧客ストアフロントでサブスクリプションの割引情報(割引金額・割引率、適用されるサブスクリプションライン、割引配分詳細)を確認可能となり、より包括的なサブスクリプション管理体験を提供できる。

アプリ関連

ACTION REQUIRED
New Built for Shopify requirements for marketing apps – Effective July 1, 2025

2025年7月1日より、Built for Shopify (BFS)プログラムのマーケティングアプリに対してカテゴリ固有の要件が適用開始。広告・アフィリエイト・分析・フォームアプリは全基準が必須、メール・SMSマーケティングアプリは機能に応じた基準を選択、サブスクリプションアプリではCustomer Account UI拡張が必須となる。これらの要件はアプリ提出時と年次レビューでの手動審査で適用される。

Request app reviews in admin with the new Reviews API

新しいApp Bridge Reviews APIにより、ShopifyアプリはShopify管理画面内で直接レビューを要求可能に。アプリストアへのリダイレクトではなく、管理画面内でのコンテキスト内プロンプトによる改善されたマーチャント体験を提供。コンポーネントは既に設計済みで、レビューモーダルの表示タイミングを制御可能。レビューモーダルには「サポートを受ける」ボタンも表示される。

その他

ACTION REQUIRED
Deprecation of POST requests without a Content-Length or Transfer-Encoding: chunked header

2025年8月1日より、ShopifyのAPIへのPOSTリクエストにはContent-LengthヘッダーまたはTransfer-Encoding: chunkedヘッダーの含有が必須となり、これらがない場合はHTTP 411エラーを返すように変更。この変更はHTTP/1.1標準への準拠とリクエストスマグリング攻撃などのセキュリティ脆弱性防止が目的。多くの現代的なHTTPクライアントライブラリは自動的にこれらのヘッダーを含むが、カスタム実装や古いライブラリでは対応が必要。

Image alt text can now be translated

APIバージョン2025-10以降、画像のalt textがTranslatableResourceTypeとして公開され、Translations APIを通じて翻訳可能になる。これにより購入者に表示される画像のalt textが多言語対応できるようになる。

ACTION REQUIRED
Removed tax-related fields from the ShopFeatures object

ShopFeaturesオブジェクトからEligibleForShopifyTaxReportingとShopifyTaxReportingLegacyAutoTaxMigratedフィールドがShopifyの税務レポートで使用されなくなったため削除。外部アプリ向けの代替フィールドは提供されないため、これらのフィールドに依存している場合は統合の更新が必要。

ACTION REQUIRED
Changes to Cart token format for AJAX and Storefront GraphQL Cart APIs

AJAX APIとStorefront GraphQL Cart APIの両方で、カートトークンが新しい形式で返されるようになる。API機能は変更なし。アプリとテーマは任意の形式・長さのカートトークンを処理できるよう設計する必要がある。カートトークンは将来変更される可能性のあるランダムな識別子として扱うこと。必要な対応:カートトークンの形式や構造に対するハードコーディングされた前提(正規表現での識別など)をアプリやテーマのコードから除去する。