Recursos "mutate"

A API Google Ads oferece várias maneiras de modificar recursos, dependendo do seu caso de uso:

  • Mutações de serviço de recursos: cada recurso mutável tem um serviço dedicado que executa operações para esse tipo de recurso específico. Por exemplo, o recurso Campaign usa o endpoint CampaignService.MutateCampaigns para criar, atualizar ou remover campanhas.
  • Mutações em massa: o endpoint GoogleAdsService.Mutate envolve uma sequência de operações de mutação em vários tipos de recursos (e operações de ação compatíveis, como campanhas de reserva ou cotação) em uma única solicitação síncrona.
  • Jobs em lote assíncronos: para mutações em grande escala ou cargas de trabalho de longa duração, o BatchJobService executa operações de forma assíncrona, sem o risco de tempos limite de solicitação síncrona. Ao contrário de GoogleAdsService.Mutate, BatchJobService sempre é executado com semântica de falha parcial e não oferece suporte ao modo validate_only ou a operações de ação (book_campaigns_operation, quote_campaigns_operation). Como a falha parcial está sempre ativa, BatchJobService rejeita operações de recursos em que os serviços subjacentes não oferecem suporte a falhas parciais (como CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation e CustomerConversionGoalOperation) com MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.

Benefícios das mutações em massa

O uso de GoogleAdsService.Mutate oferece os seguintes benefícios (consulte as práticas recomendadas de mutação para orientações de implementação):

  • Ações agrupadas em diferentes serviços de recursos: enquanto as chamadas de serviço de recursos individuais aceitam apenas operações para um único tipo de recurso, o GoogleAdsService.Mutate permite mutar vários tipos de recursos em uma chamada.
  • Nomes de recursos temporários: é possível atribuir IDs de números inteiros negativos (como customers/CUSTOMER_ID/campaigns/-1) a entidades pai recém-criadas e fazer referência a esses IDs temporários em operações filhas na mesma solicitação.

Com esses recursos, você pode usar GoogleAdsService.Mutate para criar uma hierarquia de campanha inteira de forma atômica, de modo que todas as operações sejam bem-sucedidas ou falhem juntas, ou definir partial_failure como true para confirmar operações válidas de forma independente.