L'API Google Ads offre diversi modi per modificare le risorse a seconda del caso d'uso:
- Mutazioni del servizio di risorse: ogni
risorsa modificabile ha un servizio dedicato che esegue operazioni per quel
tipo di risorsa specifico. Ad esempio, la risorsa
Campaignutilizza l'endpointCampaignService.MutateCampaignsper creare, aggiornare o rimuovere campagne. - Modifiche collettive: l'endpoint
GoogleAdsService.Mutateracchiude una sequenza di operazioni di modifica su più tipi di risorse (e, nella versione 23 e successive, operazioni supportate come campagne di prenotazione o preventivo) in un'unica richiesta sincrona. - Job batch asincroni: per mutazioni su larga scala o carichi di lavoro a lunga esecuzione,
BatchJobServiceesegue le operazioni in modo asincrono senza rischiare timeout delle richieste sincrone. A differenza diGoogleAdsService.Mutate,BatchJobServiceviene sempre eseguito in base alla semantica di errore parziale e non supporta la modalitàvalidate_onlyo le operazioni di azione (book_campaigns_operation,quote_campaigns_operation). Poiché l'errore parziale è sempre attivo,BatchJobServicerifiuta le operazioni sulle risorse i cui servizi sottostanti non supportano l'errore parziale (comeCustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperation, eCustomerConversionGoalOperation) conMutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.
Vantaggi delle modifiche collettive
L'utilizzo di GoogleAdsService.Mutate offre i seguenti vantaggi
(consulta le best practice per la mutazione per indicazioni
sull'implementazione):
- Azioni raggruppate in diversi servizi di risorse:mentre le chiamate ai singoli servizi di risorse accettano solo operazioni per un singolo tipo di risorsa,
GoogleAdsService.Mutateti consente di modificare più tipi di risorse in una sola chiamata. - Nomi delle risorse temporanei:puoi assegnare ID interi negativi (ad esempio
customers/CUSTOMER_ID/campaigns/-1) alle entità principali appena create e fare riferimento a questi ID temporanei nelle operazioni secondarie all'interno della stessa richiesta.
Con queste funzionalità, puoi utilizzare GoogleAdsService.Mutate per
creare in modo atomico un'intera gerarchia di campagne in modo che tutte le operazioni vadano a buon fine o
non vadano a buon fine insieme oppure impostare partial_failure su true per eseguire il commit delle operazioni valide
in modo indipendente.