Background - API1Created with Sketch.

Paginación

En la plataforma de Hotmart podemos encontrar algunas colecciones de recursos: colecciones de usuarios, de suscripciones, de productos, entre muchos otros. Estas colecciones también pueden ser llamadas listas.

La API de Hotmart posee endpoints que dan acceso a algunas de estas listas de elementos, que en algunos casos pueden volverse muy grandes.

Imagínate un endpoint que retorna todas las ventas del año anterior, por ejemplo. Mucha cosa, ¿no?

Pensando en mejorar la experiencia, usamos una estructura de paginación, utilizando el abordaje de cursor pagination.

Parámetros de la solicitud

  • max_resultsinteger

    El número máximo de elementos por página que pueden ser retornados.

  • page_tokenstring

    El cursor usado en la paginación. Este es una referencia para la parte a la que quieras ir en la lista.

    Por ejemplo, haces una solicitud que te retorna 50 elementos, pero el total de ellos es de 95. Añadiendo el query param page_token con el valor del atributo next_page_token, accederás a los 45 restantes. En una próxima solicitud, cambiando el page_token por el valor del prev_page_token, accederás nuevamente a los 50 elementos anteriores.

Retorno

  • itemsarray containing objects

    Colección de elementos tipo lista, como una lista de ventas, por ejemplo.

  • page_infoobject

    Informaciones de paginación, con los posibles siguientes datos:

    general.showParameters
Response
{
  "items": [...],
  "page_info": {
      "total_results": 30,
      "next_page_token": "eyJwYWdlIjoyLCJyb3dzIjoxMH0=",
      "prev_page_token": "eyJwYWdlIjoyLCJyb3dzIjoxMH0=",
      "results_per_page": 10
  }
}

Donde el atributo items contiene una colección de elementos de tipo lista, como lista de ventas, por ejemplo.

isPageUseful.question