Recursos "mutate"

A API Google Ads oferece várias maneiras de fazer mutações em recursos, dependendo do seu caso de uso:

  • Mutação do 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ção em massa:o endpoint GoogleAdsService.Mutate encapsula uma sequência de operações de mutação em vários tipos de recursos (e, na v23 e versões mais recentes, 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 correr o risco de tempos limite de solicitação síncrona. Ao contrário de GoogleAdsService.Mutate, BatchJobService sempre é executado em semântica de falha parcial e não oferece suporte ao modo validate_only ou operações de ação (book_campaigns_operation, quote_campaigns_operation). Como a falha parcial está sempre ativa, BatchJobService rejeita operações de recursos cujos serviços subjacentes não oferecem suporte a falha parcial (como CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation, e CustomerConversionGoalOperation) com MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.

Benefícios das mutações em massa

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

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

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