Content API for Shopping 相容性

您可以參考本指南,整合 Merchant API 與現有的 Content API for Shopping 實作項目。

開始使用

如要進一步瞭解 Merchant API 及其子 API,請參閱 Merchant API 設計

如要開始使用 Merchant API,請將要求網址變更為以下格式:

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

詳情請參閱快速入門指南和 Merchant API 參考資料

gRPC 支援

Merchant API 支援 gRPC 和 REST。您可以將 Merchant API 的 gRPC 用於 Merchant API 和 REST 的 Content API for Shopping。

Merchant API 用戶端程式庫需要 gRPC。

詳情請參閱使用 gRPC 一文。

相容性

本指南說明適用於整個 Merchant API 的一般變更。如要瞭解特定功能的變更,請參閱下列指南:

Merchant API 的設計是要搭配現有的 Content API for Shopping 2.1 版功能使用。

舉例來說,您可以將 Merchant Intories API 與現有的 Content API for Shopping 2.1 版商品目錄和 products 實作項目搭配使用。您可以利用 Content API for Shopping 上傳新的本機產品 (在本地商店販售),然後使用 Merchant Inventories API LocalInventory 資源管理該產品的店內資訊。

批次要求

Merchant API 不支援 Content API for Shopping 中提供的 customBatch 方法。請改為參閱「傳送批次要求」。如果您使用 customBatch 且需要 Merchant API 的這項功能,請透過意見回饋告訴我們原因。

ID

為配合 Google 的 API 改善原則,我們對 Merchant API 資源的 ID 做了一些變更。

名稱會取代 ID

所有 Merchant API 資源都會使用 name 欄位做為專屬 ID。

以下範例說明如何在呼叫中使用 name 欄位:

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

系統會將這個新的 name 欄位做為 Merchant API 中所有讀取與寫入呼叫的資源 ID 傳回。

name 欄位中傳回的值會使用新的 ID 格式

舉例來說,您可以實作 getName() 方法從資源擷取 name,然後將輸出內容儲存為變數,而不是自行從商家和資源 ID 建構 name

新的 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 共用的常見類型。

價格

以下是商家 Common 套件中 Price 的變更:

Content API 商家 API
金額欄位 value:string amountMicros:int64
幣別欄位 currency:string currencyCode:string

Price 金額現已以微量記錄,1 百萬個微量等於你貨幣的標準單位。

在 Content API for Shopping 中,Price 是字串形式的十進位數字。

金額欄位名稱已從「value」變更為「amountMicros

貨幣欄位名稱已從「currency」變更為「currencyCode」。格式仍為 ISO 4217