Paginación para descarga de facturas

Obtener la cantidad de facturas a descargar, te recomiendo especificar id_credential y el periodo, puedes añadir también el tipo de comprobante en caso de que sólo quieras descargar emitidas o recibidas

curl "https://sync.paybook.com/v1/transactions/count?id_credential={ID_CREDENTIAL}&id_account={ID_ACCOUNT}&keywords=emitidas&dt_transaction_from={DT_FROM}&dt_transaction_to={DT_TO}" \
-H "Authorization: Bearer {{TOKEN}}" \
-H "Content-Type: application/json" 

dt_transaction_from,dt_transaction_to
Es la fecha inicial y final de tu periodo en UNIX Time, todas las facturas se almacenan en UTC por lo tanto tú deberás calcular el offset, por ejemplo para la Ciudad de México debes sumarle 6 horas a tu periodo.
Así, si tu periodo de búsqueda es el mes de Agosto del 2017:
Fecha de Inicio : 2017-08-01T06:00:00 -> 1501567200
Fecha de Fin : 2017-09-01T06:00:00 -> 1504245600

Si el número que obtuviste es mayor a 5,000 será necesario que descargues tus facturas con un proceso de paginación, para este proceso utilizarás los mismos parámetros y valores de la consultar anterior y sólo añadirás dos nuevos parámetros skip/limit

skip
Es el número del elemento a partir del cuál obtendrás las facturas, inicia en cero.

limit
Determina el tamaño de tu página, puede ser como máximo 5,000

El número que obtuviste en la consulta anterior te ayudará a calcular la cantidad de páginas a descargar

Por ejemplo
count : 122,738
limit : 5,000
páginas : count / limit = 122,738 / 5,000 = 24.5476, redondear a
25 iteraciones.

Página 1
skip : 0
limit : 5,000

Página 2
skip : 5,000
limit : 5,000

Página 3
skip : 10,000
limit : 5,000

Página 25
skip : 120,000
limit : 5,000

En cada consulta de página deberás enviarla con los siguientes parámetros

curl "https://sync.paybook.com/v1/transactions?id_credential={ID_CREDENTIAL}&id_account={ID_ACCOUNT}&keywords=emitidas&dt_transaction_from={DT_FROM}&dt_transaction_to={DT_TO}&skip={SKIP}&limit={LIMIT}" \
-H "Authorization: Bearer {{TOKEN}}" \
-H "Content-Type: application/json"
1 me gusta