En marzo de 2019, lanzamos la versión 2.1 de Content API for Shopping y, en abril de 2021, anunciamos que la versión 2 dejaría de estar disponible el 30 de septiembre de 2021. La versión v2 se desactivó. Realiza la migración a la versión 2.1 de inmediato.
Migra tu aplicación
La migración de la versión 2 a la 2.1 implica actualizar las URLs de los extremos para llamar a las nuevas versiones 2.1 y modificar las aplicaciones para tener en cuenta los cambios que generan interrupciones introducidos en la versión 2.1.
Actualiza tus llamadas a la API para usar los extremos de la versión 2.1
Para realizar llamadas a la versión 2.1, actualiza tus solicitudes para que usen los nuevos extremos de la versión 2.1.
Por ejemplo, para llamar al método products.get con la versión 2, usarías lo siguiente:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
Para la versión 2.1, actualiza la URL a la siguiente:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
Para obtener información completa sobre los servicios y extremos de la versión 2.1, consulta la Referencia de la API.
Realiza los cambios necesarios
Además de actualizar las URLs de las llamadas a la API, también debes actualizar tu aplicación para tener en cuenta varios cambios rotundos que se introdujeron en la versión 2.1. Revisa las siguientes secciones y actualiza tu aplicación según sea necesario.
1. Actualiza las integraciones con el servicio inventory
Se quitó el servicio inventory de la versión 2, y la funcionalidad equivalente está disponible con las siguientes funciones de la versión 2.1:
Usa los nuevos feeds complementarios o
products.updatepara las actualizaciones parciales de productos. Se pueden realizar actualizaciones en todos los campos de productos mutables, incluidos todos los campos que se actualizaron anteriormente coninventory.set(excepto los exclusivos delocalinventory). Consulta Migra a los feeds complementarios para obtener más detalles.Usa el nuevo servicio
localinventorypara las actualizaciones de productos locales.
2. Actualiza las llamadas al servicio accounts
Las llamadas al método
accounts.updateen la versión 2.1 sobrescriben por completo el recursoaccounts, en lugar de solo actualizar los campos incluidos en la solicitud. Para evitar borrar campos en el recursoaccounts, actualiza tus solicitudes de llamada para incluir todos los campos.Se quitó
reviewsUrl.Se quitó el estado del vínculo
inactiveparaadsLinks,googleMyBusinessLinkyyoutubeChannelLinks.
3. Actualiza las llamadas al servicio products
Los atributos personalizados ya no contienen un tipo y una unidad. En cambio, las unidades se deben agregar al valor, y los tipos se deben detectar automáticamente.
El campo repetido
productTypesreemplazó aproductTypeyadditionalProductTypes.Los campos repetidos
includedDestinationsyexcludedDestinationsreemplazaron al campo repetidodestinations.Se cambió el nombre de los siguientes campos relacionados con AdWords:
adwordsGrouping->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
Se quitaron los siguientes campos:
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
Se quitó el parámetro
includeInvalidInsertedItems. En la versión 2.1, todos los productos se devuelven de forma predeterminada.Ahora hay una demora de unos minutos antes de que se pueda recuperar un producto insertado a través de
products.getoproducts.list.Ya no se garantiza que el
offerIdque se devuelve sea el mismo que elofferIdde entrada. La versión 2.1 quita los espacios en blanco iniciales y finales enofferIdy combina varios caracteres de espacio en blanco en uno solo. Este cambio no afecta los valores deofferIdque cumplen con la sintaxis deofferIdrecomendada.Ahora los precios se validan antes de la inserción del producto. Solo se permiten los siguientes caracteres en la cadena de valor:
+,-,.y dígitos (es decir,0-9). Ya no se aceptan comas.Las respuestas de una llamada
products.insertoproducts.updatesolo contienen los siguientes atributos:channelcontentLanguageidofferIdfeedLabel
La opción
includeAttributesde la versión 2 dejó de estar disponible. En su lugar, usaproducts.getconProductIdpara ver la información completa del producto.
4. Actualiza las llamadas al servicio productstatuses
Se quitaron el atributo
producty el parámetroincludeAttributes. Para recuperar los atributos del producto correspondientes a un estado, usa el servicioproductsy pasa el valor del nuevo campoproductId.Se quitó el parámetro
includeInvalidInsertedItems. Ahora se devuelve elproductIdde cada producto, independientemente de si es válido o no.Los campos
intention,approvalStatusyapprovalPendingdedestinationStatusesse reemplazaron porstatus, que es una cadena que puede serapproved,disapprovedopending.dataQualityIssuesse reemplazó poritemLevelIssues.
5. Actualiza las llamadas al servicio datafeeds
Se reemplazaron los siguientes campos de destino:
contentLanguage->languagetargetCountry->countryintendedDestinations->includedDestinationsyexcludedDestinations
Se quitaron los feeds de datos con
contentType = "product inventory update".
6. Actualiza las llamadas a los servicios orders y TestOrders
En la versión 2.1, las llamadas no deben incluir datos fiscales, ya que estos se calculan automáticamente. Si el pedido se completa en un estado con una Ley de Equidad del Mercado (MFA) o similar, fallarán las llamadas que incluyan datos fiscales. Si el pedido se completa en un estado que no es miembro de la MFA, el impuesto se calcula según la configuración establecida en Merchant Center. Si no se configura, el impuesto calculado es 0.
Los campos
InStoreRefundLineItemyReturnRefundLineItemamountPretaxyamountTaxse reemplazaron porpriceAmountytaxAmount, respectivamente.priceAmountpuede ser antes o después de impuestos, según la ubicación del pedido.Los campos
ShipLineItemcarrier,shipmentIdytrackingIdde la solicitud se movieron ashipmentInfos.billingAddressypredefinedBillingAddressahora son campos de nivel superior enordersyTestOrder, respectivamente.customer.explicitMarketingPreferencese reemplazó porcustomer.marketingRightsInfo.El campo
netAmountse dividió ennetPriceAmountynetTaxAmount.shippingOptionse reemplazó porlineItems[].shippingDetails.Se quitaron los campos
CancelLineItemamount,amountPretaxyamountTaxde la solicitud. El importe reembolsado ahora se calcula automáticamente.Se quitó
CustomBatch.Se quitó
Refund. En su lugar, usarefundOrderorefundItem.Se quitó el campo
paymentMethod.Los métodos
orders.returnlineitemyorders.refundde la versión 2 se reemplazan pororderreturns.creatOrderReturnyorderreturns.process.Se quitaron los campos
customer.email,channelTypeylineItem.product.channel.El campo
promotionsse quitó del servicioTestOrdery su formato cambió enOrder.
7. Actualiza las llamadas al servicio orderinvoice
Los campos
amountPretaxyamountTaxse reemplazaron porpriceAmountytaxAmount, respectivamente. El campopriceAmountpuede incluir o no impuestos, según la ubicación del pedido.Se quitaron los saldos (comerciante, cliente y Google) en
invoiceSummaryy los campos relacionados con el cargo de la promoción.
8. Se quitó la funcionalidad que no se incluye en la versión 2.1
En la versión 2.1 de Content API, se quitaron varias otras funciones. Revisa la siguiente lista y actualiza tu solicitud según sea necesario:
Ya no se admite XML. Para obtener más información sobre el cambio a JSON, consulta Retiro de la compatibilidad con XML en Content API for Shopping.
Se quitó el parámetro
dryRun. Este cambio se aplica a todas las llamadas a la API.Se quitaron todos los métodos
HTTP BATCH. UsacustomBatchen su lugar.Se quitó el método
patchde los siguientes servicios:accountsaccounttaxdatafeedsliasettingsshippingsettings
Se quitó el servicio de
orderpayments.
Prueba tu migración
Para obtener más información sobre cómo probar los cambios en tus aplicaciones después de migrar a la versión 2.1, consulta Cómo probar los usos de Content API for Shopping. Si tienes problemas mientras pruebas las actualizaciones, puedes comunicarte con nosotros.
Cambios adicionales en la versión 2.1
Además de los cambios que requieren actualizaciones, la versión 2.1 también presenta varias funciones nuevas y cambios que no interrumpen el funcionamiento:
Servicios nuevos:
El nuevo servicio
localinventoryte permite realizar actualizaciones de productos locales (en lugar del servicioinventoryen la versión 2).El nuevo servicio
orderreturnsfacilita la administración de Comprar con Google (antes conocido como Acciones de Shopping), ya que te permite procesar devoluciones sin tener que usar el servicioorders.
Los feeds complementarios te permiten realizar actualizaciones parciales de los productos.
Cambios adicionales en el servicio de
products:Las solicitudes de
products.insertya no registran advertencias ni errores recuperables. Esto te permite insertar productos y realizar actualizaciones posteriores para resolver problemas a través de las reglas del feed en Merchant Center, tal como lo harías con los feeds administrados fuera de la Content API.Se agregó
products.updatepara permitirte actualizar un conjunto elegido de campos de productos. Para obtener más información sobre los posibles usos, consulta la guía.Los valores no válidos para los siguientes atributos ya no activan errores de inserción y se devuelven como parte de
itemLevelIssuespor el servicioproductstatus:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
Los atributos personalizados ahora son recursivos, lo que elimina la necesidad de crear grupos personalizados.
Los atributos personalizados ahora tienen un campo
groupValuesademás del campovalueoriginal. Se debe establecer exactamente uno de los campos.