Content API를 통한 보조 피드 사용

보조 피드를 사용하여 products.insert, products.delete, products.custombatch.insert, products.custombatch.delete 메서드를 호출할 때 feedId를 쿼리 매개변수로 추가하여 제품 데이터를 부분적으로 업데이트할 수 있습니다.

예를 들어 다음 URL에 products.insert 보충 피드 메서드를 호출할 수 있습니다.

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

products.insert

보조 피드 products.insert 메서드는 요청 본문에 전송하는 제품 필드를 추가하여 해당 필드가 있는 경우 덮어씁니다. 보충 피드를 사용할 때 이 메서드는 필드가 이전에 동일한 피드의 요청에 포함된 경우가 아니라면 다른 모든 제품 필드를 변경하지 않습니다. 다른 피드를 통해 추가된 데이터는 영향을 받지 않지만, 각 요청은 동일한 피드에 대한 이전 요청을 덮어씁니다. 즉, 보조 피드 요청을 통해 필드를 추가하거나 업데이트한 후 후속 요청에 해당 필드를 포함하지 않으면 생략된 필드의 데이터가 피드에서 삭제됩니다. 이 동작은 보조 피드 없이 products.insert를 호출하는 것과 다릅니다. 보조 피드 없이 products.insert를 호출하면 기존의 모든 제품 데이터가 삭제되고 요청 본문에서 전송한 필드로 대체됩니다.

다음 URL을 사용하여 보조 피드 Product.insert 서비스에 요청합니다.

POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId

요청 본문에 offerId, feedLabel, channel, contentLanguage 필드를 포함해야 합니다. 다른 입력란은 선택사항입니다.

제품의 재고를 '재고 있음'에서 '재고 없음'으로 변경하려면 다음 요청 본문을 사용하여 보충 피드 Product.insert 메서드를 호출하면 됩니다.

{
 "offerId": "1111111111",
 "contentLanguage": "en",
 "feedLabel": "US",
 "channel": "online",
 "availability": "out of stock",
}

products.delete

products.delete 메서드는 지정된 보조 피드를 사용하여 products.insert 호출에 의해 이전에 추가된 모든 보조 데이터를 삭제합니다. 보조 피드에 이 메서드를 호출해도 보조 피드 Product.insert 호출 전에 추가된 원래 제품 데이터에는 영향을 미치지 않습니다. 이는 특정 피드의 데이터 영역을 삭제하는 것과 비슷합니다. 다른 피드를 통해 추가된 데이터는 영향을 받지 않으며 제품은 보조 피드 영역이 추가되기 전의 이전 상태로 되돌아갑니다. 이는 보조 피드 없이 products.delete를 호출하는 것과 다릅니다. 보조 피드 없이 products.delete를 호출하면 전체 제품과 모든 데이터가 삭제됩니다.

다음 URL을 사용하여 보충 피드 products.delete 서비스를 요청합니다. 여기서 productIdchannel:contentLanguage:feedLabel:offerId로 표시되는 제품의 REST ID입니다.

DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId

보조 피드 products.delete 메서드 호출에는 요청 본문이 필요하지 않습니다.

products.custombatch

custombatch 메서드를 사용하면 단일 API 호출을 통해 여러 제품의 보조 피드 데이터를 insert 또는 delete하여 API 호출 수를 최소화할 수 있습니다.

다음 요청 URL을 사용하여 custombatch를 호출합니다.

https://shoppingcontent.googleapis.com/content/v2.1/products/batch

모든 보충 피드 custombatch 호출의 경우 요청 본문에 batchId, merchantID, method, feedId 매개변수를 포함해야 합니다.

products.custombatch:insert

products.custombatch:insert 메서드에 보충 피드 호출을 할 때는 필수 batchId, merchantID, method 매개변수 외에도 요청 본문에 offerId, feedLabel, channel, contentLanguage를 포함해야 합니다. 다른 모든 제품 입력란은 선택사항입니다.

기존 제품 2개의 price 값을 업데이트하려면 다음 요청을 사용하여 products.custombatch:insert 메서드를 호출하면 됩니다.

{
  "entries": [
    {
      "batchId": 1111,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "1111111111",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "30.99",
          "currency": "USD"
         }
      }
    },
    {
      "batchId": 1112,
      "merchantId": 1234567,
      "method": "insert",
      "feedId": "7654321",
      "product": {
         "offerId": "2222222222",
         "contentLanguage": "en",
         "targetCountry": "US",
         "feedLabel": "US",
         "channel": "online",
         "price": {
          "value": "33.99",
          "currency": "USD"
         },
      },
    }
}

products.custombatch:delete

지정된 보조 피드를 통해 두 제품에 적용된 모든 업데이트를 삭제하려면 다음 요청을 사용하여 products.custombatch:delete 메서드를 호출하면 됩니다.

{
  "entries": [
    {
      "batchId": 1115,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:1111111111"
    },
    {
      "batchId": 1116,
      "merchantId": 1234567,
      "method": "delete",
      "feedId": "7654321",
      "productId": "online:en:US:2222222222"
    }
  ]
}