Puedes usar feeds complementarios para realizar actualizaciones parciales en los datos de productos. Para ello, agrega
feedId
como parámetro de búsqueda cuando realices llamadas a los métodos
products.insert
,
products.delete
,
products.custombatch.insert
y
products.custombatch.delete
.
Por ejemplo, puedes realizar una llamada de método de feed complementario products.insert
a
la siguiente URL:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
products.insert
El método products.insert
del feed complementario agrega los campos de productos que envías en el cuerpo de la solicitud y los reemplaza, si existen. Cuando se usa un feed complementario, este método no modifica los demás campos de productos, a menos que se hayan incluido en una solicitud anterior para el mismo feed. Si bien los datos
agregados a través de otros feeds no se ven afectados, cada solicitud reemplaza las solicitudes
anteriores para el mismo feed. Esto significa que, si agregas o actualizas un campo mediante una solicitud de feed complementario y, luego, no incluyes el campo en una solicitud posterior, los datos del campo omitido se quitarán del feed. Este comportamiento difiere de llamar a products.insert
sin un feed complementario, que borra todos los datos de productos existentes y los reemplaza por los campos que envías en el cuerpo de la solicitud.
Usa la siguiente URL para realizar una solicitud al servicio de feed complementario
Product.insert
:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products?feedId=feedId
Debes incluir los campos offerId
, feedLabel
, channel
y contentLanguage
en el cuerpo de la solicitud. Todos los demás campos son opcionales.
Ejemplo
Para cambiar la disponibilidad de un producto de “en stock” a “agotado”, puedes
usar el siguiente cuerpo de solicitud para realizar una llamada al método Product.insert
de feeds complementarios:
{
"offerId": "1111111111",
"contentLanguage": "en",
"feedLabel": "US",
"channel": "online",
"availability": "out of stock",
}
products.delete
El método products.delete
quita todos los datos complementarios que las llamadas a products.insert
agregaron previamente con el feed complementario especificado. Llamar a este método para un feed complementario no afecta los datos de productos originales que se agregaron antes de que se realizara la llamada(Product.insert
) al feed complementario. Es como quitar una capa de datos de un feed específico, los datos agregados a través de otros feeds no se verán afectados y el producto se revertirá efectivamente a su estado anterior antes de agregar la capa del feed complementario. Esto difiere de llamar a products.delete
sin un feed complementario, lo que borra todo el producto y todos sus datos.
Usa la siguiente URL para realizar una solicitud al servicio products.delete
del feed complementario, en el que productId
es el ID de REST del producto, representado de la siguiente manera: channel:contentLanguage:feedLabel:offerId
:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
No se necesita ningún cuerpo de solicitud para las llamadas al método products.delete
de feeds complementarios.
products.custombatch
Los métodos custombatch
te permiten aplicar insert
o delete
datos del feed complementario para varios productos mediante una sola llamada a la API a fin de minimizar la cantidad de llamadas a la API realizadas.
Usa la siguiente URL de solicitud para hacer una llamada a custombatch
:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Para todas las llamadas custombatch
del feed complementario, debes incluir los parámetros batchId
,
merchantID
, method
y feedId
en el cuerpo de la
solicitud.
products.custombatch:insert
Cuando realices llamadas de feed complementario al método products.custombatch:insert
,
debes incluir offerId
, feedLabel
, channel
y
contentLanguage
en el cuerpo de la solicitud, además de los parámetros obligatorios batchId
,
merchantID
y method
. Todos los demás campos de productos son opcionales.
Ejemplo
Si quieres actualizar el valor price
de dos productos existentes, puedes usar la siguiente solicitud para realizar una llamada al método 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
Para quitar todas las actualizaciones de dos productos mediante un feed complementario específico, puedes usar la siguiente solicitud y realizar una llamada al método 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"
}
]
}