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 decontentLanguage
. Ce type de source de données accepte les produits dans n'importe quelle combinaison defeedLabel
etcontentLanguage
, 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 decontentLanguage
. 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éthodefileUploads.get
avec l'aliaslatest
.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. |