Puedes usar feeds complementarios para realizar actualizaciones parciales de los datos de productos agregando feedId
como parámetro de consulta cuando realices llamadas a los métodos products.insert
, products.delete
, products.custombatch.insert
y products.custombatch.delete
.
Por ejemplo, puedes realizar una llamada al método del 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 del producto que envías en el cuerpo de la solicitud y reemplaza los campos existentes. Cuando se usa un feed complementario, este método deja sin cambios todos los demás campos del producto, a menos que los campos 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 a través de una solicitud de feed complementario y, luego, no lo incluyes en una solicitud posterior, los datos del campo omitido se quitarán del feed. Este comportamiento difiere de la llamada 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 feeds complementarios 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 “sin stock”, puedes usar el siguiente cuerpo de la solicitud para realizar una llamada al método Product.insert
de los 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 se agregaron anteriormente con llamadas a products.insert
usando el feed complementario especificado. Llamar a este método para un feed complementario no afecta los datos de productos originales agregados antes de que se realizaran las llamadas a Product.insert
del feed complementario. Puedes pensar en esto como quitar una capa de datos para un feed específico. Los datos agregados a través de otros feeds no se ven afectados, y el producto vuelve a su estado anterior antes de que se agregara 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 de feeds complementarios products.delete
, en la que productId
es el ID de REST del producto, representado como channel:contentLanguage:feedLabel:offerId
:
DELETE https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId?feedId=feedId
No se necesita un cuerpo de solicitud para las llamadas al método products.delete
de los feeds complementarios.
products.custombatch
Los métodos custombatch
te permiten insert
o delete
datos de feeds complementarios para varios productos con una sola llamada a la API, lo que minimiza la cantidad de llamadas a la API realizadas.
Usa la siguiente URL de solicitud para realizar una llamada custombatch
:
https://shoppingcontent.googleapis.com/content/v2.1/products/batch
Para todas las llamadas a 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 feeds complementarios al método products.custombatch:insert
, debes incluir los parámetros 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 del producto son opcionales.
Ejemplo
Para actualizar el valor de 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 realizadas a dos productos a través de un feed complementario especificado, puedes usar la siguiente solicitud para 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"
}
]
}