Ir al contenido

Convenciones

Lo que se describe acá aplica a todos los endpoints, salvo que el endpoint indique otra cosa.

Todas las URLs tienen esta forma:

https://<sitioweb>/data/cmd/<módulo>/api/v<N>/<endpoint>

La versión (v1, v2, …) forma parte de la URL. Cuando un endpoint tiene más de una versión, todas siguen activas: una versión nueva no reemplaza a la anterior, así que una integración existente sigue funcionando sin cambios. En la Referencia cada endpoint indica qué versiones existen, qué cambia entre ellas y cuál se recomienda.

Todas las llamadas llevan el token obtenido según Autenticación:

Authorization: Bearer eyJz93a...k4laUWw
  • Lectura: GET con los parámetros en la query string (?fechadesde=2025-01-01&pagesize=100).
  • Escritura: POST con un body JSON (Content-Type: application/json). Las claves de primer nivel del body son los parámetros del endpoint, por ejemplo "data".
  • Los nombres de parámetros no distinguen mayúsculas y minúsculas (fechaDesde = fechadesde).
  • Los parámetros de tipo lista van separados por coma en un único parámetro: ids=1,2,3. No repitas el parámetro (ids=1&ids=2): responde 400.
  • Un parámetro desconocido se ignora sin error. Si un nombre está mal escrito, el filtro simplemente no se aplica.
  • Se envían en formato ISO 8601: 2025-01-31 o 2025-01-31T18:30:00.
  • Una fecha sin hora equivale a las 00:00. En los filtros “hasta” eso excluye el resto del día: para incluirlo usá 2025-01-31T23:59:59 o el día siguiente.
  • En las respuestas las fechas vienen en la hora local del servidor, con su offset: 2024-12-11T14:42:18-03:00.

Los endpoints que devuelven listados grandes aceptan estos parámetros opcionales:

Parámetro Tipo Descripción
pagesize int Registros por página. Default y máximo: 500.
pagestoskip int Páginas a saltear. Default 0.
pagestotake int Páginas a traer en la misma llamada. Default 1, máximo 2.

Para recorrer todo el listado, empezá con pagestoskip=0 e incrementalo de a 1 hasta recibir menos de pagesize registros.

Código Significado
200 OK La solicitud se procesó. En los endpoints de escritura, 200 no garantiza que la operación se haya aplicado: revisá resultado (ver abajo).
400 Bad Request Error de validación o de ejecución: parámetro fuera de rango, formato inválido (por ejemplo un id no numérico) o regla de negocio. El body trae errorCode y message.
401 Unauthorized Falta el token, es inválido o está vencido. Pedí un token nuevo.
403 Forbidden El token es válido pero el usuario no tiene permisos para el recurso.

Ejemplo de respuesta 400:

{
"errorCode": "0",
"message": "El tamaño máximo de página es 500"
}

Los endpoints que crean o modifican datos responden 200 con esta estructura:

{
"resultado": "A",
"errores": [],
"detalle": []
}
Campo Tipo Descripción
resultado string A = Aprobado (se aplicó todo), P = Parcial (se aplicó una parte, ver detalle), R = Rechazado (no se aplicó nada).
errores array Errores generales. Cada uno es { "code": int, "msg": string }. Ver Códigos de error.
detalle depende Resultado por cada elemento enviado. Su forma depende del endpoint.