Paginação
A LSA é compatível com a paginação para acomodar solicitações de um snapshot grande em várias
buscas de página (pulls). O Google vai extrair um determinado endpoint do parceiro com um parâmetro
maxresults
para limitar a quantidade máxima de serviceProviders retornados na
resposta JSON. Os parceiros preencherão um token de paginação no campo metadata.pagination.nextTokenParam
na resposta JSON. O valor desse token é específico ao parceiro e é usado para construir o URL da próxima página. O
campo nextTokenParam
não pode ser preenchido para a última página. O objeto metadata.pagination
precisa ser sempre preenchido (conforme necessá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 de feed de avaliações) em todas as páginas.
Por exemplo, se um parceiro tiver 200 provedores no resumo completo. Quando o Google inicia a transferência dos feeds com o URL http://www.partners.com/feeds/{version}/profile&maxresults=100
, a primeira página precisa retornar os primeiros 100 provedores de parceiros com a seguinte metaData
:
"metaData": {
"feedCategory":"SNAPSHOT",
"feedTimestampMicros":1532930955190163,
"apiVersion": "v1",
"pagination": {
"nextTokenParam": "yre7yiesar"
},
"totalCount":200
}
"serviceProviders": {....} // Contains 100 service provider objects.
O Google 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 retornará os últimos 100 provedores. Como a segunda
página também é a última, nextTokenParam
não será preenchido (metaData
exemplo 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
busca de primeira página.