Content API for Shopping の互換性

このガイドでは、Merchant API を既存の Content API for Shopping の実装に統合できます。

始める

Merchant API とそのサブ API の詳細については、Merchant API の設計をご覧ください。

Merchant API の使用を開始するには、リクエスト URL を次の形式に変更します。

https://merchantapi.googleapis.com/{sub-API}/{version}/{resource name}/{service}:{method}

詳しくは、クイックスタート ガイドと Merchant API のリファレンスをご覧ください。

gRPC のサポート

Merchant API は gRPC と REST をサポートしています。Merchant API には gRPC を、Content API for Shopping には REST を同時に使用できます。

Merchant API クライアント ライブラリには gRPC が必要です。

詳細については、gRPC を使用するをご覧ください。

互換性

このガイドでは、Merchant API 全体に適用される一般的な変更について説明します。特定の機能の変更については、次のガイドをご覧ください。

Merchant API は、既存の Content API for Shopping v2.1 の機能と連携するように設計されています。

たとえば、Merchant Inventories API は、既存の Content API for Shopping v2.1 在庫と products 実装と併用できます。Content API for Shopping を使って新しいローカル商品(実店舗で販売している商品)をアップロードし、Merchant Inventories API の LocalInventory リソースを使ってその商品の店舗情報を管理できます。

バッチ リクエスト

Merchant API は、Content API for Shopping に組み込まれている customBatch メソッドには対応していません。代わりに、バッチ リクエストを送信するをご覧ください。customBatch を使用していて、Merchant API でこの機能が必要な場合は、フィードバックでその理由をお知らせください。

識別子

Google の API 改善の原則に沿い、Merchant API リソースの識別子にいくつかの変更を加えました。

名前が Id に置き換わる

すべての Merchant API リソースは、一意の識別子として name フィールドを使用します。

呼び出しで name フィールドを使用する方法の例を次に示します。

POST https://merchantapi.googleapis.com/inventories/v1beta/{parent}/regionalInventories:insert

この新しい name フィールドは、Merchant API のすべての読み取り / 書き込み呼び出しのリソース ID として返されます。

name フィールドで返される値は、新しい ID 形式を使用します。

たとえば、販売者 ID とリソース ID から name を自分で構築する代わりに、リソースから name を取得する getName() メソッドを実装し、出力を変数として保存します。

新しい ID の形式

Merchant API では、リソース ID の形式は channel~language~feedLabel~offerId です。

Content API リソースで、ID の各値の間で ~ ではなく : が使用されていました。 channel:language:feedLabel:offerId

すべての Merchant API 呼び出しは、ID の値の間に ~ を含む新しい形式を返します。レスポンスの新しい形式を保存して、今後の呼び出しで使用することをおすすめします。

子リソースの親フィールド

Merchant API では、すべての子リソースに parent フィールドがあります。親リソース全体を渡す代わりに、parent フィールドを使用して、子を挿入するリソースの name を指定できます。parent フィールドを list メソッドとともに使用して、その parent の子リソースを一覧表示することもできます。

たとえば、特定の商品のローカル在庫を一覧表示するには、list メソッドの parent フィールドに商品の name を指定します。この場合、指定された product は、返された LocalInventory リソースの parent です。

ここでは、Merchant API サブ API で共有される一般的なタイプをいくつか示します。

Price

Merchant Common パッケージの Price の変更点は次のとおりです。

Content API 販売者 API
金額フィールド value:string amountMicros:int64
通貨フィールド currency:string currencyCode:string

Price の金額がマイクロ単位で記録されるようになりました。ここで、100 万マイクロが、使用する通貨の標準単位に相当します。

Content API for Shopping では、Price は文字列形式の 10 進数でした。

金額フィールド名が value から amountMicros に変更されました

通貨フィールド名が currency から currencyCode に変更されました。形式は ISO 4217 のままにします。