Content API v2 から v2.1 に移行する

2019 年 3 月に Content API for Shopping バージョン 2.1 をリリースし、2021 年 4 月に v2 のサポートが 2021 年 9 月 30 日に終了することをお知らせしました。バージョン v2 はサポート終了しました。早急に v2.1 に移行してください。

アプリケーションの移行

v2 から v2.1 への移行では、新しい v2.1 バージョンを呼び出すようにエンドポイント URL を更新し、v2.1 で導入された互換性のない変更を考慮するようにアプリケーションを変更します。

v2.1 エンドポイントを使用するように API 呼び出しを更新する

v2.1 を呼び出すには、新しい v2.1 エンドポイントを使用するようにリクエストを更新します。

たとえば、v2 で products.get メソッドを呼び出すには、次のようにします。

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

v2.1 の場合は、URL を次のように更新します。

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

v2.1 サービスとエンドポイントの詳細については、API リファレンスをご覧ください。

必要な変更を加える

API 呼び出しの URL を更新するだけでなく、v2.1 で導入されたいくつかの互換性を損なう変更に対応するようにアプリケーションを更新する必要があります。以下のセクションを確認し、必要に応じてアプリを更新してください。

1. inventory サービスとの統合を更新する

v2 inventory サービスは削除されました。同等の機能は、次の v2.1 機能で利用できます。

  • 商品の部分的な更新には、新しい補助フィードまたは products.update を使用します。inventory.set で以前に更新されたすべてのフィールド(localinventory 専用のフィールドを除く)など、変更可能なすべての商品フィールドを更新できます。詳しくは、補助フィードに移行するをご覧ください。

  • ローカル商品の更新には、新しい localinventory サービスを使用します。

2. accounts サービスへの呼び出しを更新する

  • v2.1 の accounts.update メソッドの呼び出しでは、リクエストに含まれるフィールドのみを更新するのではなく、accounts リソースが完全に上書きされます。accounts リソースのフィールドが削除されないようにするには、すべてのフィールドを含むように呼び出しリクエストを更新します。

  • reviewsUrl を削除しました。

  • adsLinksgoogleMyBusinessLinkyoutubeChannelLinks のリンク ステータス inactive が削除されました。

3. products サービスへの呼び出しを更新する

  • カスタム属性に型と単位が含まれなくなりました。代わりに、単位は値に追加され、型は自動的に検出されます。

  • 繰り返しフィールド productTypesproductTypeadditionalProductTypes の両方に置き換わりました。

  • 繰り返しフィールド includedDestinationsexcludedDestinations が、繰り返しフィールド destinations に置き換えられました。

  • 次の AdWords 関連のフィールドの名前が変更されました。

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • 次のフィールドが削除されました。

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • includeInvalidInsertedItems パラメータが削除されました。v2.1 では、デフォルトですべての商品が返されます。

  • 挿入された商品を products.get または products.list で取得できるようになるまでに数分の遅延が発生するようになりました。

  • 返される offerId は、入力 offerId と同じであるとは限りません。v2.1 では、offerId の先頭と末尾の空白文字が削除され、複数の空白文字が 1 つに統合されます。この変更は、推奨される offerId 構文に準拠する offerId 値には影響しません。

  • 商品の挿入前に価格が検証されるようになりました。値文字列で使用できる文字は、+-.、数字(0 ~ 9)のみです。0-9)。カンマは使用できません。

  • products.insert または products.update 呼び出しからのレスポンスには、次の属性のみが含まれます。

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • v2 オプション includeAttributes は非推奨になりました。代わりに、products.getProductId を使用して、完全な商品情報を表示します。

4. productstatuses サービスへの呼び出しを更新する

  • product 属性と includeAttributes パラメータが削除されました。ステータスに対応する商品の属性を取得するには、products サービスを使用して、新しい productId フィールドの値を渡します。

  • includeInvalidInsertedItems パラメータが削除されました。商品の有効性にかかわらず、すべての商品の productId が返されるようになりました。

  • destinationStatusesintentionapprovalStatusapprovalPending フィールドが status に置き換えられました。status は、approveddisapprovedpending のいずれかになる文字列です。

  • dataQualityIssuesitemLevelIssues に置き換えました。

5. datafeeds サービスへの呼び出しを更新する

  • 次のターゲット フィールドが置き換えられました。

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinationsexcludedDestinations
  • contentType = "product inventory update" を含むデータフィードは削除されました。

