Notta Docs

Paginación

Parámetros de orden y límite, el envelope { data, next_cursor } y cómo iterar listados grandes sin sorpresas.

Los endpoints de listado (GET /api/v1/dtes, GET /api/v1/bhe) devuelven un envelope consistente con los resultados y un cursor de continuación:

{
  "data": [
    {
      "id": "01957a91-0b50-7000-8000-000000000001",
      "folio": 1234,
      "tipo_dte": 33,
      "rut_emisor": "76123456-0",
      "rut_receptor": "11111111-1",
      "monto_total": 297500,
      "sii_status": "EPR",
      "sii_glosa": "Envio aceptado",
      "track_id": 998877665544,
      "sii_env": "prod",
      "sii_last_polled": "2026-05-13T15:02:11.000Z",
      "fecha_emision": "2026-05-13",
      "created_at": "2026-05-13T14:32:48.000Z",
      "links": { "self": "/api/v1/dtes/01957a91-..." }
    }
  ],
  "next_cursor": "eyJ2IjoxLCJzIjoiY3JlYXRlZF9hdCIsLi4ufQ"
}

Parámetros

Query paramDefaultRangoDescripción
limit201100Cantidad máxima de resultados por página
cursortoken opaconext_cursor de la página anterior
sortcreated_atfolio · monto_total · fecha_emision · sii_status · created_atColumna de orden
dirdescasc · descDirección del orden

Valores fuera de rango no fallan: limit se ajusta al rango y un sort/dir no reconocido cae al default. Un cursor mal formado sí falla, con 422: ignorarlo devolvería la primera página otra vez y un bucle de paginación no tendría cómo notar que volvió al principio.

GET /dtes acepta además filtros de estado y fecha, ver Referencia API de DTEs.

curl "https://app.notta.cl/api/v1/dtes?limit=50&sort=folio&dir=asc" \
  -H "Authorization: Bearer ntt_cert_..."

Cursor (next_cursor)

La paginación es cursor-based (keyset). Una respuesta que no agota el listado trae el token de continuación en next_cursor; lo pasas tal cual en la siguiente request como ?cursor=<token>. Iteras mientras next_cursor no sea null.

Primera página:

curl "https://app.notta.cl/api/v1/dtes?limit=100&sort=created_at&dir=desc" \
  -H "Authorization: Bearer ntt_prod_..."

Siguiente, con el token de la anterior y el mismo sort/dir:

curl "https://app.notta.cl/api/v1/dtes?limit=100&sort=created_at&dir=desc&cursor=eyJ2IjoxLCJzIjoi..." \
  -H "Authorization: Bearer ntt_prod_..."

El token es opaco: no lo construyas, no lo modifiques y no supongas nada de su contenido. Dos reglas que sí importan:

  • No cambies sort ni dir a mitad del recorrido. El cursor recuerda con qué orden se emitió; usarlo con otro devuelve 422 dte.list.cursor_invalido en vez de saltarse filas en silencio.
  • El orden es estable aunque haya empates. Dos documentos con el mismo monto o la misma fecha no se repiten ni se pierden entre páginas.

Alcance

GET /api/v1/dtes ya pagina por cursor. El resto de los listados devuelve el mismo envelope con next_cursor: null mientras se les habilita; el shape { data, next_cursor } es estable, así que el mismo bucle sirve para todos.

Próximos pasos

Última actualización

En esta página