FITALAPI

Paginación

Cursores, orden y consistencia.

Las listas devuelven data, has_more y next_cursor. Pide la siguiente página pasando cursor=<next_cursor>, con los mismos filtros.

ParámetroValor
limitDe 1 a 100. Por omisión, 25
cursorEl next_cursor de la respuesta anterior

El cursor es opaco y queda atado a tu empresa, a tu ambiente, a la ruta y a sus filtros. No lo construyas ni lo edites: cambiar un filtro exige empezar de nuevo.

Listas sin cursor

GET /v1/balances, GET /v1/wallets, GET /v1/receiving-accounts, GET /v1/collection-methods y GET /v1/webhook-endpoints devuelven sólo data.

Movimientos: un cursor que no termina

En GET /v1/movements, next_cursor puede venir con valor aunque has_more sea false. Guárdalo en cada página: la siguiente consulta con ese cursor sigue donde quedaste.

Una vuelta es recorrer la lista hasta has_more: false. Al abrirla, el cursor fija su horizonte: la hora en que empezó. Lo conserva toda la vuelta, también a la mitad y aunque tardes horas en leerla. Al terminar, next_cursor no sigue desde la última fila: abre la siguiente vuelta desde ese horizonte, con un pequeño solape. Así ves lo que cambió mientras recorrías.

  • Sólo has_more dice si sigue. Una página puede llegar corta, o vacía, con has_more: true.
  • Un mismo id puede repetirse con un estado más nuevo. Deduplica por id y quédate con la copia de updated_at más reciente. Una partial no reemplaza a una complete que ya tienes.

Ver Movimientos y recibos.

Variables de estas muestras: simulador público, sin cuenta

Define esto en tu terminal. Con estos valores las muestras corren tal cual contra el simulador público:

export FITAL_API="https://widget.fital.xyz/explorar/v1"
export FITAL_KEY="sk_test_sandbox_publica"

En la cuenta de prueba o en producción cambia la base, la llave y el secreto, y sustituye los id de ejemplo por los tuyos. Ver Ambientes.

movimientos.sh
# CURSOR vive en tu almacenamiento durable; vacío la primera vez.
CURSOR=""
curl -sS -G "$FITAL_API/movements" \
  -H "Authorization: Bearer $FITAL_KEY" \
  --data-urlencode "limit=25" \
  ${CURSOR:+--data-urlencode "cursor=$CURSOR"}

Errores comunes

  • 400 invalid_request por limit fuera de rango.
  • Reusar un cursor con otros filtros: el cursor deja de ser válido.
  • Terminar una vuelta por una página corta o vacía: sólo termina con has_more: false.

Qué sigue

Montos y fechas.

Ver esta página en Markdown

En esta página