最佳做法

本文提供最佳做法指南。詳情請參閱效能提示

API 的使用時機

以程式輔助方式傳送要求

無論您偏好自動執行工作流程的每個環節,還是想建立 ERP (企業資源規劃) 系統的掛鉤,只要商品目錄有變動,Content API 都能讓您立即傳送更新。

如要立即收到意見回饋

在 Content API 中,系統會立即回應每個要求,而不是在處理完資料動態饋給後,透過電子郵件摘要回覆。大量批次要求預計會出現 5 到 10 秒的延遲。

如要經常變更產品資料

透過 Content API,你可以在一天內多次增量更新快速銷售的產品庫存,但每次都傳送完整資料動態饋給並不可行。如果個別更新可用,請個別傳送,不要等到有多個更新再批次傳送。同樣地,如果可批次更新,請以批次形式傳送,不要分成個別要求。

如何管理多個子帳戶

新建立的 Merchant Center 帳戶是單一帳戶,會保留自己的產品資料集。在大多數情況下,這種做法都相當有效,但隨著帳戶規模擴大,你可能會發現需要更複雜的產品管理系統。如果符合上述情況,建議使用多重客戶帳戶 (MCA)。您可透過帳戶服務,在 API 層級管理 MCA 帳戶,並以程式輔助方式新增及管理子帳戶。如要進一步瞭解如何取得 MCA 帳戶,請參閱本文

如何使用 API

請勿將 API 當成資料動態饋給使用

使用 products 資源時,請避免每天更新整個產品動態饋給。 請改為只更新資料實際變更的產品。透過 products 資源傳送整個資料動態饋給,會耗費 Google 和你更多時間和資源。

請勿使用 API 定期擷取你上傳的產品資訊

如果你負責維護特定 Merchant Center 帳戶中的產品資訊,請避免定期透過 products.getproducts.list 方法,向 Content API 要求產品資訊。對於上傳資訊的客戶,這些方法可協助您在設計使用 Content API 的解決方案時,偵錯問題。不過,這類用戶端不應定期擷取產品資訊。你應該有其他產品資訊來源 (例如店面產品資料庫),且 Merchant Center 中的產品應反映該來源的內容。

請勿同時使用資料動態饋給和 Content API 提交產品項目

如果考慮改用 API 提交商品項目,請確認你不再使用資料動態饋給提交產品項目。如果繼續透過這兩種管道提交商品,可能會發生非預期的結果。

有什麼方法可以安全地同時使用 API 和資料饋給?

你可以使用 API 的資料動態饋給服務來操控資料動態饋給。雖然這樣做可大幅簡化大規模資料動態饋給管理作業,但請注意,你不應使用 API 和動態饋給同時插入或更新產品,否則可能會發生非預期結果。

以下列舉其他可接受的資訊提供和 API 共同使用方式:

  • 透過 API 執行唯讀要求 (取得或列出):部分商家想透過 API 擷取產品的資訊和狀態更新。這是可接受的,因為產品資訊只會透過動態饋給更新。

  • 使用 API 管理子帳戶 (帳戶服務) 和/或帳戶層級的稅金和運送設定 (帳戶稅金服務運送設定服務)。這些並非 Datafeeds 可提供的功能,因此使用 API 管理這些功能時不會發生衝突。

如何從使用資料動態饋給改為只使用 API,或反過來操作?

如果你目前使用資料動態饋給,並想改為只使用 API 更新產品,則須透過 API 重新上傳產品資料。使用 products 服務更新特定產品時,API 會控管產品資訊,因此從資料動態饋給中刪除產品或刪除資料動態饋給本身,都不會再從 Merchant Center 帳戶中移除產品資訊。如要從資料動態饋給或資料動態饋給本身移除產品,請確保沒有資料動態饋給更新,否則資料動態饋給會再次取得擁有權,從資料動態饋給移除產品會導致產品遭到移除。

如果您目前只使用 API 取得產品資訊,並想改用資料動態饋給做為產品資訊的主要來源,只要將新的資料動態饋給新增至 Merchant Center 帳戶,系統就會將列出的產品擁有權轉移給該動態饋給。如果想在產品到期前移除僅透過 API 上傳的產品,必須透過 Merchant Center 或 API 刪除產品。

