Shopify APIとデータモデルのRESTからGRAPHQLへの移行による主な変更点(Products関連)

Shopify-Rest2GraphQL-Products.png

こんにちは。プロダクトチームの周です。

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

トライアル・お問い合わせ

関連コンテンツ