
こんにちは。プロダクトチームの周です。
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-2024-10. 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-2024-10. 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-2024-10. 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-2024-10. 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://www.cdata.com/jp/drivers/shopify
関連コンテンツ