Modifica risorse

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 Campaign utilizza l'endpoint CampaignService.MutateCampaigns per creare, aggiornare o rimuovere le campagne.
  • Mutazioni collettive: l'endpoint GoogleAdsService.Mutate aggrega una sequenza di operazioni di mutazione su più tipi di risorse (e operazioni di azione supportate, come la prenotazione o la generazione di preventivi per le campagne) in un'unica richiesta sincrona.
  • Job batch asincroni: per mutazioni su larga scala o workload a lunga esecuzione, BatchJobService esegue le operazioni in modo asincrono senza rischiare timeout delle richieste sincrone. A differenza di GoogleAdsService.Mutate, BatchJobService viene sempre eseguito con la semantica di errore parziale e non supporta la modalità validate_only o le operazioni di azione (book_campaigns_operation, quote_campaigns_operation). Poiché l'errore parziale è sempre attivo, BatchJobService rifiuta le operazioni sulle risorse i cui servizi sottostanti non supportano l'errore parziale (come CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation e CustomerConversionGoalOperation) con MutateError.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 modifica per indicazioni sull'implementazione):

  • Azioni raggruppate in diversi servizi di risorse: mentre le singole chiamate ai servizi di risorse accettano solo operazioni per un singolo tipo di risorsa, GoogleAdsService.Mutate ti consente di modificare più tipi di risorse in un'unica chiamata.
  • Nomi delle risorse temporanei: puoi assegnare ID con numeri 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 un'intera gerarchia di campagne in modo atomico, in modo che tutte le operazioni vengano eseguite o non vengano eseguite insieme, oppure impostare partial_failure su true per eseguire il commit delle operazioni valide in modo indipendente.