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 ya no está disponible. Migra a la versión 2.1 de inmediato.
Migra tu aplicación
La migración de v2 a v2.1 implica actualizar tus URLs de extremo para llamar a las nuevas versiones v2.1 y modificar tus aplicaciones a fin de que tengan en cuenta los cambios rotundos que se introducen en la versión v2.1.
Actualizar las llamadas a la API para usar los extremos v2.1
Para realizar llamadas a la versión 2.1, actualiza tus solicitudes a fin de que usen los extremos nuevos de la v2.1.
Por ejemplo, para llamar al método products.get
con v2, deberías usar lo siguiente:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
Para la versión 2.1, actualiza la URL a:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
Para obtener información completa sobre los servicios y extremos v2.1, consulta la Referencia de la API.
Realiza los cambios necesarios
Además de actualizar las URL para tus llamadas a la API, también debes actualizar tu aplicación a fin de que tenga 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 tiene una funcionalidad equivalente 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 actualizar todos los campos de productos mutables, incluidos todos los campos actualizados previamente coninventory.set
(excepto los exclusivos delocalinventory
). Consulta Cómo migrar a 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 reemplazan por completo el recursoaccounts
, en lugar de solo actualizar los campos incluidos en la solicitud. Si quieres evitar borrar campos en el recursoaccounts
, actualiza tus solicitudes de llamada para incluir todos los campos.Se quitó el dispositivo
reviewsUrl
.Se quitó el estado de vinculación
inactive
paraadsLinks
,googleMyBusinessLink
yyoutubeChannelLinks
.
3. Actualiza las llamadas al servicio products
Los atributos personalizados ya no incluyen un tipo ni una unidad. En cambio, las unidades se deben agregar al valor, y los tipos deben detectarse automáticamente.
El campo repetido
productTypes
reemplazó aproductType
yadditionalProductTypes
.Los campos repetidos
includedDestinations
yexcludedDestinations
reemplazaron el campo repetidodestinations
.Los siguientes campos relacionados con AdWords cambiaron de nombre:
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 v2.1, todos los productos se muestran de forma predeterminada.Ahora hay un retraso de unos minutos antes de que un producto insertado se pueda recuperar a través de
products.get
oproducts.list
.Ya no se garantiza que el objeto
offerId
que se muestra sea el mismo que elofferId
de entrada. La versión 2.1 recorta los espacios en blanco iniciales y finales enofferId
y combina varios caracteres de espacios en blanco en uno. Este cambio no afecta a los valoresofferId
que cumplen con la sintaxisofferId
recomendada.Los precios ahora se validan antes de la inserción de productos. Solo se permiten los siguientes caracteres en la string de valor:
+
,-
,.
y los dígitos (es decir,0
-9
). Ya no se aceptan comas.Las respuestas de una llamada a
products.insert
oproducts.update
solo contienen los siguientes atributos:channel
contentLanguage
id
offerId
feedLabel
La opción
includeAttributes
de la v2 dejó de estar disponible. En su lugar, usaproducts.get
con elProductId
para ver la información completa del producto.
4. Actualiza las llamadas al servicio productstatuses
Se quitó el atributo
product
, junto con el parámetroincludeAttributes
. Para recuperar los atributos de un producto que corresponde a un estado, usa el servicioproducts
y pasa el valor del nuevo campoproductId
.Se quitó el parámetro
includeInvalidInsertedItems
. Ahora se muestra elproductId
de cada producto, sin importar si el producto es válidoLos campos
intention
,approvalStatus
yapprovalPending
endestinationStatuses
se reemplazaron porstatus
, que es una string 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 de orders
y TestOrders
En la versión 2.1, las llamadas no deben incluir datos fiscales porque estos se calculan automáticamente. Si el pedido se entrega en un estado con una Ley de Equidad de Mercado (MFA) o similar, las llamadas que incluyen datos fiscales fallan. Si el pedido se entrega en un estado que no es de 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 v2 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 ser antes o después de impuestos, según la ubicación del pedido.Se quitaron los saldos (comercio, cliente, Google) en
invoiceSummary
y los campos relacionados con los cargos de promoción.
8. Quitar funcionalidad no incluida en la v2.1
En la versión 2.1, se quitaron muchas otras funciones de Content API. Revisa la siguiente lista y actualiza tu aplicación según sea necesario:
Ya no se admite XML. Si quieres obtener más información para cambiar a JSON, consulta Descontinuación 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
. Se usacustomBatch
en su lugar.Se quitó el método
patch
de los siguientes servicios:accounts
accounttax
datafeeds
liasettings
shippingsettings
Se quitó el servicio
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 Pruebas de uso de Content API for Shopping. Si tienes problemas mientras pruebas las actualizaciones, puedes publicarlos en el foro de Content API.
Cambios adicionales en la versión 2.1
Además de los cambios que requieren actualizaciones, la versión v2.1 también incluye varias funciones nuevas y cambios no rotundos:
Nuevos servicios:
El nuevo servicio
localinventory
te permite realizar actualizaciones de productos locales (en lugar del servicioinventory
en la v2).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 del producto.
Cambios adicionales en el servicio
products
:Las solicitudes
products.insert
ya no informan advertencias ni errores recuperables. Esto te permite insertar productos y realizar actualizaciones posteriores para resolver los problemas mediante las reglas del feed en Merchant Center, al igual que con los feeds administrados fuera de Content API.Se agregó
products.update
para permitirte realizar actualizaciones en un conjunto elegido de campos de productos. Para obtener más información sobre el uso posible, consulta la guía.Los valores no válidos para los siguientes atributos ya no activan errores de inserción, y el servicio
productstatus
los muestra como parte deitemLevelIssues
:ageGroup
availability
condition
energyEfficiencyClass
gender
maxEnergyEfficiencyClass
minEnergyEfficiencyClass
sizeSystem
sizeType
Los atributos personalizados ahora son recursivos, por lo que ya no es necesario crear grupos personalizados.
Los atributos personalizados ahora tienen un campo
groupValues
además del campovalue
original. Se debe establecer solo uno de los campos.