La mayoría de los recursos se modifican (se crean, actualizan o quitan) con un Mutate
. El método Mutate
se invoca como una solicitud HTTP POST
a un recurso específico
URL que coincide con el patrón resource-name, sin el ID del recurso final.
En cambio, los IDs de los recursos que se mutarán se envían en la solicitud JSON
cuerpo. Esto te permite enviar una sola llamada a la API que contiene varias operaciones en
diferentes recursos.
Por ejemplo, el nombre del recurso de una campaña utiliza el siguiente formato:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
Para derivar la URL utilizada para la modificación de campañas, omite el ID del recurso final y
Adjuntar :mutate
:
https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate
Un mensaje Mutate
contiene un objeto JSON de nivel superior con un array operations
.
que puede contener muchos objetos operation
. A su vez, cada operación puede ser
de: create
, update
o remove
. Estas son las únicas posibles transformaciones
las operaciones.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ ... ] }
La mayoría de los servicios admiten miles de operaciones en una sola llamada a la API. El sistema En la guía sobre los límites, limitaciones en los tamaños de las solicitudes.
Las operaciones dentro de una única solicitud a la API se ejecutan como un conjunto de acciones
de forma predeterminada, lo que significa que todos se ejecutan de forma correcta o el lote completo falla si
falla cualquier operación individual. Algunos servicios admiten
Atributo partialFailure
para cambiar este comportamiento. Consulta Recursos de mutación
para obtener información más detallada sobre la semántica de la operación de mutación.
Crear
Las operaciones de creación producen entidades nuevas y deben incluir un archivo JSON completo del recurso que quieres crear.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
Actualizar
Las operaciones de actualización realizan actualizaciones dispersas en un recurso existente. Solo necesitas para especificar los campos que quieres modificar.
Para especificar los campos que deseas actualizar, establece el atributo updateMask
en
una lista separada por comas de los nombres de los campos. Esto es particularmente útil si
ya tienes una representación JSON totalmente formada de un objeto (por ejemplo,
que mostró una llamada a la API anterior), pero solo desea cambiar ciertos campos.
En lugar de reducir el objeto JSON, puedes enumerar los nombres de los campos
modificado en updateMask
y envía el objeto JSON completo.
El siguiente ejemplo cambia los valores de name
y status
de una campaña existente que tiene
el resourceName
especificado.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
Quitar
Las operaciones de eliminación borran un objeto de forma eficaz, lo que establece su estado en Google Ads en
REMOVED
Solo se requiere el resourceName
que se quitará.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }