En esta guía, se explica cómo migrar tu integración de los servicios datafeeds
y datafeedstatuses
de Content API for Shopping a la sub-API de Fuentes de datos en Merchant API. La nueva sub-API de Data sources proporciona un control más directo sobre tus canalizaciones de datos y simplifica la administración de las fuentes de datos.
Para obtener más información sobre las nuevas funciones, consulta la guía Administra tus fuentes de datos.
Diferencias clave
En comparación con Content API for Shopping, Merchant API ofrece varias ventajas.
Creación explícita de la fuente de datos. La API ya no crea automáticamente una fuente de datos de "Content API" en la primera inserción de productos. En la API de Merchant, debes crear fuentes de datos de forma explícita antes de poder subir productos a ellas. Esto te brinda más control sobre la organización y la administración de tus canales de datos de productos desde el principio.
Compatibilidad con varias fuentes de datos de la API. En Content API for Shopping, estabas limitado a una sola fuente de datos "Content API" creada automáticamente. Con la API de Merchant, puedes crear y administrar varias fuentes de datos del tipo de entrada
API
.Fuentes de datos sin etiqueta ni idioma. La API de Merchant te permite crear una fuente de datos principal sin especificar un
feedLabel
ni uncontentLanguage
. Este tipo de fuente de datos acepta productos en cualquier combinación defeedLabel
ycontentLanguage
, lo que simplifica las cargas de productos para las integraciones que no requieren fuentes de datos independientes para diferentes regiones.Se simplificaron los objetivos de datos. Cada fuente de datos ahora corresponde a un solo objetivo, definido por una combinación única de
feedLabel
ycontentLanguage
. Los feeds de segmentación de varios datos dejaron de estar disponibles en la API de Merchant.Estado de carga de archivos dedicado. La API de Merchant representa el estado de las fuentes de datos basadas en archivos con un recurso
fileUploads
independiente de solo lectura. Para recuperar el estado de la carga de un archivo, usa el métodofileUploads.get
con el aliaslatest
.Nuevos tipos de fuentes de datos. El recurso
DataSource
admite más verticales, incluidas las promociones, el inventario local y el inventario regional, lo que proporciona una forma unificada de administrar todas tus canalizaciones de datos.Fuentes de datos automáticas. Con la API de Merchant, ahora puedes habilitar o inhabilitar la función Fuentes de datos automatizadas para tu cuenta con el método
autofeedSettings.updateAutofeedSettings
en la sub-API de Accounts. Para obtener más información, consulta Cómo configurar los parámetros de configuración de Autofeed.
Solicitudes
En la siguiente tabla, se comparan los formatos de URL de solicitud entre Content API for Shopping y Merchant API.
Descripción de la solicitud | Content API for Shopping | API de Merchant |
---|---|---|
Cómo crear una fuente de datos | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
Obtén una fuente de datos | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
Enumera las fuentes de datos | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources |
Actualiza una fuente de datos | PUT https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
PATCH https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
Cómo borrar una fuente de datos | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID} |
DELETE https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID} |
Recupera una fuente de datos | POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds/{DATAFEED_ID}/fetchNow |
POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}:fetch |
Obtén el estado de la fuente de datos | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses/{DATAFEED_ID} |
GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources/{DATASOURCE_ID}/fileUploads/latest |
Enumera los estados de las fuentes de datos | GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses |
No disponible. Usa dataSources.list y fileUploads.get para cada fuente de datos basada en archivos. |
Identificadores
La API de Merchant usa un nombre de recurso basado en cadenas como identificador.
Descripción del identificador | Content API for Shopping | API de Merchant |
---|---|---|
Identificador de la fuente de datos | datafeedId (numérica) |
name (cadena, formato: accounts/{account}/dataSources/{datasource} ) |
Métodos
En esta tabla, se comparan los métodos de los servicios datafeeds
y datafeedstatuses
de Content API for Shopping con sus equivalentes en la API de Merchant.
Método de Content API for Shopping | Método de la API de Merchant | Disponibilidad y notas |
---|---|---|
datafeeds.custombatch |
No disponible | En su lugar, usa llamadas a la API individuales. |
datafeeds.delete |
dataSources.delete |
Disponible. |
datafeeds.fetchnow |
dataSources.fetch |
Disponible. Ahora, este método solo funciona para las fuentes de datos con una entrada de archivo. |
datafeeds.get |
dataSources.get |
Disponible. |
datafeeds.insert |
dataSources.create |
Disponible. |
datafeeds.list |
dataSources.list |
Disponible. |
datafeeds.update |
dataSources.update |
Disponible. Usa la semántica de PATCH en lugar de PUT . |
datafeedstatuses.custombatch |
No disponible | En su lugar, usa llamadas a la API individuales. Consulta Cómo enviar varias solicitudes a la vez para obtener más detalles. |
datafeedstatuses.get |
fileUploads.get |
Está disponible para las fuentes de datos basadas en archivos. Usa el alias latest para obtener el estado de la carga más reciente. Para otros tipos de fuentes de datos, la información de estado forma parte del recurso DataSource . |
datafeedstatuses.list |
No disponible | Para obtener el estado de varias fuentes de datos, primero enumera todas las fuentes de datos con dataSources.list . Luego, llama a fileUploads.get con el alias latest para cada fuente de datos basada en archivos. |
Cambios detallados en los campos
En esta tabla, se muestran los cambios a nivel del campo entre los recursos Datafeed
y DatafeedStatus
en Content API for Shopping, y los recursos DataSource
y FileUpload
en Merchant API.
Content API for Shopping | API de Merchant | Descripción |
---|---|---|
Datafeed |
DataSource |
Es el recurso principal para la configuración de la fuente de datos. |
id |
name |
Es el identificador del recurso. Se cambió de un ID numérico a un nombre de recurso de cadena. |
name |
displayName |
Es el nombre visible para el usuario de la fuente de datos. |
attributeLanguage |
primaryProductDataSource.contentLanguage |
Es el código de idioma ISO 639-1 de dos letras de los elementos de la fuente de datos. |
fileName |
fileInput.fileName |
Nombre del archivo subido. Este campo ahora está anidado en fileInput . |
fetchSchedule |
fileInput.fetchSettings |
Es la programación para recuperar una fuente de datos basada en archivos. Ahora, se anida en fileInput . |
fetchSchedule.paused |
fileInput.fetchSettings.enabled |
La lógica está invertida. paused: true es equivalente a enabled: false . |
format |
No disponible | Se quitarán los campos fileEncoding , columnDelimiter y quotingMode . Ahora se detectan automáticamente. |
targets |
primaryProductDataSource.feedLabel , primaryProductDataSource.contentLanguage , primaryProductDataSource.countries |
Se quitó el campo targets repetido. Ahora, cada fuente de datos tiene un solo objetivo definido por estos campos, lo que refleja la baja de los feeds con varios objetivos de datos. |
DatafeedStatus |
FileUpload |
El estado de la carga de un archivo ahora es un recurso independiente de solo lectura. |
datafeedId |
name |
Es el identificador de la carga de archivos, que hace referencia a su fuente de datos principal. |
processingStatus |
processingState |
Es el estado de procesamiento de la carga. Los valores de cadena (success , failure , in progress ) se reemplazan por un enum (SUCCEEDED , FAILED , IN_PROGRESS ). |
errors , warnings |
issues |
Los errores y las advertencias se combinan en una sola lista issues . Cada problema tiene un campo severity (ERROR o WARNING ). |
lastUploadDate |
uploadTime |
Es la marca de tiempo de la última carga. El formato cambió de una cadena a un objeto Timestamp . |
country , language , feedLabel |
No aplicable | Estos campos ya no se encuentran en el recurso de estado. Son parte del recurso DataSource . |
targets[].included_destinations , targets[].excluded_destinations |
primaryProductDataSource.destinations |
Las dos listas separadas para los destinos incluidos y excluidos se reemplazan por una sola lista destinations . Cada elemento de la nueva lista es un objeto que especifica el destino y su estado (ENABLED o DISABLED ), lo que proporciona una configuración más explícita. |