管理目錄資訊

本頁說明將目錄匯入商家適用的 Vertex AI Search 後,如何管理產品資訊。你可以讀取、寫入及刪除目錄中的產品。

如要隨著產品資訊變更更新目錄,請以第一次匯入目錄時相同的方式匯入目錄。如需匯入目錄的相關協助,請參閱「匯入目錄資訊」。

建立、存取及管理產品教學課程

本教學課程說明如何使用 API 方法執行下列動作:


如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


建立產品

本教學課程說明如何建立單一產品。


如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


取得產品

本教學課程會說明如何擷取產品項目。


如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


更新產品

本教學課程說明如何更新目錄中的產品。


如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


刪除產品

本教學課程將說明如何從目錄中刪除產品。


如要直接在 Cloud Shell 編輯器中按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


上傳單一產品項目

curl

使用 products.create REST 方法建立單一產品項目。

curl -X POST \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
     -H "Content-Type: application/json; charset=utf-8" \
     --data '{
      "title": "PRODUCT_TITLE",
      "categories": "CATEGORY"
    }' \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products?productId=PRODUCT_ID"

如果要求成功,系統會傳回產品物件,如下列範例所示。

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID",
  "id": "PRODUCT_ID",
  "primaryProductId": "PRODUCT_ID",
  "type": "PRIMARY",
  "categories": \[
    "CATEGORY"
  \],
  "title": "PRODUCT_TITLE",
  "availability": "IN_STOCK"
}

Java

public static Product createProduct(Product productToCreate, String productId)
    throws IOException {
  return getProductServiceClient().createProduct(
      DEFAULT_BRANCH_NAME, productToCreate, productId
  );
}

更新產品資訊

產品目錄變更時,你可以上傳產品異動 (例如新產品、價格和庫存狀態),即時更新目錄。你只需要上傳新增或變更的產品,不必重新載入整個目錄。

curl

使用 products.patch 方法更新產品資訊。

以下範例會更新特定產品的名稱:

curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    --data "{
       "title": "new-title-value"
    }" \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID?updateMask=title"

如果要求成功,系統會傳回產品物件,如下列範例所示。

{
  "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID",
  "id": "PRODUCT_ID",
  "primaryProductId": "PRODUCT_ID",
  "type": "PRIMARY",
  "categories": \[
    "Parent category > Child category"
  \],
  "title": "new product title",
  "availability": "IN_STOCK"
}

Java

public static Product updateProduct(Product productToUpdate) throws IOException {
  return getProductServiceClient().updateProduct(productToUpdate, FieldMask.getDefaultInstance());
}

刪除產品資訊

雖然 API 提供從目錄中刪除產品的方法,但請注意,如果您記錄與已刪除產品項目相關的使用者事件,API 無法正確處理該事件,且事件可能會遭到刪除。此外,加入歷來目錄資料可提升模型品質,對於提供優質推薦內容和搜尋結果至關重要。

你應將過時產品的 availability 設為 OUT_OF_STOCK,而非刪除產品。

curl

使用 delete 方法刪除產品,並將 PRODUCT_ID 替換為要刪除的產品 ID。

curl -X DELETE \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID"

Java

public static void deleteProduct(String productName) throws IOException {
  getProductServiceClient().deleteProduct(productName);
}

擷取產品項目

curl

如要擷取產品項目,請對 products 端點提出 GET 要求,並將 PRODUCT_ID 替換為要擷取的產品 ID:

curl -X GET \
     -H "Authorization: Bearer $(gcloud auth application-default print-access-token)"  \
    "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID"

輸出結果應該會類似下列內容:

{
    "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/branches/0/products/PRODUCT_ID"
    "id": "PRODUCT_ID",
    "primaryProductId": "PRODUCT_ID",
    "type": "PRIMARY",
    "categories": \[
      "Parent category > Child category"
    \],
    "title": "product title",
    "availability": "IN_STOCK"
}

Java

public static Product getProduct(String productName) throws IOException {
  return getProductServiceClient().getProduct(productName);
}

查看目錄的匯總資訊

在 Search for commerce 主控台的「資料」頁面中,你可以前往「目錄」分頁查看目錄的匯總資訊,並預覽上傳的產品。

評估目錄資料品質

如要評估目錄資料品質,請按照下列步驟操作:

  1. 前往 Search for commerce 控制台的「資料品質」頁面。

    前往「資料品質」頁面

    「資料品質」頁面會評估你是否需要更新目錄資料,以提升搜尋結果品質,並解鎖搜尋成效等級。

如要進一步瞭解如何檢查搜尋資料品質及查看搜尋成效等級,請參閱「解鎖搜尋成效等級」。

如需可用目錄指標的摘要,請參閱目錄品質指標

變更產品類型

匯入產品時,你可以指定產品類型為主要、子類或集合。如果產品類型有變更或指定錯誤,請刪除產品,然後重新建立並指定更新後的類型。

產品類型可以設為 TYPE_UNSPECIFIEDPRIMARYVARIANTCOLLECTION。詳情請參閱參考說明文件中的 product.Type

變更產品層級設定

如要透過 Merchant Center 匯入目錄,請指定產品是主要產品還是子類產品。

如果產品層級變更或指定錯誤,請按照這個程序修正設定。您必須具備「零售管理員」IAM 角色,才能完成這項程序。

  1. 重新設定產品層級時,請確保沒有匯入作業正在進行。這樣可確保資料不會上傳至錯誤層級。

  2. 刪除所有產品項目。請參閱 products.delete。 請務必先清空目錄,再繼續下一個步驟。

  3. 如要變更產品層級設定,請重新匯入資料。

    這項程序取決於匯入方式。請按照「匯入目錄資訊」中的適當程序,將產品層級設為新設定。

  4. 使用「匯入目錄資訊」中選擇的程序,完成匯入新的目錄,其中包含修改後的層級設定。

  5. 調整所有現有模型。

    如要調整模型,請前往「模型」頁面,按一下模型名稱查看詳細資料頁面,然後點選按鈕列中的「手動調整」

    前往「模型」頁面

    如要瞭解微調費用詳情,請參閱「定價」頁面。