Changement

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"
    }
  ]
}