6. orders サービスと TestOrders サービスの呼び出しを更新する

  • v2.1 では、税金データは自動的に計算されるため、呼び出しに税金データを含めないでください。Marketplace Fairness Act(MFA)または類似の法律が適用される州で注文が履行される場合、税金データを含む呼び出しは失敗します。注文が MFA 以外の状態で履行された場合、税金は Merchant Center で構成された設定に基づいて計算されます。設定されていない場合、計算される税額は 0 になります。

  • InStoreRefundLineItem フィールドと ReturnRefundLineItem フィールド amountPretaxamountTax が、それぞれ priceAmounttaxAmount に置き換えられました。priceAmount は、注文の場所に応じて税抜きまたは税込みになります。

  • リクエストの ShipLineItem フィールド carriershipmentIdtrackingIdshipmentInfos に移動しました。

  • billingAddresspredefinedBillingAddress が、それぞれ ordersTestOrder の最上位フィールドになりました。

  • customer.explicitMarketingPreferencecustomer.marketingRightsInfo に置き換えました。

  • netAmount フィールドが netPriceAmountnetTaxAmount に分割されました。

  • shippingOptionlineItems[].shippingDetails に置き換えました。

  • リクエストの CancelLineItem フィールド amountamountPretaxamountTax が削除されました。払い戻し額が自動的に計算されるようになりました。

  • CustomBatch を削除しました。

  • Refund を削除しました。代わりに refundOrder または refundItem を使用してください。

  • paymentMethod フィールドが削除されました。

  • v2 メソッド orders.returnlineitemorders.refundorderreturns.creatOrderReturnorderreturns.process に置き換えられます。

  • customer.emailchannelTypelineItem.product.channel の各フィールドが削除されました。

  • promotions フィールドが TestOrder サービスから削除され、Order で形式が変更されました。

7. orderinvoice サービスへの呼び出しを更新する

  • amountPretax フィールドと amountTax フィールドがそれぞれ priceAmounttaxAmount に置き換えられました。priceAmount フィールドは、注文の場所に応じて税抜きまたは税込みになります。

  • invoiceSummary とプロモーション料金関連フィールドの残高(販売者、お客様、Google)を削除しました。

8. v2.1 に含まれていない機能を削除

Content API の v2.1 では、他にもいくつかの機能が削除されています。次のリストを確認し、必要に応じてアプリケーションを更新します。

  • XML はサポートされなくなります。JSON への切り替えについて詳しくは、Content API for Shopping での XML サポートの終了をご覧ください。

  • dryRun パラメータが削除されました。この変更は、すべての API 呼び出しに適用されます。

  • HTTP BATCH メソッドをすべて削除しました。代わりに customBatch を使用してください。

  • 次のサービスから patch メソッドが削除されました。

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • orderpayments サービスが削除されました。

移行をテストする

v2.1 に移行した後にアプリケーションの変更をテストする方法について詳しくは、Content API for Shopping の使用をテストするをご覧ください。更新のテスト中に問題が発生した場合は、こちらからお問い合わせください。

バージョン 2.1 のその他の変更

更新が必要な変更に加えて、v2.1 ではいくつかの新機能と非破壊的変更も導入されています。

  • 新しいサービス:

    • 新しい localinventory サービスを使用すると、ローカル商品の更新を(v2 の inventory サービスの代わりに)行うことができます。

    • 新しい orderreturns サービスを使用すると、orders サービスを使用しなくても返品を処理できるため、Google で購入(以前のショッピング アクション)の管理が容易になります。

  • 補助フィードを使用すると、商品の一部を更新できます。

  • products サービスに対するその他の変更:

    • products.insert リクエストで、非致命的な警告やエラーが報告されなくなりました。これにより、Content API の外部で管理されているフィードと同じように、Merchant Center のフィードのルールを使用して商品を挿入し、後続の更新を行って問題を解決できます。

    • products.update が追加され、選択した商品フィールドのセットを更新できるようになりました。使用方法の詳細については、ガイドをご覧ください。

    • 次の属性の無効な値は、挿入エラーをトリガーしなくなり、productstatus サービスによって itemLevelIssues の一部として返されるようになりました。

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • カスタム属性が再帰的になったため、カスタム グループは不要になりました。

    • カスタム属性に、元の value フィールドに加えて groupValues フィールドが追加されました。フィールドのいずれか 1 つを設定する必要があります。