Saltar al contenido principal

Exportaciones BETA

Endpoints para exportar datos del ERP hacia sistemas externos. A diferencia de los endpoints de lectura incremental, las exportaciones devuelven volumenes mayores en un unico request y estan pensadas para sincronizaciones batch.

Endpoints en beta

Estos endpoints estan disponibles para uso anticipado pero pueden cambiar de contrato, comportamiento o ser retirados antes de su release definitivo.


Exportar saldos de clientes

Exporta el reporte paginado de saldos vencidos de clientes, con detalle por tramo de antiguedad (15, 30, 60, 90 y mas de 90 dias). Util para sincronizar deuda de clientes hacia un sistema externo de cobranzas, BI o credit scoring.

GETBETA/integraciones/terceros/exportar/saldos/clientes

Headers

X-NX-TOKEN: tu_token
Content-Type: application/json

Query parameters

ParametroTipoRequeridoDescripcion
monedaIdnumberNoID de la moneda a filtrar. 0 o ausente devuelve todas
tbnbooleanNoSi la cuenta esta separada (solo si SepararCuentas esta habilitado)
sucursalIdnumberNoID de la sucursal a filtrar
empleadoIdnumberNoID de un empleado/vendedor especifico
empleadosIdstringNoLista de IDs de empleados separados por coma. Ej: 12,34,56
categoriasstringNoLista de IDs de categorias/tags de cliente separados por coma. Si se pasan varias, se exigen todas
searchstringNoTexto libre para buscar por nombre del cliente
pagenumberNoNumero de pagina, base 1. Default 1
pageSizenumberNoTamano de pagina. Default 25, maximo 100
orderColumnstringNoColumna para ordenar. Valores: nombre, saldo, saldo15, saldo30, saldo60, saldo90, saldo90mas. Default nombre
orderDirectionstringNoasc o desc. Default asc

Respuesta

SaldoVencidoPaginadoResult
export interface SaldoVencidoPaginadoResult {
saldos: SaldoVencidoItem[];
totalRegistros: number;
totalFiltrados: number;
saldoTotal: number;
saldo15Total: number;
saldo30Total: number;
saldo60Total: number;
saldo90Total: number;
saldo90MasTotal: number;
}

export interface SaldoVencidoItem {
entidadId: number;
nombre: string;
razonSocial?: string;
contacto?: string;
categorias?: string;
direccion?: string;
otrosDatos?: string;

saldo: number;
cantidadFacturas: number;

saldo15: number;
saldo30: number;
saldo60: number;
saldo90: number;
saldo90Mas: number;

fechaSaldo15?: string;
fechaSaldo30?: string;
fechaSaldo60?: string;
fechaSaldo90?: string;
fechaSaldo90Mas?: string;

diasSaldo15?: number;
diasSaldo30?: number;
diasSaldo60?: number;
diasSaldo90?: number;
diasSaldo90Mas?: number;

totalUltimoPago: number;
fechaUltimoPago?: string;
ultimoPago?: string;
}

Los campos saldoN y saldoNTotal representan el monto pendiente en cada tramo de antiguedad:

  • saldo15 — vencido hace menos de 15 dias
  • saldo30 — entre 15 y 30 dias
  • saldo60 — entre 30 y 60 dias
  • saldo90 — entre 60 y 90 dias
  • saldo90Mas — mas de 90 dias

La respuesta real del servidor puede incluir campos adicionales internos del ERP. Solo los campos listados forman parte del contrato estable; el resto puede cambiar sin aviso.

Rate limiting

Mismo rate limit que el resto de exportaciones de terceros: 10 minutos en produccion (3 minutos en test). El cooldown se comparte con exportar/clientes, exportar/ventaitems, exportar/stock y exportar/saldos/proveedores, por lo que solo se puede ejecutar una exportacion por tenant dentro de la ventana. La respuesta es 403 Forbidden si se llama antes de que expire.

Adicionalmente, el reporte tiene cache interno de 5 minutos por combinacion de filtros: dos requests identicos dentro de la ventana se sirven desde Redis sin volver a consultar la base.

Ejemplos

# Saldos vencidos de la primera pagina ordenados por monto descendente
curl --request GET \
--url 'https://api.test-ninox.com.ar/integraciones/terceros/exportar/saldos/clientes?pageSize=100&orderColumn=saldo&orderDirection=desc' \
--header 'X-NX-TOKEN: {TU_TOKEN}'

# Saldos vencidos de una sucursal puntual, filtrados por categoria
curl --request GET \
--url 'https://api.test-ninox.com.ar/integraciones/terceros/exportar/saldos/clientes?sucursalId=1&categorias=12,34' \
--header 'X-NX-TOKEN: {TU_TOKEN}'

Exportar saldos de proveedores

Exporta el reporte paginado de saldos vencidos de proveedores. Mismo contrato que clientes, pero con tipo = COMPRA por defecto.

GETBETA/integraciones/terceros/exportar/saldos/proveedores

Headers

X-NX-TOKEN: tu_token
Content-Type: application/json

Query parameters

ParametroTipoRequeridoDescripcion
monedaIdnumberNoID de la moneda a filtrar. 0 o ausente devuelve todas
tbnbooleanNoSi la cuenta esta separada (solo si SepararCuentas esta habilitado)
sucursalIdnumberNoID de la sucursal a filtrar
categoriasstringNoLista de IDs de categorias/tags de proveedor separados por coma
searchstringNoTexto libre para buscar por nombre del proveedor
pagenumberNoNumero de pagina, base 1. Default 1
pageSizenumberNoTamano de pagina. Default 25, maximo 100
orderColumnstringNoColumna para ordenar. Valores: nombre, saldo, saldo15, saldo30, saldo60, saldo90, saldo90mas. Default nombre
orderDirectionstringNoasc o desc. Default asc

Los parametros empleadoId y empleadosId son aceptados pero no tienen efecto sobre el reporte de proveedores.

Respuesta

Mismo contrato que exportar saldos de clientes: SaldoVencidoPaginadoResult.

Rate limiting

Mismo bucket de exportaciones de terceros: 10 minutos en produccion (3 minutos en test). El cache interno de 5 minutos por combinacion de filtros tambien aplica.

Ejemplos

# Saldos vencidos a proveedores, top 50 por monto
curl --request GET \
--url 'https://api.test-ninox.com.ar/integraciones/terceros/exportar/saldos/proveedores?pageSize=50&orderColumn=saldo&orderDirection=desc' \
--header 'X-NX-TOKEN: {TU_TOKEN}'

# Saldos vencidos a proveedores filtrados por moneda
curl --request GET \
--url 'https://api.test-ninox.com.ar/integraciones/terceros/exportar/saldos/proveedores?monedaId=1' \
--header 'X-NX-TOKEN: {TU_TOKEN}'

Ver tambien