Migra fuentes de datos

En esta guía, se explica cómo migrar tu integración de los servicios datafeeds y datafeedstatuses de la Content API for Shopping a la sub-API de fuentes de datos de la API de Merchant. La nueva sub-API de fuentes de datos 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, la API de Merchant ofrece varias ventajas:

  • Creación explícita de fuentes de datos La API ya no crea automáticamente una fuente de datos de "Content API" cuando subes tu primer producto. 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 canalizaciones 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 de "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 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.

  • Objetivos de datos simplificados. Ahora, cada fuente de datos corresponde a un solo destino, 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 una carga de 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 en tu cuenta con el método autofeedSettings.updateAutofeedSettings en la API secundaria de cuentas. Para obtener más información, consulta Cómo establecer la configuración de Autofeed.

Elige tu estrategia de fuente de datos

Tienes tres opciones para administrar tus fuentes de datos:

  • Crea una sola fuente de datos de la API de Merchant para cualquier etiqueta de feed y idioma. Usa esta opción para simplificar la administración con una sola fuente de datos que acepte productos con cualquier feedLabel y contentLanguage. En la configuración anterior de Content API, defines reglas para etiquetas y lenguajes específicos a través de fuentes de datos independientes, y, luego, insertas productos en la fuente de datos que tiene las reglas de segmentación correspondientes. Si eliges esta opción, te recomendamos que migres todos tus productos a la nueva fuente de datos y que quites las fuentes de datos de Content API una vez que se hayan migrado todos los productos.

  • Crea nuevas fuentes de datos de la API de Merchant para cada etiqueta y cada idioma. Usa esta opción si necesitas admitir combinaciones nuevas de feedLabel y contentLanguage (y prefieres mantener una separación estricta entre ellas) o si usas la configuración de reglas de la fuente de datos que se basa en feedLabel y contentLanguage específicos. Deberás crear una fuente de datos independiente para cada par de feedLabel y contentLanguage que uses. Puedes combinar las fuentes de datos de la API de Merchant con las fuentes de datos creadas con Content API for Shopping.

  • Conserva las fuentes de datos de Content API existentes. Puedes seguir usando las fuentes de datos creadas con la Content API for Shopping, ya que son compatibles con la API de Merchant. Puedes encontrar sus nombres de recursos con dataSources.list o en la IU de Merchant Center. Las fuentes de datos principales de Content API solo admiten los valores específicos de feedLabel y contentLanguage con los que se crearon. Las fuentes de datos de Content API se muestran en Merchant Center con la fuente "Content API", incluso si los productos se insertan con la API de Merchant. Puedes combinarlas con nuevas fuentes de datos de la API de Merchant que también se segmenten para pares específicos de feedLabel y contentLanguage.

Te recomendamos que rellenes tu base de datos de productos locales almacenando los nombres de todas las fuentes de datos principales una vez para cada uno de tus productos para evitar llamadas repetidas a dataSources.list.

Solicitudes

En la siguiente tabla, se comparan los formatos de URL de solicitud entre la API de Content para Shopping y la API de Merchant.

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}
Cómo recuperar 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 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 de los campos

En esta tabla, se muestran los cambios a nivel de campo entre los recursos Datafeed y DatafeedStatus en la Content API for Shopping y los recursos DataSource y FileUpload en la API de Merchant.

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 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 artículos de la fuente de datos.
fileName fileInput.fileName Es el nombre del archivo subido. Este campo ahora está anidado en fileInput.
fetchSchedule fileInput.fetchSettings Es el programa para recuperar una fuente de datos basada en archivos. Ahora, se encuentra anidado en fileInput.
fetchSchedule.paused fileInput.fetchSettings.enabled La lógica se invierte. paused: true es equivalente a enabled: false.
format No disponible Se quitaron los campos fileEncoding, columnDelimiter y quotingMode. Ahora se detectan automáticamente.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries Se quita el campo targets repetido. Ahora, cada fuente de datos tiene una sola segmentación definida por estos campos, lo que refleja la baja de los feeds con varias segmentaciones 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 del archivo, que hace referencia a su fuente de datos superior.
processingStatus processingState Es el estado de procesamiento de la carga. Los valores de cadena (success, failure, in progress) se reemplazan por una enumeración (SUCCEEDED, FAILED, IN_PROGRESS).
errors, warnings issues Los errores y las advertencias se combinan en una sola lista de 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 están en el recurso de estado. Forman 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 lista nueva es un objeto que especifica el destino y su estado (ENABLED o DISABLED), lo que proporciona una configuración más explícita.