
こんにちは。プロダクトチームの周です。
Shopify REST Admin API は2024年10月1日をもってレガシーとなったことに伴い、Shopify 連携のCData 製品でご利用のデータモデルについて、「REST Data Model」から「GRAPHQL Data Model」への移行を強くお勧めいたします。REST とGRAPHQL データモデルでは、利用可能なテーブル、ビュー、ストアドプロシージャに仕様上の違いが数多くありますため、GRAPHQL への移行に際しては、これらの違いを十分にご確認いただいた上で、計画的な移行を実施していただく必要があります。本記事ではGRAPHQL への移行による主な変更点(Products関連)を案内いたします。
※Ordersに関連する主な変更点はこちらのブログ記事をご参照ください。
※Fulfillment,Inventory,Customersに関連する主な変更点はこちらのブログ記事をご参照ください。
◆ Products (REST-2024-04より削除) → (GRAPHQL) Products
REST-2024-01. Products | GRAPHQL-2025-04. Products | GRAPHQLに関する注記 |
BodyHtml | DescriptionHtml | |
Id | Id , LegacyResourceId | GRAPHQLの「Id」はRESTと異なるフォーマットを持つグローバルID。 例:"gid://shopify/Product/1384062648343" |
Images | ProductMediaImages.* | ProductMediaImages.ProductId = Products.Id |
Options | ProductOptions.* | ProductOptions.ProductId = Products.Id |
PublishedScope | PublishedOnCurrentPublication | |
Variants | ProductVariants.* | ProductVariants.ProductId = Products.Id |
◆ ProductOptions (REST-2024-04より削除) → (GRAPHQL) ProductOptions
REST-2024-01. ProductOptions | GRAPHQL-2025-04. ProductOptions | GRAPHQLに関する注記 |
Id | Id | GRAPHQLの「Id」はRESTと異なるフォーマットを持つグローバルID。 |
ProductId | Products.LegacyResourceId | Products.Id = ProductOptions.ProductId |
ProductUpdatedAt | Products.UpdatedAt | Products.Id = ProductOptions.ProductId |
◆ ProductVariants (REST-2024-04より削除) → (GRAPHQL) ProductVariants
REST-2024-01. ProductVariants | GRAPHQL-2025-04. ProductVariants | GRAPHQLに関する注記 |
FulfillmentService | Location.FulfillmentServiceId | InventoryItemInventoryLevels.InventoryItemId = ProductVariants.InventoryItemId InventoryItemInventoryLevels.LocationId = Location.Id |
Grams | → InventoryItemMeasurementWeight* | |
Id | Id , LegacyResourceId | GRAPHQLの「Id」はRESTと異なるフォーマットを持つグローバルID。 |
InventoryItemId | InventoryItems.LegacyResourceId | InventoryItems.Id = ProductVariants.InventoryItemId |
InventoryManagement | InventoryItemTracked | |
Option1 | SelectedOptions | |
Option2 | SelectedOptions | |
Option3 | SelectedOptions | |
ProductId | Products.LegacyResourceId | Products.Id = ProductVariants.ProductId |
RequiresShipping | InventoryItemRequiresShipping | |
Weight | InventoryItemMeasurementWeightValue | |
WeightUnit | InventoryItemMeasurementWeightUnit | |
◆ ProductImages (REST-2024-04より削除) → (GRAPHQL) ProductMediaImages
REST-2024-01. ProductImages | GRAPHQL-2025-04. ProductMediaImages | GRAPHQLに関する注記 |
Alt | AltText | |
CreatedAt | 未対応 | |
FilePath | Url | |
ImageId | Id | GRAPHQLの「Id」はRESTと異なるフォーマットを持つグローバルID。 |
Position | ✕ (GRAPHQL未対応) | Products.FeaturedMediaIdの画像はRESTで「position=1」の本体画像と一致する可能性が高いが、100%一致する保証はない。 |
ProductId | Products.LegacyResourceId | Products.Id = ProductMediaImages.ProductId |
Src | Url | |
UpdatedAt | 未対応 | |
VariantIds | → ProductId | Products.Id = ProductMediaImages.ProductId |
◆ ProductListings (REST-2024-04より削除) → (GRAPHQL) 未対応
GRAPHQLでは一対一の代替手段は提供されていないようですが、該当「ProductListings」データは下記条件で取得できるようです。
SELECT * FROM Products WHERE PublishedOnCurrentPublication = TRUE;
関連OptionやVariantデータは「ProductOptions」や「ProductVariants」から取得する必要です。
おわりに
本記事ではShopify API とデータモデルのREST からGRAPHQL への移行による主な変更点(Products関連)を紹介しました。全ての変更点を網羅したリストではありませんが、ご不明な点がございましたら、お気軽に弊社サポートデスクにお問い合わせください。引き続きCData 製品をShopify へのデータ連携でご活用ください。
CData Shopify Drivers は30日間の無償トライアルが可能です。ぜひお試しくださいませ。
https://jp.cdata.com/drivers/shopify