`PublishedTranslation` GraphQLタイプの廃止について

2023年4月より、Shopify管理API内のPublishedTranslation GraphQLタイプの使用が非推奨となります。代わりにTranslation GraphQLタイプを使用するようお願い致します。

1. 技術的課題の定義と現状分析

PublishedTranslation GraphQLタイプは、これまでShopify管理APIで使用されてきましたが、その寿命が終わりを迎えています。このタイプは、管理APIで商品やコレクションなどの公開翻訳を扱うために使用されてきましたが、現状では新たなフィールドへの対応が必要となるため、代替手段が求められています。

2. 具体的な技術的ソリューションの提案

将来的な非互換性を避け、新たなフィールドに対応するために、PublishedTranslation の代わりに Translation GraphQLタイプを使用することを提案します。新Translationタイプには、outdatedupdatedAtmarketの3つの新たなフィールドが追加されています。

3. 実装手順とコード例

まず、既存のクエリからmarketIdフィールドの参照を削除します。次に、新たなmarketフィールドを使用してクエリを作成します。

例えば、以下のようなクエリを実行していた場合:

{
  publishedTranslation(locale: "en", translatableId: "gid://shopify/Product/1") {
    marketId
    translation
  }
}

新たなTranslationタイプを使用した以下のようなクエリに変更します:

{
  translation(locale: "en", translatableId: "gid://shopify/Product/1") {
    market
    translation
  }
}

4. パフォーマンス・コスト分析

この変更は、APIのパフォーマンスやコストに大きな影響を与えるものではありません。ただし、最新の情報を反映させ、将来的な非互換性を避けるためには、この変更を行うことが推奨されます。

5. 実装時の注意点・ベストプラクティス

新たなTranslationタイプに移行する際は、既存のコードのPublishedTranslation参照を全て確認し、必要な変更を行ってください。

6. 次のステップ・発展案

今後もShopifyのAPIは常に進化し続けます。最新の情報については、Shopify.devをご覧ください。

参考記事: Deprecating `PublishedTranslation` GraphQL type