Bonnes pratiques

Ce document présente les bonnes pratiques à suivre. Pour en savoir plus, consultez Conseils sur l'amélioration des performances.

Quand utiliser l'API ?

Pour envoyer des requêtes de façon programmatique

Que vous souhaitiez automatiser chaque partie de votre flux de travail ou créer un accès direct à votre système ERP (Enterprise Resource Planning), Content API vous permet d'envoyer des actualisations dès que votre inventaire change.

Pour recevoir une réponse immédiate

Dans Content API, vous recevez instantanément une réponse à chaque requête, plutôt qu'un résumé par e-mail envoyé une fois vos flux de données traités. Une latence de 5 à 10 secondes est à prévoir pour les requêtes groupées volumineuses.

Si vous modifiez fréquemment vos données produit

Avec Content API, vous pouvez appliquer des actualisations partielles plusieurs fois par jour à votre inventaire de produits qui change constamment. En revanche, vous ne pouvez pas envoyer chaque fois l'intégralité de votre flux de données. Si des actualisations individuelles sont disponibles, envoyez-les au fur et à mesure sans attendre que d'autres le soient pour les regrouper. De même, si des actualisations groupées sont disponibles, envoyez-les toutes en même temps sans les diviser en requêtes individuelles.

Pour gérer plusieurs sous-comptes

Les comptes Merchant Center récemment créés sont des comptes uniques comportant leur propre ensemble de données produit. Ils fonctionnent bien dans la plupart des cas. Cependant, à mesure que votre compte se développera, vous aurez peut-être besoin d'un système de gestion plus complexe pour vos produits. Si vous vous retrouvez dans cette situation, vous pouvez utiliser un multicompte (MC). La gestion d'un multicompte au niveau de l'API peut s'effectuer via le service Accounts, et permet d'ajouter et de gérer des sous-comptes de façon programmatique. Pour découvrir comment obtenir un multicompte, cliquez ici.

Utiliser l'API

N'utilisez pas l'API de la même façon que les flux de données

Évitez d'actualiser chaque jour l'intégralité de votre flux de produits lorsque vous utilisez la ressource products. Au lieu de cela, n'actualisez que les produits dont les données ont effectivement changé. L'envoi de l'intégralité de votre flux de données via la ressource products nécessite plus de temps et de ressources à la fois pour Google et pour vous.

N'utilisez pas l'API pour récupérer régulièrement des informations produit que vous avez importées

Si vous êtes chargé de gérer les informations produit dans un compte Merchant Center, évitez de les demander régulièrement dans Content API via les méthodes products.get ou products.list. Pour les clients qui importent ces informations, ces méthodes peuvent aider à déboguer les erreurs lors de la conception de solutions utilisant Content API. Cependant, elles ne sont pas conçues pour récupérer régulièrement des informations produit. Vous devez disposer d'une autre source pour vos informations produit, comme une base de données locale, et les produits dans Merchant Center doivent correspondre au contenu de cette source.

N'utilisez pas à la fois les flux de données et Content API pour envoyer vos articles

Si vous envisagez de passer à l'API pour envoyer vos articles, assurez-vous de ne plus utiliser les flux de données pour cela. En effet, utiliser les deux méthodes à la fois peut engendrer des résultats inattendus.

Existe-t-il une façon sûre d'utiliser à la fois l'API et les flux de données ?

Vous pouvez gérer vos flux de données à l'aide du service Datafeed de l'API. Ce service vous permet de gérer plus facilement vos flux de données à grande échelle. Sachez toutefois que vous ne devez pas ajouter de produits ni les actualiser via l'API et les flux en même temps, car cela peut engendrer des résultats inattendus.

Voici d'autres exemples de cas où vous pouvez utiliser l'API et les flux en même temps :

  • Pour exécuter des requêtes en lecture seule (get ou list) depuis l'API : certains marchands souhaitent se servir de l'API pour récupérer les changements apportés à l'état et aux informations de leurs produits. Ce type d'utilisation est accepté, car les informations produit ne sont actualisées que par les flux.

  • Pour gérer des sous-comptes (service Accounts) et/ou les paramètres de taxes et de livraison au niveau du compte (service Accounttax et service Shippingsettings) à l'aide de l'API : les flux de données ne fournissent pas ces fonctions. L'utilisation de l'API pour les gérer n'engendre donc pas de conflit.

