Saltar al contenido
↑↓ navegar ↵ abrir Esc cerrar
Convenciones

Paginación y filtros

Casi todos los list endpoints aceptan los mismos tres query params y devuelven la misma forma de PagedResult<T>. Aprendes una vez e integras en todos los recursos paginados; las dos excepciones (units y payment-terms) están descritas abajo.

Resumen

La paginación es offset-based: pageNumber y pageSize. La respuesta incluye totalCount y totalPages precomputado. Filtros adicionales (isActive en clientes, proveedores y productos) están documentados en cada página de recurso si aplica. GET /api/v1/units devuelve la lista completa sin PagedResult; GET /api/v1/payment-terms extiende la forma con lastModification.

Query params

Param Tipo Default Descripción
search string — Texto de búsqueda libre. Cada recurso define los campos sobre los que matchea.
pageNumber int 1 1-indexado.
pageSize int 10 Tamaño de página. Sin máximo publicado.

Forma de respuesta

La forma PagedResult<T> es la misma en facturas, notas, compras, gastos, contactos, productos, impuestos, retenciones y monedas. totalCount es el conteo total sin filtro de paginación y totalPages ya viene calculado por la API.

paged-result.json
{
"items": [
{
"customerId": "5f0c3a8e-2b7d-4c1e-9a6f-3d8b2e1c7a40",
"legalName": "Empresa Receptora SRL",
"taxIdentification": "131000001"
}
],
"totalCount": 87,
"pageNumber": 2,
"pageSize": 50,
"totalPages": 2
}

Ejemplo

Listar la segunda página de clientes con tamaño 50, filtrando por la palabra industrial.

GET /api/v1/customers

list-customers.sh
curl "https://tuempresa.factura.com.do/api/v1/customers?pageNumber=2&pageSize=50&search=industrial" \
-H "X-Api-Key: $FACTURA_API_KEY"
list-customers.ts
const params = new URLSearchParams({
pageNumber: "2",
pageSize: "50",
search: "industrial",
});
const res = await fetch(
`https://tuempresa.factura.com.do/api/v1/customers?${params}`,
{ headers: { "X-Api-Key": process.env.FACTURA_API_KEY! } },
);
if (!res.ok) throw new Error(`factura.com.do: ${res.status}`);
const { items, totalCount, pageNumber, pageSize, totalPages } = await res.json();

Siguientes pasos

Siguiente paso

Continúa por aquí