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

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

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

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

商品関連

fileUpdate supports connecting files to products

  • fileUpdate mutationを利用して商品にファイルを紐づけられるように。

New Set Quantities Graphql Endpoint for Setting Available and On Hand Inventory Quantites

  • inventorySetQuantities mutationを利用して販売可能、手持ちの在庫を変更できるように。inventorySetOnHandQuantitiesは廃止予定。

ACTION REQUIRED
Product Set mutation synchronous input improvements

  • Product Set mutationにおいてsynchronous(同期)パラメータがfalseでない限り、デフォルトで同期処理に。

Media included in product webhooks

  • 商品作成、編集時のwebhookのペイロード内にメディア情報が追加。

Product-level configuration for Bundles in Admin

  • coarse-grained APIを利用して商品レベルのバンドル商品を作成できるように。

ACTION REQUIRED
Product Variant Field Cleanup

  • Product Variantsオブジェクトのフィールドが整理され、fulfillmentServiceやinventoryManagementなど、InventoryItemオブジェクトと重複されているものが削除または編集不可に。

Changes to variants and productOptions fields in ProductSetInput

  • ProductSetInput内のvariantsならびにproductOptionsフィールドがオプションに。

New optional argument to include translations when duplicating product asynchronously

  • 商品複製時に翻訳を含めるかどうかを指定できるように。

New validation against duplicate variant IDs in productSet mutation input

  • 複数の商品を更新する際にバリエーションのIDが重複していないかのチェックが入るように。

ディスカウント関連

ACTION REQUIRED
shippingLine.discountedPriceSet now includes cart level discounts

  • ShippingLine内のdiscountedPriceSetならびにdiscountedPriceに配送料無料を含む注文レベルのディスカウント金額が含まれるように。
    ※ これまでdiscountAllocationsからディスカウント額を減算している場合、二重にディスカウント金額を引いてしまうことになるため注意が必要。

Storefront API関連

Query bundle components on SFAPI

  • 商品バリアントにおけるバンドルコンポーネント情報が取得できるように。そのバリアントがバンドルでしか購入できないか、どのコンポーネント・バンドルに含まれるかなどが取得可能。

Fetching carrier-calculated rates through @defer directive in Storefront GraphQL API

  • カートにて配送業者の配送料を同時に取得する場合に利用できる「withCarrierRates」が追加(@defer利用が必須)。

フルフィルメント関連

Product Variant Connection Added to Fulfillment Order Line Items

  • FulfillmentOrderLineItemに商品バリアントとのconnectionが追加され、フルフィルメントから商品情報を一括で取得できるように。

ACTION REQUIRED
Moving the Shop.assignedFulfillmentOrders connection to QueryRoot

  • アプリ経由で設定されたロケーションに紐づくassignedFulfillmentOrdersがGraphQLでShop.assignedFulfillmentOrdersからQueryRootに変更。

Introduction of new Carrier Service APIs

  • Canada Post, FedEx, UPS, and USPSなど配送料をリアルタイムで計算可能な配送業者を管理するCarrier Serviceに新しいAPIが追加。

Added new field trackingSupport to FulfillmentService

  • フルフィルメントが「/fetch_tracking_numbers」エンドポイントに対応しているかを判定する「trackingSupport」フィールドを追加。

Added new field createdAt to FulfillmentEvent

  • FulfillmentEventに「createdAt(作成日時)」が追加。

Added new field fulfillmentsCount to Order

  • 注文内のフルフィルメント件数を表す「fulfillmentsCount」フィールドが追加。

 

顧客関連

Introducing the new Data Sale Opt Out API

  • CCPA /CPRAなどのの法遵守のために顧客のデータ販売への同意、オプトアウトの設定状況を取得できるように。

Introducing a webhook topic for customer account settings

  • ストアに新しい顧客アカウント、従来の顧客アカウントのどちらが設定されているかwebhookで取得できるように。

ACTION REQUIRED
Writing Metafield values available on the Customer Account API

  • Customer Account APIにてメタフィールドへの書き込みが可能に(Customer, Order, Company, and CompanyLocationリソース)。
    ※ ただし、Customer Accoutへのアクセス権限を付与しておく必要がある。metafieldDefinitionCreateおよびmetafieldDefinitionUpdateでaccsessを更新可能。

 

カート/チェックアウト関連

ACTION REQUIRED
Checkout UI extensions: New Required Cart Instructions API when updating to 2024-07 API Version

  • チェックアウトにて実装されているUI Extensionsが現在のチェックアウトで利用できるか判定する「instructions API」がリリース。バージョン2024-07以降ではチェックアウトでExtensionを表示する際、このAPIでチェックする必要がある。

The Product Discount Function API now supports cart line targeting

  • Product Discount Function APIに新しく「CartLineTarget」が追加。カート内の特定のLineItemに対し、ディスカウントを紐づけられるように。

Payment session creation request now includes a flag for Mail Order/Telephone Order payments

  • Credit Card Payments App Extensionにて支払いのセッションを作成する際にクレジットカード情報がマーチャント側で入力されたものかどうかを判別するmotoフィールドが追加(電話やメールでの注文で決済したなどの判別に利用することを想定)。

