Search y SearchStream

La API de Search Ads 360 Reporting tiene un mecanismo unificado de informes y recuperación de atributos que te permite crear consultas con el Lenguaje de consulta de Search Ads 360. Esto permite consultas complejas que pueden mostrar grandes cantidades de datos sobre cuentas individuales de Search Ads 360.

Puedes crear consultas con cualquiera de los métodos Search o SearchStream. Ambos métodos admiten las mismas consultas y muestran resultados equivalentes. El método Search muestra datos en tamaños de página personalizables, lo que te permite iterar sobre un conjunto de resultados mediante paginación. Esto podría ser beneficioso en condiciones de poco ancho de banda o de red poco confiables, por ejemplo, para segmentar un conjunto de resultados grande en respuestas más pequeñas que se pueden volver a recuperar si se pierde una conexión. Por otro lado, el método SearchStream vuelve a transmitir todo el conjunto de resultados en una sola respuesta, lo que puede ser más eficiente para la recuperación masiva de datos.

Search y SearchStream usan la misma URL base:

    https://searchAds360.googleapis.com/v0/customers/CUSTOMER_ID/searchAds360

El método de búsqueda basada en páginas toma un parámetro pageSize opcional que limita la cantidad de resultados que se muestran en una sola respuesta de la API.

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchAds360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

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

Si hay más filas en los resultados que pageSize, se muestra una nextPageToken en la respuesta:

{
  "results": [
    // ...
    // ...
    // ...
  ],
  "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B",
  "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status"
}

Si repites la misma consulta con un pageToken agregado con el valor anterior, se recupera la siguiente página de resultados:

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN


{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'",
"pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B"
}

Para usar el método SearchStream, que muestra todos los resultados en una sola respuesta transmitida, solo cambia el método de servicio en la URL a searchStream (SearchStream no requiere pageSize ni pageToken):

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, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}