Migra fuentes de datos

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 un contentLanguage. Este tipo de fuente de datos acepta productos en cualquier combinación de feedLabel y contentLanguage, 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 y contentLanguage. 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étodo fileUploads.get con el alias latest.

  • 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.