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.update
para 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
localinventory
para las actualizaciones de productos locales.
2. Actualiza las llamadas al servicio accounts
Las llamadas al método
accounts.update
en 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
inactive
paraadsLinks
,googleMyBusinessLink
yyoutubeChannelLinks
.
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
productTypes
reemplazó aproductType
yadditionalProductTypes
.Los campos repetidos
includedDestinations
yexcludedDestinations
reemplazaron al campo repetidodestinations
.Se cambió el nombre de los siguientes campos relacionados con AdWords:
adwordsGrouping
->adsGrouping
adwordsLabels
->adsLabels
adwordsRedirect
->adsRedirect
Se quitaron los siguientes campos:
aspects
destinations
onlineOnly
validatedDestinations
warnings
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.get
oproducts.list
.Ya no se garantiza que el
offerId
que se devuelve sea el mismo que elofferId
de entrada. La versión 2.1 quita los espacios en blanco iniciales y finales enofferId
y combina varios caracteres de espacio en blanco en uno solo. Este cambio no afecta los valores deofferId
que cumplen con la sintaxis deofferId
recomendada.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.insert
oproducts.update
solo contienen los siguientes atributos:channel
contentLanguage
id
offerId
feedLabel
La opción
includeAttributes
de la versión 2 dejó de estar disponible. En su lugar, usaproducts.get
conProductId
para ver la información completa del producto.
4. Actualiza las llamadas al servicio productstatuses
Se quitaron el atributo
product
y el parámetroincludeAttributes
. Para recuperar los atributos del producto correspondientes a un estado, usa el servicioproducts
y pasa el valor del nuevo campoproductId
.Se quitó el parámetro
includeInvalidInsertedItems
. Ahora se devuelve elproductId
de cada producto, independientemente de si es válido o no.Los campos
intention
,approvalStatus
yapprovalPending
dedestinationStatuses
se reemplazaron porstatus
, que es una cadena que puede serapproved
,disapproved
opending
.dataQualityIssues
se reemplazó poritemLevelIssues
.
5. Actualiza las llamadas al servicio datafeeds
Se reemplazaron los siguientes campos de destino:
contentLanguage
->language
targetCountry
->country
intendedDestinations
->includedDestinations
yexcludedDestinations
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
InStoreRefundLineItem
yReturnRefundLineItem
amountPretax
yamountTax
se reemplazaron porpriceAmount
ytaxAmount
, respectivamente.priceAmount
puede ser antes o después de impuestos, según la ubicación del pedido.Los campos
ShipLineItem
carrier
,shipmentId
ytrackingId
de la solicitud se movieron ashipmentInfos
.billingAddress
ypredefinedBillingAddress
ahora son campos de nivel superior enorders
yTestOrder
, respectivamente.customer.explicitMarketingPreference
se reemplazó porcustomer.marketingRightsInfo
.El campo
netAmount
se dividió ennetPriceAmount
ynetTaxAmount
.shippingOption
se reemplazó porlineItems[].shippingDetails
.Se quitaron los campos
CancelLineItem
amount
,amountPretax
yamountTax
de la solicitud. El importe reembolsado ahora se calcula automáticamente.Se quitó
CustomBatch
.Se quitó
Refund
. En su lugar, usarefundOrder
orefundItem
.Se quitó el campo
paymentMethod
.Los métodos
orders.returnlineitem
yorders.refund
de la versión 2 se reemplazan pororderreturns.creatOrderReturn
yorderreturns.process
.Se quitaron los campos
customer.email
,channelType
ylineItem.product.channel
.El campo
promotions
se quitó del servicioTestOrder
y su formato cambió enOrder
.
7. Actualiza las llamadas al servicio orderinvoice
Los campos
amountPretax
yamountTax
se reemplazaron porpriceAmount
ytaxAmount
, respectivamente. El campopriceAmount
puede incluir o no impuestos, según la ubicación del pedido.Se quitaron los saldos (comerciante, cliente y Google) en
invoiceSummary
y 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
. UsacustomBatch
en su lugar.Se quitó el método
patch
de los siguientes servicios:accounts
accounttax
datafeeds
liasettings
shippingsettings
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
localinventory
te permite realizar actualizaciones de productos locales (en lugar del servicioinventory
en la versión 2).El nuevo servicio
orderreturns
facilita 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.insert
ya 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.update
para 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
itemLevelIssues
por el servicioproductstatus
:ageGroup
availability
condition
energyEfficiencyClass
gender
maxEnergyEfficiencyClass
minEnergyEfficiencyClass
sizeSystem
sizeType
Los atributos personalizados ahora son recursivos, lo que elimina la necesidad de crear grupos personalizados.
Los atributos personalizados ahora tienen un campo
groupValues
además del campovalue
original. Se debe establecer exactamente uno de los campos.