- Solicitud HTTP
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- Pruébala
Crea, actualiza o quita recursos. Este método admite transacciones atómicas con varios tipos de recursos. Por ejemplo, puedes crear una campaña y un presupuesto de forma automática, o realizar hasta miles de modificaciones de manera automática.
En esencia, este método es un wrapper alrededor de una serie de métodos mutate. Las únicas funciones que ofrece en lugar de llamar directamente a esos métodos son las siguientes:
- Transacciones atómicas
- Nombres de recursos temporales (que se describen a continuación)
- Latencia algo reducida en comparación con hacer una serie de llamadas de mutación
Nota: Solo se incluyen los recursos que admiten transacciones atómicas, por lo que este método no puede reemplazar todas las llamadas a servicios individuales.
Beneficios de Atomic Transaction
La atomicidad hace que el manejo de errores sea mucho más fácil. Si realiza una serie de cambios y uno de ellos falla, es posible que el estado de su cuenta sea incoherente. Con atomicidad, llegas al estado elegido directamente, o bien la solicitud falla y puedes volver a intentarlo.
Nombres de recursos temporales
Los nombres de recursos temporales son un tipo especial de nombre de recurso que se usa para crear un recurso y hacer referencia a él en la misma solicitud. Por ejemplo, si se crea un presupuesto de campaña con un resourceName
igual a customers/123/campaignBudgets/-1
, ese nombre de recurso se puede volver a usar en el campo Campaign.budget
de la misma solicitud. De esa manera, los dos recursos se crean y vinculan de forma atómica.
Para crear un nombre de recurso temporal, coloca un número negativo en la parte del nombre que el servidor asignaría normalmente.
Nota:
- Los recursos deben crearse con un nombre temporal antes de que el nombre se pueda volver a usar. Por ejemplo, el ejemplo anterior de CampaignBudget+Campaign fallaría si se revirtiera el orden de modificación.
- Los nombres temporales no se recuerdan en todas las solicitudes.
- No hay límite para la cantidad de nombres temporales en una solicitud.
- Cada nombre temporal debe usar un número negativo único, incluso si los tipos de recursos difieren.
Latencia
Es importante agrupar las mutaciones por tipo de recurso. De lo contrario, la solicitud podría agotar el tiempo de espera y fallar. La latencia es aproximadamente igual a una serie de llamadas a métodos de mutación individuales, en las que cada cambio en el tipo de recurso es una llamada nueva. Por ejemplo, cambiar 10 campañas y, a continuación, 10 grupos de anuncios equivale a 2 llamadas, mientras que la mutación de 1 campaña, 1 grupo de anuncios, 1 campaña y 1 grupo de anuncios equivale a 4 llamadas.
.AdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError
Solicitud HTTP
POST https://googleads.googleapis.com/v14/customers/{customerId}/googleAds:mutate
La URL usa la sintaxis de la transcodificación gRPC.
Parámetros de ruta de acceso
Parámetros | |
---|---|
customerId |
Obligatorio. El ID del cliente cuyos recursos se están modificando. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "mutateOperations": [ { object ( |
Campos | |
---|---|
mutateOperations[] |
Obligatorio. Es la lista de operaciones que se deben realizar en recursos individuales. |
partialFailure |
Si es verdadero, se llevarán a cabo operaciones exitosas y las operaciones no válidas mostrarán errores. Si es falso, todas las operaciones se llevarán a cabo en una transacción solo si son válidas. El valor predeterminado es falso. |
validateOnly |
Si es verdadera, la solicitud se valida, pero no se ejecuta. Solo se muestran errores, no resultados. |
responseContentType |
La configuración del tipo de contenido de la respuesta. Determina si el recurso mutable o solo el nombre del recurso se debe mostrar después de la mutación. El recurso mutable solo se mostrará si tiene el campo de respuesta adecuado. Por ejemplo, MutateCampaignResult.campaign. |
Cuerpo de la respuesta
Mensaje de respuesta para GoogleAdsService.Mutate
.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
---|
{ "partialFailureError": { object ( |
Campos | |
---|---|
partialFailureError |
Errores relacionados con fallas de operación en el modo de falla parcial. Solo se muestra cuando partialFailure = true y todos los errores ocurren dentro de las operaciones. Si se produce algún error fuera de las operaciones (por ejemplo, errores de autenticación), se muestra un error a nivel de RPC. |
mutateOperationResponses[] |
Todas las respuestas para la función {i>mutate<i}. |
Permisos de autorización
Requiere el siguiente alcance de OAuth:
https://www.googleapis.com/auth/adwords
Para obtener más información, consulta la Descripción general de OAuth 2.0.