Comme indiqué dans le guide sur la structure de l'API, chaque ressource de premier niveau de l'API Google Ads dispose d'un service spécifique au type de ressource correspondant, qui permet de modifier les instances de la ressource. Vous pouvez également utiliser GoogleAdsService.Mutate pour modifier plusieurs types de ressources de manière atomique dans une seule requête.
Ce guide utilise CampaignService pour montrer comment modifier les objets Campaign, mais les mêmes concepts s'appliquent à tous les autres services spécifiques aux types de ressources.
Requêtes de mutation
Chaque service spécifique à un type de ressource possède une méthode mutate qui accepte une requête mutate. Cette demande comprend les éléments suivants :
- Un
customer_id(oucustomerIddans les URL REST) - Une collection de
operations - Paramètres d'exécution facultatifs tels que
partial_failure,validate_onlyetresponse_content_type(qui détermine si la ressource mutable ou uniquement le nom de la ressource est renvoyé après la mutation)
Par exemple, la méthode MutateCampaigns de CampaignService accepte un MutateCampaignsRequest qui se compose des éléments suivants :
customer_id- Collection d'objets
CampaignOperation(operations) - Paramètres d'exécution facultatifs (
partial_failure,validate_onlyetresponse_content_typeindiquant le type de réponse préféré)
Opérations
Un objet d'opération tel que CampaignOperation vous permet de spécifier l'action que vous souhaitez effectuer sur une seule ressource en définissant son champ operation.
Ce champ est un champ oneof composé des attributs suivants :
create- Crée une instance de la ressource.
update- Met à jour la ressource pour qu'elle corresponde aux attributs de la ressource
update. Lorsque ce champ est défini, vous devez également définir leupdate_maskde l'opération, qui indique à l'API Google Ads les attributs à modifier lors de l'opération de mise à jour. Chaque bibliothèque cliente inclut un utilitaire de masque de champ ou une méthode d'assistance qui génère leupdate_maskpour vous. remove- Supprime la ressource spécifiée par sa chaîne de nom de ressource (par exemple,
customers/1234567890/campaigns/987654321).
Étant donné que le champ operation est un champ oneof, vous ne pouvez pas utiliser une seule opération pour modifier plusieurs objets. Par exemple, si vous souhaitez créer une campagne et en supprimer une autre, ajoutez deux instances de CampaignOperation à votre demande : une avec create défini et une autre avec remove défini.
Opérations par lot
Bien qu'une seule opération ne puisse que créer, mettre à jour ou supprimer une seule ressource, une seule requête de modification peut contenir plusieurs opérations. Vous devez combiner vos opérations en une seule requête de modification au lieu d'envoyer plusieurs requêtes de modification contenant chacune une seule opération.
Par exemple, si vous souhaitez créer dix campagnes, vous devez envoyer une seule
MutateCampaignsRequest comportant dix objets CampaignOperation. Pour regrouper des opérations sur différents types de ressources dans une seule requête, utilisez GoogleAdsService.Mutate ou mutating resources.
Réponses de mutation
Ce qui est renvoyé dans la réponse dépend de ce qui a été envoyé dans le champ response_content_type de la requête de modification.
Par exemple, si MUTABLE_RESOURCE est spécifié, la réponse contient à la fois le resource_name de la ressource et les champs modifiables de la campagne dans campaign. Par défaut (RESOURCE_NAME_ONLY), seul resource_name est renseigné dans chaque MutateCampaignResult.
Erreurs de mutation
Par défaut (partial_failure = false), les opérations d'une requête de modification ne sont appliquées à votre compte Google Ads que si chaque opération de la requête réussit. Si une opération échoue, l'ensemble de la requête est annulé. Pour les requêtes de mutation qui acceptent les échecs partiels (celles avec un champ partial_failure dans le message de requête), la définition de partial_failure = true valide les opérations valides, tandis que les opérations ayant échoué renvoient des erreurs spécifiques à l'opération dans le champ partial_failure_error de la réponse. Pour en savoir plus sur la gestion des erreurs, consultez le guide sur les échecs partiels et le guide sur les erreurs fréquentes.
Suivre les modifications
Pour suivre les modifications apportées aux objets de votre compte Google Ads ou pour récupérer l'état actuel des objets, vous pouvez utiliser les ressources change_status et change_event.
change_statusfournit un récapitulatif des ressources qui ont été modifiées au cours d'une période donnée.change_eventfournit un historique détaillé des modifications, y compris les anciennes et les nouvelles valeurs des champs modifiés.
Pour interroger ces ressources, utilisez la méthode GoogleAdsService.SearchStream ou GoogleAdsService.Search. En savoir plus sur le streaming de rapports à l'aide de GoogleAdsService