我們在 2019 年 3 月推出 Content API for Shopping 2.1 版,並在 2021 年 4 月宣布 v2 版將於 2021 年 9 月 30 日停用。v2 版已淘汰。請立即改用 2.1 版。
遷移應用程式
從 v2 遷移至 v2.1 時,您需要更新端點網址,以便呼叫新的 v2.1 版本,並修改應用程式,因應 v2.1 中導入的重大變更。
更新 API 呼叫,使用 v2.1 端點
如要呼叫 v2.1,請更新要求,以便使用新的 v2.1 端點。
舉例來說,如要使用 v2 呼叫 products.get 方法,請使用:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
如為 v2.1,請將網址更新為:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
如要進一步瞭解 2.1 版服務和端點,請參閱 API 參考資料。
進行必要變更
除了更新 API 呼叫的網址,您也需要更新應用程式,以因應 v2.1 中導入的幾項重大變更。請參閱下列章節,並視需要更新應用程式。
1. 更新與 inventory 服務的整合
v2 inventory 服務已移除,但您可以使用下列 v2.1 功能,取得同等功能:
使用新的補充動態饋給或
products.update進行部分產品更新。你可以更新所有可變動的產品欄位,包括先前使用inventory.set更新的所有欄位 (localinventory專屬欄位除外)。詳情請參閱「改用補充動態饋給」。使用新的
localinventory服務更新店面產品。
2. 更新對 accounts 服務的呼叫
在 2.1 版中,呼叫
accounts.update方法會完全覆寫accounts資源,而不是只更新要求中包含的欄位。為避免刪除accounts資源中的欄位,請更新呼叫要求,加入所有欄位。已移除「
reviewsUrl」。已移除「
inactive」的連結狀態,適用於「adsLinks」、「googleMyBusinessLink」和「youtubeChannelLinks」。
3. 更新對 products 服務的呼叫
自訂屬性不再包含類型和單位。而是附加至值,且系統應會自動偵測類型。
重複欄位
productTypes已取代productType和additionalProductTypes。重複欄位
includedDestinations和excludedDestinations已取代重複欄位destinations。下列 AdWords 相關欄位已重新命名:
adwordsGrouping->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
下列欄位已遭移除:
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
includeInvalidInsertedItems參數已移除。在 2.1 版中,系統預設會傳回所有產品。現在插入產品後,必須等待幾分鐘,才能透過
products.get或products.list擷取產品。傳回的
offerId不再保證與輸入的offerId相同。v2.1 會修剪offerId中的前置和後置空白字元,並將多個空白字元合併為一個。這項異動不會影響符合建議offerId語法的offerId值。現在系統會在插入產品前驗證價格。值字串只能包含下列字元:
+、-、.和數字 (即0-9)。系統不再接受逗號。products.insert或products.update呼叫的回應只會包含下列屬性:channelcontentLanguageidofferIdfeedLabel
v2 選項
includeAttributes已淘汰。請改用products.get搭配ProductId查看完整產品資訊。
4. 更新對 productstatuses 服務的呼叫
已移除
product屬性和includeAttributes參數。如要擷取與狀態相應的產品屬性,請使用products服務並傳遞新productId欄位的值。includeInvalidInsertedItems參數已移除。現在無論產品是否有效,系統都會傳回每個產品的productId。destinationStatuses中的intention、approvalStatus和approvalPending欄位已由status取代,後者是字串,可為approved、disapproved或pending。dataQualityIssues已由itemLevelIssues取代。
5. 更新對 datafeeds 服務的呼叫
下列目標欄位已遭取代:
contentLanguage->languagetargetCountry->countryintendedDestinations->includedDestinations,以及excludedDestinations
已移除含有
contentType = "product inventory update"的資料動態饋給。
6. 更新對 orders 和 TestOrders 服務的呼叫
在 2.1 版中,通話不應包含稅金資料,因為系統會自動計算稅金資料。如果訂單在有《市場公平法案》(MFA) 或類似法案的州完成,包含稅務資料的呼叫就會失敗。如果訂單在非 MFA 狀態下出貨,系統會根據 Merchant Center 中設定的稅金計算方式計算稅金。如未設定,計算出的稅金為 0。
InStoreRefundLineItem和ReturnRefundLineItem欄位amountPretax和amountTax已分別由priceAmount和taxAmount取代。priceAmount可能是稅前或稅後金額,視訂單所在地點而定。要求中的
ShipLineItem欄位carrier、shipmentId和trackingId已移至shipmentInfos。billingAddress和predefinedBillingAddress現在分別是orders和TestOrder中的頂層欄位。customer.explicitMarketingPreference已由customer.marketingRightsInfo取代。「
netAmount」欄位已分割為「netPriceAmount」和「netTaxAmount」。shippingOption已由lineItems[].shippingDetails取代。要求中的
CancelLineItem欄位amount、amountPretax和amountTax已移除。系統現在會自動計算退款金額。已移除
CustomBatch已移除
Refund。請改用refundOrder或refundItem。已移除「
paymentMethod」欄位。v2 方法
orders.returnlineitem和orders.refund已由orderreturns.creatOrderReturn和orderreturns.process取代。已移除
customer.email、channelType和lineItem.product.channel欄位。promotions欄位已從TestOrder服務中移除,且格式已在Order中變更。
7. 更新對 orderinvoice 服務的呼叫
amountPretax和amountTax欄位已分別由priceAmount和taxAmount取代。priceAmount欄位可以是稅前或稅後,視訂單所在地而定。移除了
invoiceSummary中的餘額 (商家、顧客、Google) 和促銷活動費用相關欄位。
8. 移除 v2.1 未納入的功能
此外,Content API 2.1 版也移除了其他幾項功能。請查看下列清單,並視需要更新應用程式:
系統已不再支援 XML。如要進一步瞭解如何改用 JSON,請參閱「Content API for Shopping 停止支援 XML」。
dryRun參數已移除。這項異動適用於所有 API 呼叫。所有
HTTP BATCH方法都已移除。改用customBatch。下列服務已移除
patch方法:accountsaccounttaxdatafeedsliasettingsshippingsettings
「
orderpayments」服務已移除。
測試遷移作業
如要進一步瞭解如何測試應用程式在遷移至 2.1 版後的變更,請參閱「測試 Content API for Shopping 的用途」。如果在測試更新時遇到問題,請與我們聯絡。
2.1 版的其他異動
除了需要更新的變更之外,2.1 版也推出幾項新功能和非破壞性變更:
新服務:
新版
localinventory服務可讓您更新店面產品 (取代 v2 中的inventory服務)。有了這項新服務
orderreturns,你就能更輕鬆地管理「透過 Google 購物」(前稱「購物行動」),不必使用orders服務即可處理退貨。
補充動態饋給可讓你更新部分產品。
products服務的其他異動:products.insert要求不再回報不嚴重的警告或錯誤。 這樣一來,你就能插入產品,並透過 Merchant Center 中的動態饋給規則解決問題,如同管理不是用 Content API 維護的其他動態饋給。products.update,方便你更新所選的一組產品欄位。如要進一步瞭解可能的使用方式,請參閱指南。下列屬性的無效值不會再觸發插入錯誤,而是由
productstatus服務以itemLevelIssues的形式傳回:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
自訂屬性現在為遞迴屬性,因此不需要自訂群組。
自訂屬性現在除了原始的
value欄位外,還包含groupValues欄位。必須設定其中一個欄位。