Para lidar com conjuntos de resultados que contêm um grande número de linhas, a linguagem de consulta do Merchant Center é compatível com a paginação. Dois parâmetros estão disponíveis para
controlar a paginação no corpo da solicitação
reports.search
:
page_size
e page_token
, além de um campo de saída no corpo da
resposta:
next_page_token
.
O parâmetro page_size
especifica o número máximo de linhas a serem recuperadas em uma
única solicitação. Se não for especificado, ele será definido automaticamente como o tamanho máximo de 1.000 linhas.
O parâmetro page_token
especifica o token da página a ser retornada. Se
não for especificado, a primeira página vai ser retornada. Para recuperar uma página subsequente, o
valor recebido como next_page_token
da chamada reports.search
anterior
precisa ser fornecido como um page_token
. Quando um page_token
é fornecido, todos os outros
parâmetros na chamada precisam corresponder à chamada anterior que retornou o
page_token
para evitar um comportamento inesperado.
Exemplo:
SELECT
segments.offer_id,
metrics.impressions,
metrics.clicks,
metrics.ctr
FROM MerchantPerformanceView
WHERE segments.date BETWEEN '2021-12-01' AND '2021-12-31'
Nessa consulta, suponha que a conta tenha 100.000 offer_ids
e que page_size
esteja definido como 200. O conjunto de resultados conterá 200 objetos ReportRow
na primeira resposta, junto com um next_page_token
.
Para recuperar as próximas 200 linhas, envie a solicitação novamente com o mesmo tamanho de página,
mas atualize o page_token
da solicitação para o next_page_token
da resposta anterior.
Veja um exemplo de corpo de resposta (os cinco primeiros resultados mais o
next_page_token
):
{
"results": [
{
"segments": {
"offerId": "12345"
},
"metrics": {
"clicks": "0",
"impressions": "59",
"ctr": 0
}
},
{
"segments": {
"offerId": "12346"
},
"metrics": {
"clicks": "9625",
"impressions": "276695",
"ctr": 0.034785594246372356
}
},
{
"segments": {
"offerId": "12347"
},
"metrics": {
"clicks": "148",
"impressions": "22045",
"ctr": 0.0067135404853708325
}
},
{
"segments": {
"offerId": "12348"
},
"metrics": {
"clicks": "11",
"impressions": "1100",
"ctr": 0.01
}
},
{
"segments": {
"offerId": "12349"
},
"metrics": {
"clicks": "569",
"impressions": "62977",
"ctr": 0.0090350445400701838
}
},
...
],
"nextPageToken": "CMgB"
}