이 문서는 Recommendations AI, Retail Search, 새로운 Retail 콘솔에 대한 문서입니다. 제한된 GA 단계에서 Retail Search를 사용하려면 Cloud 영업팀에 문의하세요.

Recommendations AI만 사용하는 경우 Recommendations 콘솔에서 Recommendations AI 문서를 참조하세요.

카탈로그 정보 관리

이 페이지에서는 Retail API로 카탈로그를 가져온 후 제품 정보를 관리하는 방법을 설명합니다. 카탈로그에서 제품을 읽고 쓰고 삭제할 수 있습니다.

제품 정보가 변경될 때마다 카탈로그를 최신 상태로 유지하려면 카탈로그를 처음 시작할 때와 동일한 방식으로 가져오세요. 카탈로그 가져오기에 대한 도움말은 카탈로그 정보 가져오기를 참조하세요.

제품 업로드

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": "Shoes & Accessories > Shoes"
    }' \
    "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": [
    "Shoes & Accessories \u003e Shoes"
  ],
  "title": "product title",
  "availability": "IN_STOCK"
}

자바

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": [
    "Shoes & Accessories > Shoes"
  ],
  "title": "new product title",
  "availability": "IN_STOCK"
}

자바

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

제품 정보 삭제

Retail API는 카탈로그에서 제품을 삭제하는 방법을 제공하지만, 삭제된 제품 항목과 관련된 사용자 이벤트를 기록하면 Retail 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"

자바

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": [
      "Shoes & Accessories \u003e Shoes"
    ],
    "title": "product title",
    "availability": "IN_STOCK"
}

자바

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

카탈로그에 대한 집계된 정보 보기

Retail 데이터 페이지의 카탈로그 탭에서 카탈로그에 대한 집계된 정보를 보고 업로드된 제품 항목을 미리 볼 수 있습니다.

제품 유형 변경

제품을 가져올 때 제품 유형이 기본인지, 변이인지, 컬렉션인지를 지정할 수 있습니다. 제품 유형이 변경되거나 잘못 지정된 경우 제품을 삭제하고 지정된 업데이트된 유형으로 만들어야 합니다.

제품의 유형은 TYPE_UNSPECIFIED, PRIMARY, VARIANT, COLLECTION으로 설정할 수 있습니다. 자세한 내용은 참조 문서의 product.Type을 확인하세요.

제품 수준 구성 변경

판매자 센터를 사용하여 카탈로그를 가져올 때 제품이 기본인지 또는 변이인지 지정해야 합니다. 이러한 제품 수준이 변경되거나 잘못 지정된 경우 아래 절차를 사용하여 구성을 수정합니다. 이 절차를 완료하려면 Retail 관리자 IAM 역할이 있어야 합니다.

  1. 제품 수준을 재구성하는 동안 가져오기가 발생하지 않도록 하세요. 그래야 데이터가 잘못된 수준에서 업로드되지 않습니다.

  2. 모든 제품 항목을 삭제합니다. products.delete를 참조하세요. 카탈로그가 완전히 비어 있어야 다음 단계를 진행할 수 있습니다.

  3. 데이터를 다시 가져와 제품 수준 구성을 변경합니다.

    이 절차는 가져오는 방식에 따라 다릅니다. 카탈로그 정보 가져오기의 적절한 절차에 따라 제품 수준을 새 구성으로 설정합니다.

  4. 카탈로그 정보 가져오기에서 선택한 절차에 따라 수정된 수준 구성으로 새 카탈로그 가져오기를 완료합니다.

  5. 모든 기존 모델을 미세 조정합니다.

    모델을 미세 조정하려면 모델 페이지로 이동하고 모델 이름을 클릭하여 세부정보 페이지를 확인한 다음 버튼 모음에서 수동 미세 조정을 클릭합니다.

    Retail 모델 페이지로 이동

    비용 미세 조정에 대한 자세한 내용은 가격 책정을 참조하세요.