Ir al contenido

API REST

La API REST cubre el CRUD de todas las entidades del ERP. Para operaciones transaccionales multi-documento existe FactuAPI.

http://localhost:3000/api
  1. Haz login para obtener el JWT:

    Ventana de terminal
    curl -X POST http://localhost:3000/api/auth/login \
    -H "Content-Type: application/json" \
    -d '{"email":"admin@keirost.es","password":"admin123"}'
  2. Usa el token y el tenant en todas las peticiones:

    Authorization: Bearer <token>
    x-tenant-id: <tenantId>
  3. Para cambiar de empresa sin re-login: POST /api/auth/switch-tenant.

Detalles de roles y sesión en Autenticación.

  • Cuerpo y respuestas en JSON (Content-Type: application/json).
  • IDs de entidades en formato UUID.
  • Algunos listados aceptan parámetros de paginación y filtro por query string (por ejemplo ?page=1&limit=50 en Auditoría o ?limit=10&offset=0 en Notificaciones); consulta la página de cada recurso.
  • Los documentos usan estados de una letra (D borrador, O abierto/asentado, P parcial, C cerrado, X cancelado) — ver Documentos de venta.
Ventana de terminal
# 1. Login
TOKEN=$(curl -s -X POST http://localhost:3000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"admin@keirost.es","password":"admin123"}' | jq -r .token)
# 2. Crear una factura de venta
curl -X POST http://localhost:3000/api/sales/invoices \
-H "Authorization: Bearer $TOKEN" \
-H "x-tenant-id: <tenantId>" \
-H "Content-Type: application/json" \
-d '{
"seriesId": "uuid-serie",
"periodId": "uuid-periodo",
"partnerId": "uuid-socio",
"date": "2026-07-23",
"lines": [
{ "itemId": "uuid-articulo", "quantity": 10, "price": 25.50, "taxGroupId": "uuid-impuesto" }
]
}'
# 3. Asentarla (borrador → asentada)
curl -X POST http://localhost:3000/api/sales/invoices/<id>/post \
-H "Authorization: Bearer $TOKEN" \
-H "x-tenant-id: <tenantId>"