Paginação
O LSA oferece suporte à paginação para acomodar solicitações de um grande snapshot em várias buscas (extrações) de páginas. O Google vai extrair um determinado endpoint de parceiro com um parâmetro
maxresults
para limitar a quantidade máxima de serviceProviders retornados na
resposta JSON. Os parceiros vão preencher um token de paginação no campo
metadata.pagination.nextTokenParam
na resposta JSON. O valor desse token é específico do parceiro e é usado para construir o URL da próxima página. O campo nextTokenParam
não pode ser preenchido na última página. O objeto metadata.pagination
precisa estar sempre preenchido (já que é obrigatório no esquema), mesmo que a última página não tenha um campo nextTokenParam
.
Além disso, totalCount
indica o número total de provedores de serviços (ou reviewItems
no caso do feed de avaliações) em todas as páginas.
Por exemplo, se um parceiro tiver 200 provedores no snapshot completo. Quando o Google iniciar a transferência de feeds com o URL http://www.partners.com/feeds/{version}/profile&maxresults=100
, a primeira página vai retornar os primeiros 100 provedores parceiros com o seguinte metaData
:
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190163,
"apiVersion": "v1",
"pagination": {
"nextTokenParam": "yre7yiesar"
},
"totalCount":200
}
"serviceProviders": {....} // Contains 100 service provider objects.
O Google vai analisar nextTokenParam: "yre7yiesar"
e iniciar a segunda transferência com o URL:
http:partners.com/feeds/{version}/profile&nextpagetoken=yre7yiesar&maxresults=100
A segunda página deve retornar os últimos 100 provedores. Como a segunda página também é a última, nextTokenParam
não será preenchido (exemplo metaData
abaixo), indicando o fim da paginação.
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190164,
"apiVersion": "v1",
"pagination": {},
"totalCount":200
}
"serviceProviders": {....}
Depois de buscar todas as páginas, o número total de objetos serviceProviders
(em todas as páginas) precisa ser igual ao totalCount
indicado na primeira busca de página.