Mapeamentos JSON

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

Em geral, todas as mensagens de nível superior de e para serviços são objetos JSON únicos. 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 no JSON. Uma ressalva importante a essa regra é ao usar search ou searchStream para enviar consultas da Linguagem de consulta do Search Ads 360. A própria linguagem de consulta usa o Snake-case, independentemente da interface que você usar. No entanto, os resultados de uma consulta em REST são retornados como objetos JSON normais e têm os respectivos identificadores em lowerCamelCase.

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

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_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 camelCase adGroupCriterion:

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