- Solicitud HTTP
- Parámetros de ruta de acceso
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Alcances de la 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 campaña de forma automática, o bien realizar hasta miles de modificaciones automáticamente.
En esencia, este método es un wrapper alrededor de una serie de métodos mutate. Las únicas funciones que ofrece en comparación con llamar directamente a esos métodos son las siguientes:
- Transacciones atómicas
- Nombres de recursos temporales (descritos a continuación)
- Menor latencia 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 facilita mucho el manejo de errores. Si realizas una serie de cambios y uno falla, es posible que el estado de tu cuenta sea incoherente. Con la atomicidad, puedes alcanzar el estado elegido directamente o 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 el presupuesto de una campaña con un resourceName
igual a customers/123/campaignBudgets/-1
, se puede volver a usar ese nombre de recurso 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 se deben crear con un nombre temporal antes de que se pueda volver a usar. Por ejemplo, el ejemplo anterior de CampaignBudget + Campaign fallará si se revirtiera el orden de modificación.
- Los nombres temporales no se recuerdan en 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 individuales de mutación, en la que cada cambio en el tipo de recurso es una llamada nueva. Por ejemplo, si mutas 10 campañas, entonces 10 grupos de anuncios es como 2 llamadas, mientras que cambiar 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/v16/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 modifican. |
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "mutateOperations": [ { object ( |
Campos | |
---|---|
mutateOperations[] |
Obligatorio. 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 todas son válidas. El valor predeterminado es falso. |
validateOnly |
Si es verdadero, 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 el recurso 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 operativas 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 de 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.