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
Campaignusa o endpointCampaignService.MutateCampaignspara criar, atualizar ou remover campanhas. - Mutação em massa:o endpoint
GoogleAdsService.Mutateencapsula 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
BatchJobServiceexecuta operações de forma assíncrona sem correr o risco de tempos limite de solicitação síncrona. Ao contrário deGoogleAdsService.Mutate,BatchJobServicesempre é executado em semântica de falha parcial e não oferece suporte ao modovalidate_onlyou operações de ação (book_campaigns_operation,quote_campaigns_operation). Como a falha parcial está sempre ativa,BatchJobServicerejeita operações de recursos cujos serviços subjacentes não oferecem suporte a falha parcial (comoCustomerOperation,CampaignConversionGoalOperation,ConversionGoalCampaignConfigOperation,CustomConversionGoalOperation, eCustomerConversionGoalOperation) comMutateError.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.Mutatepermite 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.