Modifica

La maggior parte delle risorse viene modificata (creata, aggiornata o rimossa) utilizzando un Mutate metodo. Il metodo Mutate viene invocato come POST HTTP a un URL specifico della risorsa che corrisponde al pattern del nome della risorsa, senza l'ID risorsa finale. Gli ID delle risorse da modificare vengono invece inviati nel corpo della richiesta JSON. In questo modo puoi inviare una singola chiamata API contenente più operazioni su diverse risorse.

Ad esempio, il nome della risorsa di una campagna utilizza il seguente formato:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

Per ricavare l'URL utilizzato per la mutazione delle campagne, ometti l'ID risorsa finale e appendi :mutate:

https://googleads.googleapis.com/v19/customers/CUSTOMER_ID/campaigns:mutate

Un messaggio Mutate contiene un oggetto JSON di primo livello con un array operations che può contenere molti oggetti operation. Ogni operazione, a sua volta, può essere una tra: create, update o remove. Queste sono le uniche operazioni di mutazione possibili.

POST /v19/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 maggior parte dei servizi supporta migliaia di operazioni in una singola chiamata API. La guida Limiti del sistema illustra le limitazioni relative alle dimensioni delle richieste.

Per impostazione predefinita, le operazioni all'interno di una singola richiesta API vengono eseguite come un insieme di azioni, il che significa che vanno a buon fine tutte insieme o l'intero batch non va a buon fine se una singola operazione non va a buon fine. Alcuni servizi supportano un attributo partialFailure per cambiare questo comportamento. Per informazioni più dettagliate sulla semantica dell'operazione di mutazione, consulta Risorse con mutazioni.

Crea

Le operazioni di creazione producono nuove entità e devono includere una rappresentazione JSON completa della risorsa che intendi creare.

POST /v19/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": {}
      }
    }
  ]
}

Aggiorna

Le operazioni di aggiornamento eseguono aggiornamenti sparsi a una risorsa esistente. Devi solo specificare i campi da modificare.

Per specificare i campi da aggiornare, imposta l'attributo updateMask su un elenco di nomi di campi separati da virgola. Questo è particolarmente utile se hai già una rappresentazione JSON completa di un oggetto (ad esempio, come restituito da una chiamata API precedente), ma vuoi modificare solo alcuni campi. Anziché eliminare i campi non necessari dall'oggetto JSON, puoi semplicemente elencare i nomi dei campi da modificare in updateMask e inviare l'intero oggetto JSON.

L'esempio seguente modifica name e status di una campagna esistente con il valore resourceName specificato.

POST /v19/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",
      }
    }
  ]
}

Rimuovi

Le operazioni di rimozione eliminano effettivamente un oggetto, impostando il relativo stato Google Ads su REMOVED. È richiesto solo il resourceName da rimuovere.

POST /v19/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"
    }
  ]
}