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 campagne.
  • Modifiche collettive: l'endpoint GoogleAdsService.Mutate racchiude 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, BatchJobService esegue le operazioni in modo asincrono senza rischiare timeout delle richieste sincrone. A differenza di GoogleAdsService.Mutate, BatchJobService viene sempre eseguito in base alla 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 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.Mutate ti 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.