Migrer des sources de données

Ce guide explique comment migrer votre intégration des services datafeeds et datafeedstatuses de Content API for Shopping vers la sous-API Sources de données dans Merchant API. La nouvelle sous-API Sources de données offre un contrôle plus direct sur vos pipelines de données et simplifie la gestion des sources de données.

Pour en savoir plus sur les nouvelles fonctionnalités, consultez le guide Gérer vos sources de données.

Principales différences

Par rapport à Content API for Shopping, Merchant API présente plusieurs avantages.

  • Création explicite de sources de données L'API ne crée plus automatiquement de source de données "Content API" lors de la première insertion de produit. Dans l'API Merchant, vous devez créer explicitement des sources de données avant de pouvoir y importer des produits. Vous pouvez ainsi mieux contrôler l'organisation et la gestion de vos pipelines de données produit dès le départ.

  • Compatibilité avec plusieurs sources de données d'API. Dans Content API for Shopping, vous étiez limité à une seule source de données "Content API" créée automatiquement. L'API Merchant vous permet de créer et de gérer plusieurs sources de données de type d'entrée API.

  • Sources de données sans libellé ni langue. L'API Merchant vous permet de créer une source de données principale sans spécifier de feedLabel ni de contentLanguage. Ce type de source de données accepte les produits dans n'importe quelle combinaison de feedLabel et contentLanguage, ce qui simplifie l'importation de produits pour les intégrations qui ne nécessitent pas de sources de données distinctes pour différentes régions.

  • Cibles de données simplifiées Chaque source de données correspond désormais à une seule cible, définie par une combinaison unique de feedLabel et de contentLanguage. Les flux avec plusieurs cibles de données sont obsolètes dans l'API Merchant.

  • État de l'importation de fichier dédié : L'API Merchant Center représente l'état des sources de données basées sur des fichiers à l'aide d'une ressource fileUploads distincte en lecture seule. Pour récupérer l'état d'un import de fichier, utilisez la méthode fileUploads.get avec l'alias latest.

  • Nouveaux types de sources de données : La ressource DataSource est compatible avec davantage de secteurs, y compris les promotions, l'inventaire en magasin et l'inventaire régional. Elle offre ainsi un moyen unifié de gérer tous vos pipelines de données.

  • Sources de données automatiques : Avec l'API Merchant, vous pouvez désormais activer ou désactiver la fonctionnalité Sources de données automatisées pour votre compte à l'aide de la méthode autofeedSettings.updateAutofeedSettings dans la sous-API Accounts. Pour en savoir plus, consultez Configurer les paramètres de l'alimentation automatique.

Requêtes

Le tableau suivant compare les formats d'URL de requête entre Content API for Shopping et l'API Merchant.

Description de la requête Content API for Shopping API Merchant
Créer une source de données POST https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds POST https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Obtenir une source de données 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}
Lister les sources de données GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeeds GET https://merchantapi.googleapis.com/v1/accounts/{ACCOUNT_ID}/dataSources
Mettre à jour une source de données 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}
Supprimer une source de données 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}
Extraire une source de données 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
Obtenir l'état d'une source de données 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
Lister les états des sources de données GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/datafeedstatuses Non disponible. Utilisez dataSources.list et fileUploads.get pour chaque source de données basée sur des fichiers.

Identifiants

L'API Merchant utilise un nom de ressource basé sur une chaîne de caractères comme identifiant.

Description de l'identifiant Content API for Shopping API Merchant
Identifiant de la source de données datafeedId (numérique) name (chaîne, format : accounts/{account}/dataSources/{datasource})

Méthodes

Ce tableau compare les méthodes des services Content API for Shopping datafeeds et datafeedstatuses à leurs équivalents dans l'API Merchant.

Méthode Content API for Shopping Méthode de l'API Merchant Disponibilité et remarques
datafeeds.custombatch Non disponible Utilisez plutôt des appels d'API individuels.
datafeeds.delete dataSources.delete Disponible.
datafeeds.fetchnow dataSources.fetch Disponible. Cette méthode ne fonctionne désormais que pour les sources de données avec une entrée de fichier.
datafeeds.get dataSources.get Disponible.
datafeeds.insert dataSources.create Disponible.
datafeeds.list dataSources.list Disponible.
datafeeds.update dataSources.update Disponible. Utilise la sémantique PATCH au lieu de PUT.
datafeedstatuses.custombatch Non disponible Utilisez plutôt des appels d'API individuels. Pour en savoir plus, consultez Envoyer plusieurs demandes à la fois.
datafeedstatuses.get fileUploads.get Disponible pour les sources de données basées sur des fichiers. Utilisez l'alias latest pour obtenir l'état de la dernière mise en ligne. Pour les autres types de sources de données, les informations sur l'état font partie de la ressource DataSource.
datafeedstatuses.list Non disponible Pour obtenir l'état de plusieurs sources de données, commencez par lister toutes les sources de données avec dataSources.list. Appelez ensuite fileUploads.get avec l'alias latest pour chaque source de données basée sur des fichiers.

Modifications détaillées des champs

Ce tableau présente les modifications au niveau des champs entre les ressources Datafeed et DatafeedStatus dans Content API for Shopping, et les ressources DataSource et FileUpload dans l'API Merchant.

Content API for Shopping API Merchant Description
Datafeed DataSource Ressource principale pour la configuration des sources de données.
id name Identifiant de la ressource. L'ID numérique a été remplacé par un nom de ressource de chaîne.
name displayName Nom de la source de données visible par l'utilisateur.
attributeLanguage primaryProductDataSource.contentLanguage Code de langue ISO 639-1 à deux lettres des éléments de la source de données.
fileName fileInput.fileName Nom du fichier importé. Ce champ est désormais imbriqué sous fileInput.
fetchSchedule fileInput.fetchSettings Planning de récupération d'une source de données basée sur un fichier. Il est désormais imbriqué sous fileInput.
fetchSchedule.paused fileInput.fetchSettings.enabled La logique est inversée. paused: true est équivalent à enabled: false.
format Non disponible Les champs fileEncoding, columnDelimiter et quotingMode sont supprimés. Elles sont désormais détectées automatiquement.
targets primaryProductDataSource.feedLabel, primaryProductDataSource.contentLanguage, primaryProductDataSource.countries Le champ répété targets est supprimé. Chaque source de données dispose désormais d'une seule cible définie par ces champs, ce qui reflète l'abandon des flux multicibles de données.
DatafeedStatus FileUpload L'état d'importation d'un fichier est désormais une ressource distincte en lecture seule.
datafeedId name Identifiant de l'importation de fichier, faisant référence à sa source de données parente.
processingStatus processingState État de traitement de l'importation. Les valeurs de chaîne (success, failure, in progress) sont remplacées par une énumération (SUCCEEDED, FAILED, IN_PROGRESS).
errors, warnings issues Les erreurs et les avertissements sont fusionnés dans une seule liste issues. Chaque problème comporte un champ severity (ERROR ou WARNING).
lastUploadDate uploadTime Code temporel de la dernière importation. Le format est passé d'une chaîne à un objet Timestamp.
country, language, feedLabel Non applicable Ces champs ne figurent plus dans la ressource d'état. Ils font partie de la ressource DataSource.
targets[].included_destinations, targets[].excluded_destinations primaryProductDataSource.destinations Les deux listes distinctes pour les destinations incluses et exclues sont remplacées par une seule liste destinations. Chaque élément de la nouvelle liste est un objet qui spécifie la destination et son état (ENABLED ou DISABLED), ce qui permet une configuration plus explicite.