Comment passer de l'utilisation des flux de données à celle de l'API uniquement, et inversement ?

Si vous utilisez actuellement les flux de données et que vous souhaitez désormais recourir exclusivement à l'API pour actualiser vos produits, vous devez réimporter vos données produit avec l'API. Lorsque vous actualisez un produit donné via le service Products, l'API prend le contrôle des informations produit. De ce fait, celles qui figurent dans votre compte Merchant Center seront conservées, même si vous supprimez le produit du flux de données ou le flux de données proprement dit. Si vous souhaitez supprimer le produit du flux de données ou le flux de données lui-même, assurez-vous qu'aucune actualisation du flux n'est en cours. Sinon, le flux de données reprendra le contrôle, et le fait de supprimer le produit du flux de données entraînera la suppression du produit.

Si vous ne vous servez actuellement que de l'API pour obtenir des informations produit et que vous voulez utiliser les flux de données comme principale source d'informations sur les produits, vous pouvez simplement ajouter votre nouveau flux de données à votre compte Merchant Center afin qu'il contrôle les produits listés. Si vous souhaitez supprimer des produits importés seulement à partir de l'API avant qu'ils n'expirent, vous devez les supprimer via Merchant Center ou via l'API.

Comment cibler différents pays avec mes produits à l'aide de Content API for Shopping ?

Pour cibler plusieurs pays avec des annonces et des fiches gratuites pour les produits envoyés via Content API, configurez des pays supplémentaires dans le flux principal de Content API dans Merchant Center, ou ajoutez ces pays via le champ shipping de la ressource products.

Vous trouverez ci-dessous un exemple illustrant comment modifier les paramètres du flux principal de Content API.

Pour plus d'informations, consultez Cibler plusieurs pays avec des annonces Shopping et des fiches gratuites.

Assurez-vous que vos bibliothèques clientes sont à jour

Si vous utilisez une bibliothèque cliente Google pour interagir avec Content API, veillez à vous servir du gestionnaire de packages correspondant au langage de programmation choisi et assurez-vous que la version de la bibliothèque est à jour. Si vous souhaitez en savoir plus, consultez le guide du développeur du langage que vous avez choisi dans Exemples et bibliothèques.

Veillez à utiliser les attributs de destination pour déterminer quels produits s'affichent dans les différents programmes

Content API adopte automatiquement les paramètres par défaut de votre flux Content API tel qu'il a été configuré dans Merchant Center. Vous pouvez utiliser les attributs de produit includedDestinations ou excludedDestinations pour déterminer la participation au programme d'un produit dans un flux ou via Content API.

Si votre flux API a été activé dans un programme, par exemple Acheter sur Google (anciennement Shopping Actions), mais que vous souhaitez exclure certains produits, utilisez l'attribut excludedDestinations avec la valeur Shopping Actions. Si aucune erreur n'est détectée, les paramètres de flux par défaut sont remplacés dans Merchant Center, et cet article n'apparaît pas dans Acheter sur Google (anciennement Shopping Actions). Inversement, si votre flux n'a pas été activé dans un programme (Shopping, par exemple), vous pouvez inclure des articles individuels en vous servant de l'attribut includedDestinations avec la valeur Shopping_ads. L'article figurera ainsi dans les annonces Shopping.

Pour en savoir plus sur les attributs de produit includedDestinations et excludedDestinations, consultez le Centre d'aide.

Assurez-vous d'actualiser les articles avant qu'ils expirent

Si un article ne change pas avant d'expirer, c'est-à-dire 30 jours après la dernière actualisation ou à la date d'expiration spécifiée si elle est antérieure, actualisez-le pour éviter qu'il soit désactivé. Si vous devez actualiser de nombreux articles, parce qu'aucun d'entre eux n'a changé ou que vous ne savez pas quand ils ont été actualisés pour la dernière fois, faites-le sur plusieurs jours plutôt que de tous les actualiser en même temps.

