- Solicitação HTTP
- Parâmetros de caminho
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- Faça um teste
Cria, atualiza ou remove recursos. Esse método é compatível com transações atômicas com vários tipos de recursos. Por exemplo, você pode criar atomicamente uma campanha e um orçamento de campanha ou realizar até milhares de mudanças atomicamente.
Esse método é essencialmente um wrapper em torno de uma série de métodos mutate. Os únicos recursos que ele oferece em vez da chamada direta desses métodos são:
- Transações atômicas
- Nomes de recursos temporários (descritos abaixo)
- Latência um pouco reduzida ao fazer uma série de chamadas mutate
Observação: são incluídos apenas recursos compatíveis com transações atômicas. Portanto, esse método não pode substituir todas as chamadas para serviços individuais.
Benefícios da transação atômica
A atomicidade torna o tratamento de erros muito mais fácil. Se você estiver fazendo uma série de alterações e uma delas falhar, isso pode deixar sua conta em um estado inconsistente. Com a atomicidade, é possível alcançar diretamente o estado escolhido ou a solicitação falha, e você pode tentar novamente.
Nomes de recursos temporários
Nomes de recursos temporários são um tipo especial de nome de recurso usado para criar um recurso e referenciá-lo na mesma solicitação. Por exemplo, se um orçamento de campanha for criado com resourceName
igual a customers/123/campaignBudgets/-1
, esse nome de recurso poderá ser reutilizado no campo Campaign.budget
na mesma solicitação. Dessa forma, os dois recursos são criados e vinculados atomicamente.
Para criar um nome de recurso temporário, coloque um número negativo na parte do nome que o servidor normalmente alocaria.
Observação:
- Os recursos precisam ser criados com um nome temporário antes que o nome possa ser reutilizado. Por exemplo, o exemplo anterior de CampaignBudget+Campaign falharia se o pedido de modificação fosse revertido.
- Os nomes temporários não são lembrados nas solicitações.
- Não há limite para o número de nomes temporários em uma solicitação.
- Cada nome temporário precisa usar um número negativo exclusivo, mesmo que os tipos de recursos sejam diferentes.
Latência
É importante agrupar as modificações por tipo de recurso. Caso contrário, a solicitação pode expirar e falhar. A latência é praticamente igual a uma série de chamadas para métodos mutate individuais, em que cada mudança no tipo de recurso é uma nova chamada. Por exemplo, modificar 10 campanhas e 10 grupos de anúncios equivale a 2 chamadas. Já a modificação de 1 campanha, 1 grupo de anúncios, 1 campanha e 1 grupo de anúncios equivale a 4 chamadas.
AdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError
Solicitação HTTP
POST https://googleads.googleapis.com/v15/customers/{customerId}/googleAds:mutate
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de caminho
Parâmetros | |
---|---|
customerId |
Obrigatório. O ID do cliente cujos recursos estão sendo modificados. |
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON |
---|
{ "mutateOperations": [ { object ( |
Campos | |
---|---|
mutateOperations[] |
Obrigatório. Lista de operações a serem realizadas em recursos individuais. |
partialFailure |
Se verdadeiro, as operações bem-sucedidas serão realizadas e as operações inválidas retornarão erros. Se for falso, todas as operações serão realizadas em uma transação apenas se todas forem válidas. O padrão é false |
validateOnly |
Se verdadeiro, a solicitação é validada, mas não executada. Somente erros são retornados, não resultados. |
responseContentType |
A configuração do tipo de conteúdo da resposta. Determina se o recurso mutável ou apenas o nome do recurso deve ser retornado após a mutação. O recurso mutável só vai ser retornado se tiver o campo de resposta apropriado. Por exemplo, mutateCampaignResult.campaign. |
Corpo da resposta
Mensagem de resposta para GoogleAdsService.Mutate
.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "partialFailureError": { object ( |
Campos | |
---|---|
partialFailureError |
Erros relacionados a falhas de operação no modo de falha parcial. Retornado somente quando partialFailure = true e todos os erros ocorrem dentro das operações. Se ocorrer algum erro fora das operações (por exemplo, erros de autenticação), vamos retornar um erro no nível da RPC. |
mutateOperationResponses[] |
Todas as respostas para a função mutate. |
Escopos de autorização
Requer o seguinte escopo OAuth:
https://www.googleapis.com/auth/adwords
Para mais informações, consulte a Visão geral do OAuth 2.0.