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 products.insert, products.delete, products.custombatch.insert, và products.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 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ẽ giữ nguyên tất cả các trường sản phẩm khác, trừ phi các trường đã được đưa vào một yêu cầu trước đó cho cùng một nguồn cấp dữ liệu. Trong khi dữ liệu được thêm qua các nguồn cấp dữ liệu khác sẽ không bị ảnh hưởng. Mỗi yêu cầu sẽ ghi đè yêu cầu trước đó yêu cầu 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, rồi không đưa trường này vào thì dữ liệu của 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, việc này xoá tất cả dữ liệu sản phẩm hiện có và thay thế bằng các trường bạn gửi nội dung yêu cầu.

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

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

Bạn phải bao gồm offerId, feedLabel, channel và Trường contentLanguage trong 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òn hàng" thành "hết hàng", bạn có thể sử dụng nội dung yêu cầu sau để tạo nguồn cấp dữ liệu bổ sung Lệnh gọi phương thức Product.insert:

{
 "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 đã trước đó được thêm bởi products.insert lệnh gọi bằng phương thức bổ sung đã chỉ định nguồn cấp dữ liệu. 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 phương thức ban đầu dữ liệu sản phẩm được thêm trước khi Product.insert lệnh gọi nguồn cấp dữ liệu bổ sung được thêm vào đã thực hiện. Bạn có thể xem đây là 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 qua các nguồn cấp dữ liệu khác sẽ không bị ảnh hưởng, do đó sản phẩm được tạo ra một cách hiệu quả trở về trạng thái trước đó trước khi lớp nguồn cấp dữ liệu bổ sung được thêm vào. Chiến dịch 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, việc này 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 để gửi yêu cầu nguồn cấp dữ liệu bổ sung products.delete dịch vụ, trong đó productIdMã REST của sản phẩm, được thể hiện dưới dạng: channel:contentLanguage:feedLabel:offerId:

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

Không cầ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 nguồn cấp dữ liệu bổ sung dữ liệu cho nhiều sản phẩm bằng cách sử dụng một lệnh gọi API duy nhất để giảm thiểu số lượng API các cuộc gọi đã 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 trong nguồn cấp dữ liệu bổ sung, bạn phải bao gồm batchId, Các tham số merchantID, methodfeedId trong yêu cầu nội dung.

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 bao gồm offerId, feedLabel, channelcontentLanguage trong nội dung yêu cầu, ngoài batchId bắt buộc, Tham số merchantIDmethod. Tất cả các trường khác về sản phẩm là 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 phương thức 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

Cách xoá tất cả nội dung cập nhật đối với hai sản phẩm thông qua nguồn cấp dữ liệu bổ sung cụ thể, bạn có thể sử dụng yêu cầu sau để tạo products.custombatch:delete lệnh gọi phương thức:

{
  "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"
    }
  ]
}