Usa feeds complementarios con Content API

Puedes usar feeds complementarios para realizar actualizaciones parciales en los datos de productos agregando feedId como parámetro de consulta cuando se realizan llamadas a 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íes. en el cuerpo de la solicitud y se reemplazarán esos campos si los hubiera. Cuando se utiliza un feed complementario, este método mantiene todos los demás campos de productos sin cambios, a menos que Los campos se habían incluido en una solicitud anterior para el mismo feed. Mientras que los datos agregados a través de otros feeds no se ven afectadas, cada solicitud reemplaza a la anterior solicitudes para el mismo feed. Esto significa que si agregas o actualizas un campo mediante un una solicitud de feed complementario y no incluyas el campo en una solicitud los datos del campo omitido se quitarán del feed. Este comportamiento es diferente a llamar a products.insert sin un feed complementario, lo que Elimina todos los datos de productos existentes y los reemplaza con los campos que envíe. el cuerpo de la solicitud.

Usa la siguiente URL para realizar una solicitud al feed complementario Servicio Product.insert:

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

Debes incluir 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”, debes podrías usar el siguiente cuerpo de la solicitud para crear feeds complementarios Llamada de método Product.insert:

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

products.delete

El método products.delete quita todos los datos complementarios agregadas previamente por llamadas de products.insert con el complemento especificado feed. Llamar a este método para un feed complementario no afecta al original datos de productos que se agregaron antes de que se realizara Product.insert llamada(s) del feed complementario en la nube. Considéralo como quitar una capa de datos de un feed específico. Los datos agregados con otros feeds no se ven afectados. Esto permite que el producto vuelve a su estado anterior antes de que se agregara la capa del feed complementario. Esta es diferente a llamar a products.delete sin un feed complementario, lo que borra todo el producto y todos sus datos.

Usa la siguiente URL para solicitar el feed complementario products.delete de servicio, en el que productId es la 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 de método products.delete de feeds complementarios.

products.custombatch

Los métodos custombatch te permiten aplicar insert o delete feeds complementarios datos de varios productos mediante una sola llamada a la API para minimizar la cantidad de llamadas realizadas.

Usa la siguiente URL de solicitud para realizar una llamada a custombatch:

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

Para todas las llamadas de custombatch de feeds complementarios, debes incluir batchId, Parámetros merchantID, method y feedId en la solicitud cuerpo.

products.custombatch:insert

Cuando realices llamadas de feeds complementarios al método products.custombatch:insert, debes incluir offerId, feedLabel, channel y contentLanguage en el cuerpo de la solicitud, además del batchId requerido, los parámetros merchantID y method. Todos los demás campos de productos son opcionales.

Ejemplo

Para actualizar el valor de price de dos productos existentes, puedes usar el siguiente solicitud para realizar una llamada de 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, sigue estos pasos: Podrías usar la siguiente solicitud para hacer un products.custombatch:delete método de llamada:

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