Bonnes pratiques

Ce document présente les bonnes pratiques à suivre. Consultez également le document Conseils sur l'amélioration des performances.

Quand utiliser l'API ?

Pour envoyer des requêtes à l'aide d'un programme

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 mises à jour 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é après le traitement de vos flux de données. Une latence de 5 à 10 secondes est attendue pour les requêtes groupées volumineuses.

Si vous modifiez fréquemment vos données produit

Grâce à Content API, vous pouvez appliquer des mises à jour partielles plusieurs fois par jour à votre inventaire de produits qui change constamment, alors que vous ne pouvez pas envoyer l'intégralité de votre flux de données. Si des mises à jour sont disponibles individuellement, envoyez-les individuellement sans attendre que d'autres le soient pour les regrouper. De même, si des mises à jour sont disponibles par lots, envoyez-les par lots 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, au fur et à mesure que votre compte se développe, 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 par programmation. Pour découvrir comment obtenir un multicompte, cliquez ici.

Comment utiliser l'API ?

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

Évitez de mettre à jour quotidiennement l'ensemble de votre flux de produits lorsque vous utilisez le service Products. À la place, ne mettez à jour que les produits dont les données ont réellement changé. L'envoi de l'intégralité de votre flux de données via le service Products nécessite plus de temps et de ressources à la fois pour Google et pour vous.

Ne pas utiliser l'API pour récupérer régulièrement des informations sur des produits que vous avez importées

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

Ne pas utiliser à la fois les flux de données et Content API pour envoyer vos articles

Si vous envisagez d'utiliser l'API pour envoyer vos articles, assurez-vous de ne plus utiliser les flux de données. En effet, si vous utilisez les deux méthodes simultanément, vous risquez d'obtenir des résultats inattendus.

Existe-t-il une façon d'utiliser conjointement l'API et les flux de données en toute sécurité ?

Vous pouvez gérer vos flux de données à l'aide du service Datafeed de l'API. Bien que cette utilisation vous permette de gérer plus facilement vos flux de données à grande échelle, sachez que vous ne devez pas ajouter ni mettre à jour de produits via l'API et les flux en même temps, car vous risqueriez d'obtenir des résultats inattendus.

Voici d'autres exemples d'utilisations conjointes de l'API et des flux qui sont acceptées :

  • 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 des informations et des mises à jour de l'état de leurs produits. Ce type d'utilisation est accepté, car les informations sur les produits ne sont mises à jour que par les flux.
  • Mettre à jour les prix et l'inventaire à tout moment de la journée via le service Inventory (v2 uniquement). Ce type d'utilisation est accepté, car le service Inventory ne modifie pas les produits, qui restent associés au flux de données duquel ils proviennent. Cela signifie que les dates d'expiration ne sont pas non plus mises à jour, ce qui en règle générale n'est pas un problème, car les marchands ont tendance à mettre à jour leurs flux suffisamment souvent pour éviter que leurs produits n'expirent.
  • 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 ne pose donc aucun problème.

Comment puis-je uniquement utiliser l'API à la place des flux des données, ou inversement ?

Si vous utilisez actuellement les flux de données et que vous souhaitez désormais recourir exclusivement à l'API pour mettre à jour vos produits, vous devez réimporter vos données produit avec l'API. Lorsque vous mettez à jour un produit donné via le service Products, l'API prend le contrôle des informations sur le produit. De ce fait, les informations sur vos produits 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 mise à jour du flux n'est en cours. Sinon, le flux de données reprend le contrôle, et le fait de supprimer le produit du flux de données entraîne la suppression du produit.

Si vous ne vous servez actuellement que de l'API pour obtenir des informations sur les produits 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 répertoriés. Si vous souhaitez supprimer avant leur expiration des produits importés seulement à partir de l'API, 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 la page Cibler des annonces Shopping et des fiches gratuites dans plusieurs pays.

S'assurer 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.

Veiller à 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. 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.

S'assurer de mettre à jour les articles avant leur expiration

Si un article ne change pas avant son expiration, c'est-à-dire 30 jours après sa dernière mise à jour ou à la date d'expiration spécifiée si elle est antérieure, mettez-le à jour pour éviter sa désactivation. Si vous devez mettre à jour de nombreux articles, car aucun d'entre eux n'a changé, ou si vous ne connaissez pas la date de leur dernière mise à jour, ne mettez pas à jour tous les articles en même temps, mais étalez les mises à jour sur plusieurs jours.

Ne pas supprimer 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.

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

Ne pas envoyer plusieurs mises à jour d'un article dans un lot

Cette opération entraîne des résultats inattendus, car l'ordre des mises à jour est inconnu, et peut également générer une erreur de conflit.

Ne pas envoyer de mises à jour pour les articles non modifiés

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

Utiliser 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 du service 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 matière de prix et de disponibilité. Les mises à jour automatiques des articles ne vous dispensent pas de l'envoi d'informations correctes via l'API.

Veiller à informer les clients des retards ou des modifications des 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.