Sử dụng nguồn cấp dữ liệu bổ sung thông qua Content API

Bạn có thể sử dụng nguồn cấp dữ liệu bổ sung để cập nhật một phần dữ liệu sản phẩm bằng cách thêm feedId làm tham số truy vấn khi thực hiện lệnh gọi đến các phương thức products.insert, products.delete, products.custombatch.insertproducts.custombatch.delete.

Ví dụ: bạn có thể thực hiện lệnh gọi phương thức nguồn cấp dữ liệu bổ sung products.insert đến URL sau:

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

products.insert

Phương thức products.insert của nguồn cấp dữ liệu bổ sung sẽ thêm các trường sản phẩm mà bạn gửi trong phần nội dung yêu cầu, ghi đè các trường đó nếu có. Khi sử dụng nguồn cấp dữ liệu bổ sung, phương thức này sẽ không thay đổi tất cả các trường sản phẩm khác, trừ trường hợp các trường này đã có trong một yêu cầu trước đó cho cùng một nguồn cấp dữ liệu. Mặc dù dữ liệu được thêm thông qua các nguồn cấp dữ liệu khác không bị ảnh hưởng, nhưng mỗi yêu cầu sẽ ghi đè các yêu cầu trước đó cho cùng một nguồn cấp dữ liệu. Điều này có nghĩa là nếu bạn thêm hoặc cập nhật một trường thông qua yêu cầu nguồn cấp dữ liệu bổ sung, sau đó không đưa trường đó vào yêu cầu tiếp theo, thì dữ liệu cho trường bị bỏ qua sẽ bị xoá khỏi nguồn cấp dữ liệu. Hành vi này khác với việc gọi products.insert mà không có nguồn cấp dữ liệu bổ sung. Thao tác này sẽ xoá tất cả dữ liệu sản phẩm hiện có và thay thế bằng các trường mà bạn gửi trong phần nội dung yêu cầu.

Sử dụng URL sau đây để gửi yêu cầu đến dịch vụ Product.insert của nguồn cấp dữ liệu bổ sung:

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

Bạn phải thêm các trường offerId, feedLabel, channelcontentLanguage vào nội dung yêu cầu. Tất cả các trường khác là không bắt buộc.

Ví dụ:

Để thay đổi tình trạng còn hàng của một sản phẩm từ "có hàng" thành "hết hàng", bạn có thể sử dụng nội dung yêu cầu sau để thực hiện lệnh gọi phương thức Product.insert của nguồn cấp dữ liệu bổ sung:

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

products.delete

Phương thức products.delete sẽ xoá tất cả dữ liệu bổ sung mà các lệnh gọi products.insert đã thêm trước đó bằng cách sử dụng nguồn cấp dữ liệu bổ sung được chỉ định. Việc gọi phương thức này cho nguồn cấp dữ liệu bổ sung không ảnh hưởng đến dữ liệu sản phẩm ban đầu được thêm vào trước khi thực hiện(các) lệnh gọi Product.insert của nguồn cấp dữ liệu bổ sung. Bạn có thể coi việc này giống như việc xoá một lớp dữ liệu cho một nguồn cấp dữ liệu cụ thể; dữ liệu được thêm thông qua các nguồn cấp dữ liệu khác sẽ không bị ảnh hưởng và sản phẩm sẽ quay lại trạng thái trước đó một cách hiệu quả trước khi thêm lớp nguồn cấp dữ liệu bổ sung. Việc này khác với việc gọi products.delete mà không có nguồn cấp dữ liệu bổ sung. Thao tác này sẽ xoá toàn bộ sản phẩm và tất cả dữ liệu của sản phẩm.

Sử dụng URL sau để yêu cầu dịch vụ products.delete của nguồn cấp dữ liệu bổ sung, trong đó productIdMã nhận dạng REST của sản phẩm, được biểu thị dưới dạng: channel:contentLanguage:feedLabel:offerId:

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

Bạn không cần phần nội dung yêu cầu cho các lệnh gọi phương thức products.delete của nguồn cấp dữ liệu bổ sung.

products.custombatch

Các phương thức custombatch cho phép bạn insert hoặc delete dữ liệu nguồn cấp dữ liệu bổ sung cho nhiều sản phẩm bằng một lệnh gọi API duy nhất để giảm thiểu số lượng lệnh gọi API được thực hiện.

Sử dụng URL yêu cầu sau để thực hiện lệnh gọi custombatch:

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

Đối với tất cả lệnh gọi custombatch của nguồn cấp dữ liệu bổ sung, bạn phải thêm các tham số batchId, merchantID, methodfeedId vào phần nội dung yêu cầu.

products.custombatch:insert

Khi thực hiện lệnh gọi nguồn cấp dữ liệu bổ sung đến phương thức products.custombatch:insert, bạn phải thêm offerId, feedLabel, channelcontentLanguage vào nội dung yêu cầu, ngoài các tham số batchId, merchantIDmethod bắt buộc. Tất cả các trường sản phẩm khác đều không bắt buộc.

Ví dụ:

Để cập nhật giá trị price cho hai sản phẩm hiện có, bạn có thể sử dụng yêu cầu sau để thực hiện lệnh gọi phương thức 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

Để xoá tất cả nội dung cập nhật đã thực hiện cho hai sản phẩm thông qua một nguồn cấp dữ liệu bổ sung đã chỉ định, bạn có thể sử dụng yêu cầu sau để thực hiện lệnh gọi phương thức 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"
    }
  ]
}