Convenciones
Lo que se describe acá aplica a todos los endpoints, salvo que el endpoint indique otra cosa.
URL y versionado
Sección titulada «URL y versionado»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.
Autenticación
Sección titulada «Autenticación»Todas las llamadas llevan el token obtenido según Autenticación:
Authorization: Bearer eyJz93a...k4laUWwMétodos y parámetros
Sección titulada «Métodos y parámetros»- Lectura:
GETcon los parámetros en la query string (?fechadesde=2025-01-01&pagesize=100). - Escritura:
POSTcon 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-31o2025-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:59o 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.
Paginación
Sección titulada «Paginación»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ódigos de respuesta HTTP
Sección titulada «Códigos de respuesta HTTP»| 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"}Respuesta de los endpoints de escritura
Sección titulada «Respuesta de los endpoints de escritura»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. |