如何使用 Content API for Shopping,將產品指定至多個國家/地區?

如要透過 Content API 提交的產品,在多個國家/地區放送廣告和免費產品資訊,請在 Merchant Center 的 Content API 主要動態饋給中設定其他國家/地區,或透過 products 資源的 shipping 欄位新增其他國家/地區。

以下範例說明如何修改 Content API 主要動態饋給設定。

詳情請參閱: 在多個國家/地區放送購物廣告和免費產品資訊

確認用戶端程式庫為最新版本

如果您使用 Google 用戶端程式庫與 Content API 互動,請務必使用所選程式設計語言的套件管理員,並確保程式庫版本為最新版本。詳情請參閱「範例和程式庫」中,所選語言的開發人員指南。

請務必使用目的地屬性,控管不同購物方案中顯示的產品

Content API 會自動採用你在 Merchant Center 中設定的 Content API 動態饋給預設設定。你可以使用 includedDestinationsexcludedDestinations 產品屬性,在動態饋給中或透過 Content API,控管產品層級的方案參與情況。

如果 API 動態饋給已加入計畫 (例如 Buy on Google,舊稱 Shopping Actions),但你想排除特定產品,請使用 excludedDestinations 屬性,並將值設為 Shopping Actions。如果沒有錯誤,這會覆寫 Merchant Center 中的預設動態饋給設定,且該特定商品不會顯示在 Buy on Google (舊稱購物行動) 中。反之,如果動態饋給未加入任何計畫 (例如購物),你可以使用 includedDestinations 屬性並將值設為 Shopping_ads,將個別商品加入購物廣告。

如要進一步瞭解 includedDestinationsexcludedDestinations 產品屬性,請參閱說明中心

請務必在項目到期前更新

如果商品在到期前未變更,請在上次更新後 30 天內或指定到期日 (以較早者為準) 更新商品,以免商品遭到停用。如果需要更新大量項目,但這些項目都沒有變更,或是您無法追蹤上次更新時間,請不要同時更新所有項目,而是將負載平均分散在多天內。

請勿刪除 Content API 動態饋給,否則產品可能會消失

首次透過 Content API 上傳產品時,Merchant Center 中會顯示名為「Content API」的新動態饋給。channel:online首次透過 Content API 上傳產品時,Merchant Center 會顯示名為「Content API」的新動態饋給,並附上「店面產品」的副標題。channel:local請務必不要誤刪線上或本機的 Content API 動態饋給。視刪除的動態饋給而定,透過 Content API 新增至 Merchant Center 的線上或店面產品將會移除。

使用 custombatch 方法,將對同一服務的多個要求批次處理

請勿對同一項服務發出多個循序或並行要求,而是發出包含所有所需要求的單一自訂批次要求。這樣一來,向 API 端點發出要求的延遲時間只會發生一次 (針對 custombatch 呼叫),而不是針對每個個別要求,如果您發出連續要求,這點就特別重要。

請勿在單一批次中,對單一項目傳送多項更新

由於更新順序不確定,這會導致非預期的結果,並可能造成衝突錯誤

不要傳送未變更項目的更新

請務必只傳送新增、變更或刪除產品項目的要求,除非項目即將過期。

如果價格和/或供應情形變動快速,請使用補充動態饋給

如果無法及時更新產品的價格、供應情形或特價資訊,建議使用products 資源中的補充動態饋給,只傳送這些屬性的更新資訊。由於補充動態饋給更新的資料量較小,因此在特定時間內,你可以進行的補充動態饋給更新次數,會比完整產品更新多出許多,有助於確保產品價格和供應情形與到達網頁一致。

如要更新產品價格和供應情形,也可以使用商品自動更新功能。除了使用 API 更新,你也可以使用這項功能,避免 Merchant Center 中的資訊與產品到達網頁上的資訊不一致。不過請注意,這項功能旨在修正產品價格和供應情形準確度的小問題,因此商品自動更新功能無法取代透過 API 提供正確資訊。

使用更新權杖的時機

授權要求的 HTTP 標頭會傳回重新整理權杖。其中包含許多其他驗證相關資訊,但開發人員通常想取得的是重新整理權杖,因為存取權杖的效期只有 60 分鐘,有了重新整理權杖,就不必重複提示使用者驗證。