本文件說明使用 CSS API 的部分最佳做法。本頁提供的建議並非使用 API 的必要條件,但有助於釐清部分預期用途。
設定環境
如要設定開發環境,請按照快速入門說明文件中的步驟操作。
- 在 Google Cloud Console 中產生使用者和權限 JSON 檔案
- 在 Google Cloud Console 中啟用 CSS API
- 將具備管理員權限的使用者新增至 CSS 帳戶 (群組或網域)
用戶端程式庫現已納入大部分程式語言的標準存放區。您可以在用戶端程式庫頁面上找到這些程式庫的清單。
適合初學者的做法
建議您採用下列方法進行測試:
ListChildAccounts
ListChildAccounts 是只讀呼叫,可列出所有 CSS 網域 (如果是針對 CSS 群組呼叫) 或商家 (如果是針對 CSS 網域呼叫)。因此,這是測試所有設定是否正確無誤的好方法。
插入/列出/更新/刪除產品
確認 API 本身運作正常後,請嘗試新增產品。請務必使用您記得的 raw_provided_id
。
- 使用 InsertCssProductInput 插入測試產品。如果您需要瞭解要傳送哪些屬性,我們提供程式碼範例。
- 使用 ListCssProducts 列出所有產品。插入產品後,系統需要稍微處理一段時間,產品才會顯示,因此如果未看到產品,請稍等幾秒鐘再試一次。
- 使用
cssproductinput.name
透過 UpdateCssProductInput 更新單一產品。您只需傳送需要更新的屬性。請參閱此處的程式碼範例。 - 使用 DeleteCssProductInput 刪除測試產品。您必須使用
raw_provided_id
。
使用 Async 提升效能
CSS API 是為並行呼叫而設計。您會發現,單一作業的效能可能會比較慢,但如果並行多次呼叫相同的作業,效能就會快上許多。使用這項功能的最佳方式,就是使用程式設計語言的非同步功能。
以下是部分程式設計語言的範例:
- 如為 Java,請使用 insertCssProductInputCallable().futureCall()
- 如果是 Python,請使用 CssProductInputsServiceAsyncClient
- C#:使用 InsertCssProductInputAsync
找出並使用程式語言的非同步功能,以便同時插入多個產品。您不必擔心系統過載,因為配額限制就是為了避免這種情況。
詳情請參閱成效頁面。
更新產品
產品上傳後,會一直保留在系統中,直到更新、刪除或過期為止。
- 您可以使用最初的
raw_provided_id
,再次傳送InsertCssProductInput
要求來更新整個產品。目前,即使只有部分屬性 (可能只有價格/供應情形) 有變更,你仍需傳送完整的產品資料。 - 您可以使用 PATCH 方法
UpdateCssProductInput
更新產品的部分內容,指定產品名稱,以及包含您要為產品更新的資料的 JSON 主體。InsertCssProductInput
要求您提供所有適用的欄位,但UpdateCssProductInput
只要求您指定要變更的欄位。 - 您可以使用相同的
raw_provided_id
呼叫DeleteCssProductInput
來刪除產品。 - 產品會在最近一次更新後約一個月自動過期。
持續運作模式
持續運作模式可能會像這樣:
- 使用您自己的內部 ID 做為
raw_provided_id
。 - 定期 (例如每週) 重新上傳所有產品。這樣一來,就能確保有效產品不會過期。
- 收到商家提供的變更資料後,請立即更新個別產品。
- 如果無法立即回應變更,請經常 (每小時) 找出所有變更的產品,然後只重新上傳這些產品。
- 對於已下架的產品,你可以使用刪除呼叫,或將可用的商品數量設為 0。
- 請勿頻繁寄送未變更的產品。這些呼叫會計入您的 API 配額。每週更新一次就足夠了。
主打商品選項
主打商品不一定是網站上最熱門或最便宜的商品,但必須醒目顯示。您可以將這項功能用於快速變動的首選優惠:您可以在此選取更穩定的其他優惠。
不時重新檢查這份文件
我們收到了有關如何改善此 API 的意見回饋,並正在努力提供部分改善項目。我們會在推出可簡化 CSS API 使用方式的新功能時更新此頁面。