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 atomicamente più tipi di risorse in un'unica richiesta.

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

Richieste di modifica

Ogni servizio specifico per il 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 dopo la modifica viene restituita la risorsa modificabile o solo il nome della risorsa)

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

  • Un customer_id
  • Una raccolta di oggetti CampaignOperation (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 oneof campo 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 update_mask dell'operazione, che indica all'API Google Ads quali attributi modificare durante l'operazione di aggiornamento. Ogni libreria client include un'utilità per la maschera dei campi 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 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. Ti consigliamo di combinare le operazioni in un'unica richiesta di modifica anziché inviare più richieste di modifica, ognuna contenente una singola operazione.

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

Risposte di modifica

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

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 ha esito positivo; se un'operazione non va a buon fine, viene eseguito il rollback dell'intera richiesta. Per le richieste di modifica che supportano l'errore parziale (quelle con un campo partial_failure nel messaggio della 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 GoogleAdsService.SearchStream o GoogleAdsService.Search metodo. Scopri di più sullo streaming dei report utilizzando GoogleAdsService.