Muter des ressources

L'API Google Ads propose plusieurs façons de modifier des ressources en fonction de votre cas d'utilisation :

  • Modifications du service de ressources : chaque ressource modifiable dispose d'un service dédié qui exécute des opérations pour ce type de ressource spécifique. Par exemple, la ressource Campaign utilise le point de terminaison CampaignService.MutateCampaigns pour créer, modifier ou supprimer des campagnes.
  • Modifications groupées : le point de terminaison GoogleAdsService.Mutate encapsule une séquence d'opérations de modification sur plusieurs types de ressources (et les opérations d'action compatibles, comme la réservation ou la création de devis pour des campagnes) dans une seule requête synchrone.
  • Jobs par lots asynchrones : pour les mutations à grande échelle ou les charges de travail de longue durée, BatchJobService exécute les opérations de manière asynchrone sans risquer de dépasser le délai avant expiration des requêtes synchrones. Contrairement à GoogleAdsService.Mutate, BatchJobService s'exécute toujours selon la sémantique d'échec partiel et n'est pas compatible avec le mode validate_only ni les opérations d'action (book_campaigns_operation, quote_campaigns_operation). Étant donné que l'échec partiel est toujours actif, BatchJobService rejette les opérations de ressources dont les services sous-jacents ne sont pas compatibles avec l'échec partiel (comme CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation et CustomerConversionGoalOperation) avec MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.

Avantages des mutations groupées

L'utilisation de GoogleAdsService.Mutate offre les avantages suivants (consultez les bonnes pratiques concernant les mutations pour obtenir des conseils d'implémentation) :

  • Actions groupées sur différents services de ressources : alors que les appels de services de ressources individuels n'acceptent que les opérations pour un seul type de ressource, GoogleAdsService.Mutate vous permet de modifier plusieurs types de ressources en un seul appel.
  • Noms de ressources temporaires : vous pouvez attribuer des ID d'entiers négatifs (tels que customers/CUSTOMER_ID/campaigns/-1) aux entités parentes nouvellement créées et référencer ces ID temporaires dans les opérations enfants de la même requête.

Grâce à ces fonctionnalités, vous pouvez utiliser GoogleAdsService.Mutate pour créer une hiérarchie de campagne entière de manière atomique, de sorte que toutes les opérations réussissent ou échouent ensemble, ou définir partial_failure sur true pour valider les opérations valides indépendamment.