みなさんこんにちは。リワイア加藤です。
Shopifyでは3ヶ月に1回新しいAPIなど技術アップデートやリリースが行われます。今回は2025年4月公開の「2025-04」バージョンで新しく公開されたアップデートを、公式のDerveloper changelogから一言解説を添えて紹介していきます。
3月23日から4月2日にかけて公開されたアップデートは「30件」でした。カテゴリごとに分類してみましたので、ぜひ気になったものを個別に確認してみてください。
商品関連
productSet and customerSet mutations now support upserts and custom IDs
GraphQL Admin APIの2025-04バージョンから、productSetとcustomerSetミューテーションでidentifierを使ったアップサート(作成または更新)操作が可能に。レコードの存在確認が自動化され、同じ入力形式で冪等的に作成・更新が可能。productSetはhandle、id、customIdを、customerSetはphone、email、customIdを識別子として許可。以前はproductSetのみidによる更新が可能で、customerSetはunstable版のみで利用可能だった機能。
オンラインストア関連
Using custom ids to look up collections, locations, orders, and product variants
2025-04 Admin APIから、コレクション、場所、注文、商品バリエーションなどのリソースを独自のIDで検索可能に。新しいメタフィールドタイプ「id」を使って定義でき、ユニーク値の機能がデフォルトで有効化。2025-01のAPIリリースでは既に商品と顧客の検索に対応済み。
New filter options added to pages, articles, and comments queries
GraphQL Admin APIの記事、ページ、コメントに関するクエリに新しいフィルターパラメーターが追加。記事はblog_id、handle、published_atで、ページはpublished_status、published_at、idで、コメントはcreated_at、updated_at、published_atでフィルタリング可能に。これによりREST Admin APIと同等のフィルタリング機能を実現。
New articleAuthors query in the GraphQL Admin API
GraphQL Admin APIに新しくarticleAuthorsクエリが追加され、ストアの記事著者リストを取得可能に。
Location ID Queryable with Inventory Scopes
Locationオブジェクトのidフィールドへのアクセススコープがアップデートされ、read_inventoryまたはread_locationsのいずれかで照会可能に。他のフィールド(nameやaddressなど)は引き続きread_locationsスコープが必要で、この変更はすべてのAPIバージョンに適用。
New theme file metadata fields added to OnlineStoreThemeFileOperationResult object
Admin GraphQL APIでthemeFilesUpsertミューテーション成功時のレスポンスに直接テーマファイルのメタデータが含まれるように改善。これにより更新後の変更を確認するための追加フェッチリクエストが不要に。
フルフィルメント関連
New enum values for FulfillmentOrderRejectionReason
FulfillmentOrderRejectionReason列挙型に9つの新しい値が追加。国際配送が有効化されていない場合、商品情報の誤り、無効な連絡先情報、無効なSKU、マーチャントのブロックまたは停止、国際配送に必要な通関情報の欠如、注文サイズの超過、パッケージ設定の未設定、支払い方法の拒否など、様々な拒否理由に対応。
顧客関連
Re-enabled customer search terms in the GraphQL and REST Admin APIs
GraphQLとRESTの両Admin APIにおいて、一時的に無効化されていた顧客検索のクエリ条件(accepts_marketing、city、email_marketing_stateなど)が全APIバージョンで再度有効化。より詳細な顧客検索が再び可能に。
Customer RFM group now available in GraphQL Admin API
GraphQL Admin APIでCustomerオブジェクトのstatisticsフィールドを通じて顧客のRFM(最新性、頻度、金額)グループにアクセス可能に。これにより購買行動に基づく顧客セグメント化やターゲットマーケティングキャンペーンの作成が容易に。
@inContext directive added to the Customer Account API
Customer Account APIの2025-04バージョンで@inContextディレクティブが追加され、languageパラメータを受け付けるように。ショップの言語設定で有効化された言語を指定すると翻訳された値が返され、サポートされていない言語や国を指定した場合はデフォルト言語にフォールバック。
カート/チェックアウト関連
New webhook to track updates to checkout and accounts configuration
API 2025-04バージョンで導入されたcheckout_and_accounts_configurations/updateウェブフックにより、マーチャントのチェックアウトとアカウント設定の更新を検知可能に。サンクスページと注文ステータスページのアップグレード状況をtyp_osp_pages_enabledフィールドで確認できるため、APIコールの手動チェックが不要に。Plusマーチャントは2025年8月28日、非Plusマーチャントは2026年8月26日の期限に向けて、アプリの設定手順に関するタイムリーな通知が可能に。
Support for card not present transaction details in PaymentsApps API
Payments Apps APIが強化され、「カード非対面」取引の安全性向上のためAVS(住所確認システム)とCVV(カード認証値)の検証結果を提供可能に。paymentSessionResolveミューテーションにCardNotPresentInputタイプの新フィールド(cvvResultCode、avsResultCode)を追加することで、詳細な不正分析データを提供し、マーチャントの意思決定をサポート。
Checkout UI extensions: Attributes API now supports removing cart and checkout attributes
チェックアウトUI拡張機能でAttributeRemoveChangeプロパティを使用して、カートやチェックアウトの属性を削除可能に。削除したい属性のキーを新プロパティに渡すだけで、チェックアウト中に属性を削除できるように。
POS
Shopify POSがRetail Proマーチャント向けに店内受け取りと配送商品を一つの注文で処理可能に。メール・レシートテンプレートが更新され、デフォルトテンプレート使用者は対応不要だが、カスタマイズ済みの場合はdelivery_agreementsオブジェクトの確認を推奨。注文データ構造に変更があり、複数のフルフィルメントオーダーが生成され、OrderオブジェクトとFulfillmentOrderオブジェクトの各フィールド(taxLines、fulfillments、shippingAddress、deliveryMethodなど)の仕様が変更に。
POS UI Extensions 2025-04 Update
2025年4月1日からPOS UI拡張機能が更新され、複数の新機能が開発者プレビューで追加。トランザクション完了、カート更新、キャッシュトラッキングセッション(開始・完了)のイベント監視ターゲットと、レシートフッターのレンダリングターゲットに対応。また、POSReceiptBlockコンポーネント(必須親コンポーネント)とQRCodeコンポーネントが導入され、これらはPOS UI拡張バージョン2025-04とPOSアプリバージョン9.31.0で利用可能。
決済関連
New enum values for CustomerPaymentMethodRevocationReason
CustomerPaymentMethodRevocationReasonの列挙型に3つの新しい値が追加。CUSTOMER_REDACTED(GDPR準拠などの理由で支払い方法が編集された場合)、TOO_MANY_CONSECUTIVE_FAILURES(35日以内に30回連続で失敗した場合)、CVV_ATTEMPTS_LIMIT_EXCEEDED(カード情報保存チェックアウトでCVV入力に繰り返し失敗した場合)。
注文関連
Draft Orders automatically purged after 1 year of inactivity
2025年4月1日以降に作成されたドラフト注文は、1年間の非アクティブ期間後に自動削除されるように。データ管理の簡素化とアプリのパフォーマンス向上が目的。自動削除は2026年4月1日から開始予定。
InventoryItem Webhooks Accessible with Product Scopes
InventoryItemオブジェクトに関するウェブフック受信のスコープ要件が緩和され、read_inventoryまたはread_productsのどちらかで設定可能に。INVENTORY_ITEMS_CREATE、INVENTORY_ITEMS_DELETE、INVENTORY_ITEMS_UPDATEの各トピックが対象で、すべてのAPIバージョンに適用。
New field fulfillmentStatus added to the Order type of the Customer Account API
API 2025-04バージョンからOrderオブジェクトにfulfillmentStatusフィールドが追加され、表示目的の集計されたフルフィルメントステータスを確認可能に。
draftOrderCount available in 2025-07
GraphQL Admin APIの2025-07安定版でdraftOrderCountクエリが利用可能に。以前はunstable版でのみ利用可能だった機能。
配送
New additions to delivery promise participants APIs
GraphQL Admin APIの2025-07バージョンでは、配送約束参加者として店舗の場所を指定可能に。deliveryPromiseParticipantsクエリとdeliveryPromiseParticipantsUpdateミューテーションが強化され、Shop Promiseプログラムから除外する場所を指定できるように。また、productsクエリでdelivery_promise_participants_handleを使用して、配送約束参加バリアントを持つ商品のフィルタリングが可能に。
ストアフロント
Liquid support for OKLCH colors
Liquidに対するOKLCH色空間のサポートが追加され、sRGBよりも自然な色の遷移と幅広い色域を実現。新機能としてcolor_to_oklchフィルターや、色オブジェクトの拡張プロパティ(color_space、chroma、oklch、oklchaなど)を導入。color_saturateなどのフィルターもOKLCH色空間で動作するように。
Storefront API Cart now exposes selling plan errors
GraphQL Storefront API 2025-07バージョンから、販売プラン関連のエラー処理が強化。カート操作時に「VARIANT_REQUIRES_SELLING_PLAN」(販売プランが必要な商品に対してプランが提供されていない場合)と「SELLING_PLAN_NOT_APPLICABLE」(適用できない販売プランが追加された場合)という具体的なエラーが返されるように。
Hydrogen v2025.1.3がリリースされ、Vite 6とRemixのv3_routeConfig機能をサポート。Remixパッケージが2.16.2にアップデートされ、詳細は3月のリリースブログを参照可能。フィードバックはGitHub Discussionsで受付中。
AI
ShopifyのMCPサーバーが新たにリリースされ、Cursor チャット、Windsurf、Claudeデスクトップなど、様々なプラットフォームからdev assistantの機能を利用できるように。
その他
App Bridge Title Bar visual update
App Bridge Title Bar APIの見た目が刷新され、Shopify管理画面の新デザインに合わせて改良。開発者側での対応は不要で、既存APIとそのまま連携可能。
Developer Preview: Localhost-based development for shopify app dev
開発者プレビューとして、Shopify CLIが生成する自己署名HTTPS証明書を使用して「localhost」(127.0.0.1)でアプリを提供可能に。Shopify CLI 3.77以上で「shopify app dev –use-localhost」コマンドを実行するだけで、ネットワークトンネルなしで一部の機能を開発できるように。ただし、Webhook、Appプロキシ、Flowアクションなど直接アプリを呼び出す機能や、別デバイスからのテストが必要なPOS機能とは互換性なし。
giftCardConfigurationクエリを使用してギフトカードの最大値を取得可能に。購入されたギフトカードと発行されたギフトカードに対して個別の最大値が設定されている。
New finance KYC information field available for Shopify-approved finance apps
API 2025-04バージョンから、Shopify認定決済アプリが承認された店舗スタッフに代わってFinanceKycInformationオブジェクトを使用し、ビジネス住所、タイプ、業界、法人名、店舗オーナー情報、税務識別情報などにアクセス可能に。アプリへのスタッフアクセス更新に関連する5種類のウェブフック(削除、許可、取り消し、更新、KYC情報更新)も利用可能に
Stable GraphQL API versions to backfill enum values
安定版APIのGraphQL列挙型が遡及的に新しい値を追加できるよう非網羅的になり、古いAPIバージョンでも新しいアプリケーションデータ値の表現が可能に。非破壊的変更ではあるが開発ツールチェーンに影響する可能性があるため、定期的なイントロスペクションキャッシュの更新と、未知のケースに対応できるcatch-all処理の実装を推奨。