Caution: You are viewing documentation for the API's REST interface. Most of our official client libraries use gRPC. See the REST Introduction for details.

Modificar

La mayoría de los recursos se modifican (crean, actualizan o quitan) con un método Mutate. El método Mutate se invoca como un POST de HTTP a una URL específica del recurso que coincide con el patrón del nombre del recurso, sin el ID de recurso final. En su lugar, se envían los ID de los recursos que se mutarán en el cuerpo de la solicitud JSON. Esto te permite enviar una sola llamada a la API que contiene varias operaciones en diferentes recursos.

Por ejemplo, el nombre de recurso de una campaña tiene el siguiente formato:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

A fin de derivar la URL que se usa para las campañas cambiantes, omite el ID de recurso final y agrega :mutate:

https://googleads.googleapis.com/v11/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 create, update o remove. Estas son las únicas operaciones de mutación posibles.

POST /v11/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. En la guía sobre límites del sistema, se documentan las limitaciones de los tamaños de las solicitudes.

Las operaciones dentro de una sola solicitud a la API se ejecutan como un conjunto de acciones de forma predeterminada, lo que significa que todas se ejecutan juntas de forma correcta o falla el lote completo si falla una sola operación. Algunos servicios admiten un atributo partialFailure para cambiar este comportamiento. Consulta Cómo mutar recursos a fin de 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 una representación de JSON completa del recurso que deseas crear.

POST /v11/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 debes especificar los campos que deseas modificar.

Para especificar los campos que deseas actualizar, configura el atributo updateMask con una lista de nombres de campos separados por comas. Esto es particularmente útil si ya tienes una representación JSON completa de un objeto (por ejemplo, como lo muestra una llamada a la API anterior), pero solo deseas cambiar algunos campos. En lugar de reducir el objeto JSON, puedes enumerar los nombres de campo que se modificarán en updateMask y enviar el objeto JSON completo.

En el siguiente ejemplo, se cambian los valores name y status de una campaña existente que tiene el elemento resourceName dado.

POST /v11/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 de un objeto se borran de manera efectiva y se configura su estado de Google Ads como REMOVED. Solo se debe quitar el resourceName.

POST /v11/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"
    }
  ]
}