- 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, é possível 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 oferecidos 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: apenas os recursos que suportam transações atômicas são incluídos, 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, é possível que sua conta fique em um estado inconsistente. Com a atomicidade, você alcança o estado escolhido diretamente 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 fazer referência a esse recurso 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 devem ser criados com um nome temporário antes que o nome possa ser reutilizado. Por exemplo, o exemplo anterior CampaignBudget+Campaign falharia se o pedido de modificação fosse invertido.
- 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 se os tipos de recursos forem diferentes.
Latência
É importante agrupar as mudanças feitas por tipo de recurso. Caso contrário, a solicitação pode expirar e falhar. A latência é aproximadamente 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, mudar 10 campanhas e depois 10 grupos de anúncios equivale a 2 chamadas. Já as modificações de 1 campanha, 1 grupo de anúncios, 1 campanha e 1 grupo de anúncios equivalem a 4 chamadas.
lista de erros gerados {3LatLngErrorRange}{4ErrorSettings}{4ErrorSettings}{3ErrorPolicy{/4ErrorSettings}{4ErrorPolicy{/ErrorRangeError{4ErrorPolicy{/1ErrorLimit{/38ErrorLimit{/3CampaignErrorLimit{/4ErrorValueError{/38ErrorLimit{/4Error).{/3ErrorPolicy{/3ErrorError{35ErrorError"){/313Error AuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError
Solicitação HTTP
POST https://googleads.googleapis.com/v16/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. A lista de operações a serem executadas em recursos individuais. |
partialFailure |
Se verdadeiro, as operações bem-sucedidas serão executadas 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 de 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 apenas 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), retornaremos um erro de nível 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.