Modifica

La maggior parte delle risorse viene modificata (creata, aggiornata o rimossa) utilizzando un Mutate . Il metodo Mutate viene richiamato come POST HTTP per un indirizzo URL che corrisponde al pattern del nome risorsa, senza l'ID risorsa finale. Gli ID delle risorse da mutare vengono invece inviati nella richiesta JSON del testo. Questo ti consente di inviare una singola chiamata API che contiene più operazioni per varie 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 le campagne mutanti, ometti l'ID risorsa finale e aggiungi :mutate:

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

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

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 maggior parte dei servizi supporta migliaia di operazioni in una singola chiamata API. Il sistema La guida sui limiti documenta limitazioni per le dimensioni della richiesta.

Le operazioni all'interno di una singola richiesta API vengono eseguite come un insieme di azioni predefinito, ovvero hanno esito positivo per tutti oppure l'intero batch ha esito negativo se non funziona una singola operazione. Alcuni servizi supportano Attributo partialFailure per modificare questo comportamento. Consulta la sezione Risorse di mutazione. per informazioni più dettagliate sulla semantica dell'operazione di modifica.

Crea

Le operazioni di creazione producono nuove entità e devono includere un file JSON completo della risorsa che intendi creare.

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

Aggiorna

Le operazioni di aggiornamento eseguono aggiornamenti sparsi per una risorsa esistente. Ti serve solo per specificare i campi da modificare.

Per specificare i campi da aggiornare, imposta l'attributo updateMask su un elenco di nomi di campi separati da virgole. Ciò è particolarmente utile se hanno già una rappresentazione JSON completa di un oggetto (ad esempio, restituiti da una precedente chiamata API), ma vuoi modificare solo alcuni campi. Anziché eliminare l'oggetto JSON, puoi semplicemente elencare i nomi dei campi da modificato in updateMask e inviare l'intero oggetto JSON.

L'esempio riportato di seguito modifica i name e i status di una campagna esistente con il resourceName specificato.

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

Rimuovi

Le operazioni di rimozione eliminano in modo efficace un oggetto, impostando il relativo stato Google Ads su REMOVED. È necessario solo il resourceName da rimuovere.

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