Mappature JSON

Quando utilizzi l'interfaccia REST dell'API Search Ads 360 Reporting, operi con rappresentazioni JSON delle stesse risorse e degli stessi tipi definiti nei file .proto descriptor dell'API Search Ads 360 Reporting. Lo schema di codifica JSON segue lo schema di codifica canonico descritto nella sezione Mappatura JSON della Guida alle lingue del buffer di protocollo.

In generale, tutti i messaggi di primo livello da e verso i servizi sono singoli oggetti JSON. Le risposte search sono oggetti JSON contenenti un array results con il set di risultati della tua query.

Gli identificatori vengono trasformati da snake_case (nei buffer di protocollo) a lowerCamelCase in JSON. Un'avvertenza importante a questa regola è quando si utilizza search o searchStream per inviare query nel linguaggio di query di Search Ads 360. Il linguaggio di query utilizza il formato snake, indipendentemente dall'interfaccia in uso. Tuttavia, i risultati di una query in REST vengono restituiti come normali oggetti JSON e hanno i relativi identificatori in belowCamelCase.

Ad esempio, una query per recuperare un elenco di parole chiave attive in un account utilizza l'uso delle maiuscole e delle minuscole all'interno della query stessa (ad_group_criterion, non 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'"
}

Tuttavia, la risposta è una rappresentazione JSON degli oggetti (aggregati in un array JSON poiché questa richiesta utilizza searchStream) e utilizza invece l'identificatore camelCase adGroupCriterion:

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