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