Modificare oggetti

Come descritto nella guida alla struttura dell'API, ogni risorsa di primo livello nell'API Google Ads ha un servizio specifico per il tipo di risorsa corrispondente che supporta la modifica delle istanze della risorsa. Puoi anche utilizzare GoogleAdsService.Mutate per modificare più tipi di risorse in modo atomico in un'unica richiesta.

Questa guida utilizza CampaignService per mostrare la modifica degli oggetti Campaign, ma gli stessi concetti si applicano a tutti gli altri servizi specifici per tipo di risorsa.

Richieste di modifica

Ogni servizio specifico per tipo di risorsa ha un metodo mutate che accetta una richiesta di modifica. Questa richiesta è composta da:

  • Un customer_id (o customerId negli URL REST)
  • Una raccolta di operations
  • Impostazioni di esecuzione facoltative come partial_failure, validate_only e response_content_type (che determina se viene restituita la risorsa modificabile o solo il nome della risorsa dopo la mutazione)

Ad esempio, il metodo MutateCampaigns di CampaignService accetta un MutateCampaignsRequest composto da:

  • customer_id
  • Una raccolta di CampaignOperation oggetti (operations)
  • Impostazioni di esecuzione facoltative (partial_failure, validate_only e response_content_type che indicano il tipo di risposta preferito)

Operazioni

Un oggetto operazione come CampaignOperation ti consente di specificare l'azione che vuoi eseguire su una singola risorsa impostando il relativo campo operation. Questo campo è un campo oneof composto dai seguenti attributi:

create
Crea una nuova istanza della risorsa.
update
Aggiorna la risorsa in modo che corrisponda agli attributi della risorsa update. Quando questo campo è impostato, devi impostare anche il update_mask dell'operazione, che indica all'API Google Ads quali attributi modificare durante l'operazione di aggiornamento. Ogni libreria client include un'utilità di maschera di campo o un metodo helper che genera update_mask per te.
remove
Rimuove la risorsa specificata dalla stringa del nome della risorsa (ad esempio, customers/1234567890/campaigns/987654321).

Poiché il campo operation è un campo oneof, non puoi utilizzare una singola operazione per modificare più oggetti. Ad esempio, se vuoi creare una campagna e rimuoverne un'altra, aggiungi due istanze di CampaignOperation alla tua richiesta: una con create impostato e un'altra con remove impostato.

Operazioni batch

Sebbene una singola operazione possa solo creare, aggiornare o rimuovere una singola risorsa, una singola richiesta di modifica può contenere più operazioni. Devi combinare le operazioni in un'unica richiesta di modifica anziché inviare più richieste di modifica contenenti ciascuna una singola operazione.

Ad esempio, se vuoi creare dieci campagne, devi inviare un singolo MutateCampaignsRequest che contenga dieci oggetti CampaignOperation. Per raggruppare le operazioni su diversi tipi di risorse in un'unica richiesta, utilizza GoogleAdsService.Mutate o risorse mutanti.

Modifica delle risposte

Ciò che viene restituito nella risposta dipende da ciò che è stato inviato nel campo response_content_type della richiesta di modifica. Ad esempio, se viene specificato MUTABLE_RESOURCE, la risposta contiene sia resource_name della risorsa sia i campi modificabili della campagna in campaign. Per impostazione predefinita (RESOURCE_NAME_ONLY), solo resource_name viene compilato in ogni MutateCampaignResult.

Errori di modifica

Per impostazione predefinita (partial_failure = false), le operazioni in una richiesta di modifica vengono applicate al tuo account Google Ads solo se ogni operazione nella richiesta va a buon fine; se un'operazione non riesce, l'intera richiesta viene annullata. Per le richieste di mutazione che supportano l'errore parziale (quelle con un campo partial_failure nel messaggio di richiesta), l'impostazione di partial_failure = true esegue il commit delle operazioni valide mentre le operazioni non riuscite restituiscono errori specifici dell'operazione nel campo partial_failure_error della risposta. Per informazioni dettagliate sulla gestione degli errori, consulta la guida all'errore parziale e la guida agli errori comuni.

Monitorare le modifiche

Per monitorare le modifiche apportate agli oggetti nel tuo account Google Ads o per recuperare lo stato attuale degli oggetti, puoi utilizzare le risorse change_status e change_event.

  • change_status fornisce un riepilogo delle risorse che sono state modificate in un determinato periodo di tempo.
  • change_event fornisce una cronologia dettagliata delle modifiche, inclusi i valori precedenti e nuovi dei campi modificati.

Per eseguire query su queste risorse, utilizza il metodo GoogleAdsService.SearchStream o GoogleAdsService.Search. Scopri di più sullo streaming dei report utilizzando GoogleAdsService.