New Field: Order Shipping Address Validation Result

  • mailingAddressタイプ内のvalidationResultSummaryフィールドが利用できるように。バリデーションの結果に応じてMailingAddressValidationResultをセットすることを想定。

New field on CheckoutProfile: typOspPagesActive

  • サンクスページや注文状況ページがCheckout Extensibility対応しているかどうかをtypOspPagesActiveフィールドとしてクエリから取得できるように。

[Checkout Branding API] Divider style and visibility customizations

  • チェックアウトのデザインを変更するCheckout Branding APIにおいてdivider(分割線)の表示非表示、スタイル、幅などが調整可能に。

[Checkout Branding API] Deprecation of transparent background

  • チェックアウト背景の指定に「TRANSPARENT」が利用不可に。「BASE」または「SUBDUED」の利用が必要。

カスタムデータ関連

Conditional metafields APIs

  • 特定の商品属性でフィルタされたものしか設定できないなど条件付きのメタフィールドの設定が可能に。

New metafield jsonValue field

  • MetafieldならびにMetaobjectにおいてJSONタイプのフィールドが設定できるように。Functions APIでの利用を想定。

New metafield definition types: link and list.link

  • メタフィールドにlink (URL)タイプが追加。複数のリンクを設定することも可能。

定期購入関連

SellingPlan metafields are now available in the Admin and Storefront API

  • SellingPlanにメタフィールドがセット可能になり、追加の情報などを持たせてストア内で表示することができるように。

ACTION REQUIRED
Subscription Billing Attempt now Respects Inventory Policy to not Allow Overselling

  • 定期購入の請求処理中に商品の在庫が確認されるように。処理中に商品バリアントが「在庫切れの商品を販売しない」設定ならびに在庫がなかった場合、INSUFFICIENT_INVENTORYエラーとしてハンドリングされる。

New Subscription BillingCycles mutations

  • 定期購入契約の請求期間であるSubscription BillingCyclesに新しいAPIが追加。

配送関連

New delivery promise provider API object

  • DeliveryPromiseProviderオブジェクトが追加。配送予定を表示できるパートナーを対象として、Locationに紐づいて管理され、利用できる(現在は一部の配送パートナーのみ)。

決済関連

Accelerated Checkout Buttons Now Support Functions

  • ダイナミックチェックアウトのデザイン機能が新しくなり、パフォーマンスの向上やデザイン拡張が可能に。

Additions to the GraphQL API for Shopify Payments payouts and balance transactions

  • Shopify PaymentsにおけるPayout、ShopifyPaymentsBalanceTransactionを取得する際のパラメータが追加。

在庫関連

A new error code added to InventorySetScheduledChanges mutation

  • LEDGER_DOCUMENT_INVALIDエラーが追加され、InventorySetScheduledChanges mutationでエラー発生する可能性がある場合などに利用できる。

注文関連

GraphQL Admin API: Order.transactionsCount field added

  • Order.transactionsCountにて特定の注文の中で行われたトランザクションの回数が取得できるように。

New committed_at timestamp added to orders/edited webhook payload

  • orders/editedのwebhookペイロードに最終更新日時のcommited_atが追加。

返品関連

New return APIs to create exchanges, add fees, remove return lines and calculate returns

  • Return APIが新しくなり、返品時に交換や手数料の追加、返品商品の削除などが可能に。

ACTION REQUIRED
Return.suggestedRefund and ReturnRefund consider exchanges and fees

  • 返品手数料などが設定されている場合、返品時に発生する返金額について、Shopify側で自動調整された金額が提案される「Return.suggestedRefund」が追加。

ACTION REQUIRED
GraphQL Admin API: Update to returnLineItems connection

  • Return.returnLineItems connectionがインターフェイスに変更され、今後返品商品の属性が追加された場合でも拡張可能に。

その他

Achievements section removal from App > Distribution page in partner dashboard

  • パートナーダッシュボード上の実績表示が削除され、内容により他のページでの表示に切り替え。

ACTION REQUIRED
The location object requires read_locations scope

  • ロケーション情報を取得するためにはread_locationスコープが必要に。

New LocalizationExtensionKeys values

  • 新しく追加された国向けの対応として14のLocalizationExtensionsKey(特定の国での配送・税金クレデンシャル)がGraphQL APIに追加。

ACTION REQUIRED
Deprecation Notice: Country and Province Endpoints in Admin REST API

  • Admin REST APIにおける国(Country)ならびに地域(Province)のエンドポイントが廃止に。

Additional fields of ShopifyPaymentsBalanceTransaction object available

  • ShopifyPaymentsBalanceTransactionオブジェクトに以下のフィールドが追加。
    • description
    • amount
    • fee
    • source_type
    • type
    • associated_order
    • associated_payout
    • test

GraphQL Admin API: webhookSubscriptionsCount field added

  • いくつwebhookをsubscriptionしているかの件数が格納されたwebhookSubscriptionsCountフィールドが追加。

Store Credit functionality available on the Admin and Customer API

  • Admin APIならびにAccount APIにてStoreCreditAccountを取得・編集できるように。これまで利用されたStoreCreditの履歴などを取得できる。