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 gọi các phương thức products.insert
, products.delete
, products.custombatch.insert
và products.custombatch.delete
.
Ví dụ: bạn có thể thực hiện một 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 nguồn cấp dữ liệu bổ sung products.insert
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 chúng tồn tại. 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. 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, rồi không thêm trường đó vào một yêu cầu tiếp theo, 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 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 nội dung yêu cầu.
Sử dụng URL sau đây để gửi yêu cầu đến dịch vụ nguồn cấp dữ liệu bổ sung Product.insert
:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
Bạn phải thêm các trường offerId
, feedLabel
, channel
và contentLanguage
vào nội dung yêu cầu. Tất cả các trường khác đều không bắt buộc.
Ví dụ:
Để thay đổi trạng thái 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 phần 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 nguồn cấp dữ liệu bổ sung được chỉ định. Việc gọi phương thức này cho một 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 trước khi(các) lệnh gọi Product.insert
nguồn cấp dữ liệu bổ sung được thực hiện. Bạn có thể coi việc này như 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ẽ trở về trạng thái trước khi lớp nguồn cấp dữ liệu bổ sung được thêm vào. Điều 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 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 để đưa ra yêu cầu đối với dịch vụ nguồn cấp dữ liệu bổ sung products.delete
, trong đó productId
là mã nhận dạng REST của sản phẩm, được biểu thị là: channel:contentLanguage:feedLabel:offerId
:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
Bạn 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
dữ liệu nguồn cấp dữ liệu bổ sung 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 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ả các lệnh gọi nguồn cấp dữ liệu bổ sung custombatch
, bạn phải thêm các tham số batchId
, merchantID
, method
và feedId
vào phần nội dung yêu cầu.
products.custombatch:insert
Khi thực hiện các 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
, channel
và contentLanguage
vào nội dung yêu cầu, ngoài các tham số bắt buộc batchId
, merchantID
và method
. 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 2 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 đối với 2 sản phẩm thông qua một nguồn cấp dữ liệu bổ sung cụ thể, 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"
}
]
}