Ne supprimez pas les flux Content API pour éviter que vos produits disparaissent

La première fois que vous importez un produit via la méthode channel:online de Content API, un nouveau flux intitulé Content API apparaît dans Merchant Center. De même, la première fois que vous importez un produit via la méthode channel:local de Content API, un nouveau flux intitulé Content API et doté du sous-titre Produits en magasin apparaît dans Merchant Center. Veillez à ne pas supprimer accidentellement l'un de ces flux, car cela supprimerait les produits vendus en ligne ou en magasin que vous avez ajoutés à Merchant Center via Content API.

Regroupez plusieurs requêtes envoyées au même service en utilisant la méthode custombatch

Au lieu d'envoyer de nombreuses requêtes séquentielles ou parallèles au même service, créez une seule requête custombatch contenant toutes les requêtes souhaitées. De cette manière, le phénomène de latence lié à l'exécution des requêtes sur le point de terminaison de l'API ne survient qu'une seule fois, et non pour chaque requête individuelle, ce qui est particulièrement important si vous utilisez des requêtes séquentielles.

N'envoyez pas plusieurs actualisations d'un article dans un même lot

Cette opération entraîne des résultats inattendus, car l'ordre des actualisations peut varier, et peut générer une erreur de conflit.

N'envoyez pas d'actualisations pour des articles inchangés

Assurez-vous de n'envoyer des requêtes que pour les articles nouveaux, modifiés ou supprimés, ou ceux qui arrivent à expiration.

Utilisez des flux supplémentaires si les prix et/ou la disponibilité changent souvent

Si vous ne parvenez pas à maintenir à jour le prix, la disponibilité ou les informations sur le prix soldé d'un produit, vous pouvez envoyer des mises à jour uniquement pour ces attributs à l'aide des flux supplémentaires de la ressource products. Étant donné que les mises à jour à l'aide de flux supplémentaires sont petites, vous avez la possibilité d'en effectuer beaucoup plus sur une période donnée que des mises à jour complètes des produits. Vous pouvez ainsi vous assurer que les prix et la disponibilité de vos produits correspondent à ceux indiqués sur vos pages de destination.

Un autre moyen de mettre à jour le prix et la disponibilité d'un produit consiste à utiliser les mises à jour automatiques des articles. Celles-ci peuvent être utilisées en plus des mises à jour de l'API afin d'éviter les incohérences entre les informations de Merchant Center et celles figurant sur les pages de destination du produit. Cependant, sachez que cette fonctionnalité est conçue pour corriger les petits problèmes de précision en termes de prix et de disponibilité. Les mises à jour automatiques des articles ne vous dispensent pas d'envoyer des informations correctes via l'API.

Veillez à informer les clients des retards ou des changements dans les informations de livraison

Vous pouvez utiliser l'attribut updatelineitemshippingdetails pour mettre à jour vos informations de livraison et avertir vos clients en cas de retard partiel (sur des articles individuels) dans leurs commandes. Cela peut se produire lorsqu'un ou plusieurs articles sont retardés, mais que le reste de la commande est livré dans les temps. Pour ce faire, appelez la méthode updatelineitemshippingdetails et transmettez les valeurs mises à jour pour les champs shipByDate et deliveryByDate. Le fait d'appeler cette méthode déclenche automatiquement l'envoi d'un e-mail au client pour l'informer des modifications apportées aux délais de livraison prévus.

Quand utiliser un jeton d'actualisation

Le jeton d'actualisation est renvoyé dans l'en-tête HTTP des requêtes d'autorisation. Il contient de nombreuses autres informations d'authentification, mais les développeurs l'utilisent souvent, car il permet de ne pas demander plusieurs fois aux utilisateurs de s'authentifier. En effet, les jetons d'accès ne sont valables que 60 minutes avant d'expirer.