La plupart des ressources sont modifiées (créées, mises à jour ou supprimées) à l'aide d'un Mutate
. La méthode Mutate
est appelée en tant que POST
HTTP vers une ressource spécifique
URL qui correspond au modèle de nom de ressource, sans ID de ressource à la fin.
Les ID des ressources à modifier sont envoyés dans la requête JSON
. Cela vous permet d'envoyer un seul appel d'API contenant plusieurs opérations sur
différentes ressources.
Par exemple, le nom de ressource d'une campagne utilise le format suivant:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
Pour obtenir l'URL utilisée pour la mutation des campagnes, omettez l'ID de ressource à la fin et
ajoutez :mutate
:
https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate
Un message Mutate
contient un objet JSON de premier niveau avec un tableau operations
.
qui peut contenir de nombreux objets operation
. Chaque opération peut être, à son tour, un
create
, update
ou remove
. Ce sont les seuls paramètres mutate
opérations.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ ... ] }
La plupart des services peuvent gérer des milliers d'opérations via un seul appel d'API. Le système sur les limites les limites de taille des demandes ;
Les opérations d'une même requête API sont exécutées comme un ensemble d'actions
par défaut, ce qui signifie qu'ils réussissent tous ensemble ou que l'ensemble du lot échoue
toute opération échoue. Certains services sont compatibles avec
Attribut partialFailure
pour modifier ce comportement. Consultez la section Mutation des ressources.
pour en savoir plus sur la sémantique de l'opération mutate.
Créer
Les opérations de création génèrent de nouvelles entités et doivent inclure un fichier JSON complet de la ressource que vous souhaitez créer.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
Mettre à jour
Les opérations de mise à jour effectuent des mises à jour creuses sur une ressource existante. Vous n'avez besoin que pour spécifier les champs à modifier.
Pour spécifier les champs que vous souhaitez mettre à jour, définissez l'attribut updateMask
sur
une liste de noms de champs séparés par une virgule. Ceci est particulièrement
utile si vous
disposent déjà d'une représentation JSON complète d'un objet (par exemple,
renvoyées par un appel d'API précédent), mais que vous ne vouliez modifier que certains champs.
Au lieu d'éliminer l'objet JSON, vous pouvez simplement lister les noms de champs
modifié dans updateMask
et envoyer l'intégralité de l'objet JSON.
L'exemple ci-dessous modifie les valeurs name
et status
d'une campagne existante dont
la valeur resourceName
donnée.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
Supprimer
Les opérations de suppression suppriment efficacement un objet, en définissant son état Google Ads sur
REMOVED
Seul le resourceName
à supprimer est nécessaire.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }