Mapeamentos JSON

Ao usar a interface REST da API Google Ads, você trabalha com representações JSON dos mesmos recursos e tipos definidos nos arquivos .proto descriptor da API. O esquema de codificação JSON segue o esquema de codificação canônico descrito na seção Mapeamento JSON do Guia de linguagem dos buffers de protocolo.

Em geral, todas as mensagens de nível superior de e para serviços são objetos JSON únicos. A maioria das solicitações de mutação contém uma matriz operations que contém muitas operações create, update ou delete. Da mesma forma, as respostas search são objetos JSON que contêm uma matriz results com o conjunto de resultados da consulta.

Os identificadores são transformados de snake_case (em buffers de protocolo) para lowerCamelCase em JSON. Uma ressalva importante para essa regra é quando você usa search ou searchStream para enviar consultas da linguagem de consulta do Google Ads. A linguagem de consulta usa maiúsculas e minúsculas, independentemente da interface que você está usando. No entanto, os resultados de uma consulta no REST são retornados como objetos JSON normais e têm os identificadores em lowerCamelCase.

Por exemplo, uma consulta para buscar uma lista de palavras-chave ativas em uma conta usa o estilo de escrita sem quebra de palavras dentro da própria consulta (ad_group_criterion, não adGroupCriterion):

POST /v19/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN
developer-token: DEVELOPER_TOKEN

{
  "query": "SELECT ad_group_criterion.keyword.text
            FROM ad_group_criterion
            WHERE ad_group_criterion.type = 'KEYWORD'
            AND ad_group_criterion.status = 'ENABLED'"
}

No entanto, a resposta é uma representação JSON dos objetos (encapsulada em uma matriz JSON, já que essa solicitação usa searchStream) e usa o identificador adGroupCriterion com o estilo camelCase:

[
  {
    "results": [
      {
        "adGroupCriterion": {
          "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
          "keyword": {
            "text": "pay per click"
          }
        }
      },
      ...
    ]
  }
]