Visão geral

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.