REST API¶
DiKAS ofrece una amplia REST API con más de 500 endpoints públicos en más de 60 áreas. Con ella puede integrar DiKAS en su infraestructura existente. (Los endpoints internos y los /rest/ heredados se ocultan deliberadamente en la referencia pública.)
Autenticación¶
La API utiliza tokens JWT Bearer para la autenticación.
Solicitar token¶
Respuesta:
{
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIH...",
"expiresIn": 3600
},
"isSuccess": true
}
Usar el token¶
Establezca el token en el encabezado Authorization:
Renovar el token¶
POST /api/v1/auth/refresh
Content-Type: application/json
{
"accessToken": "eyJhbGciOiJI...",
"refreshToken": "dGhpcyBpcyBh..."
}
Formato de la API¶
Todas las respuestas siguen el esquema:
En caso de error:
{
"data": null,
"isSuccess": false,
"message": "Artikel nicht gefunden",
"errors": ["Artikel mit ID 'art_123' existiert nicht"]
}
Resumen de endpoints¶
Artículos¶
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/api/v1/articles |
Obtener todos los artículos |
GET |
/api/v1/articles/{id} |
Obtener un solo artículo |
POST |
/api/v1/articles |
Crear artículo |
PUT |
/api/v1/articles/{id} |
Actualizar artículo |
DELETE |
/api/v1/articles/{id} |
Eliminar artículo |
GET |
/api/v1/article-groups |
Obtener todos los grupos |
POST |
/api/v1/article-groups |
Crear grupo |
Ejemplo: crear artículo
POST /api/v1/articles
Authorization: Bearer eyJ...
Content-Type: application/json
{
"name": "Cola 0,3l",
"price": 3.50,
"taxClass": 0,
"groupId": "artgrp_abc123"
}
Respuesta (201 Created):
{
"data": {
"id": "art_def456",
"name": "Cola 0,3l",
"price": 3.50,
"taxClass": 0,
"groupId": "artgrp_abc123",
"isActive": true,
"createdDate": "2026-03-05T18:30:00Z",
"changedDate": "2026-03-05T18:30:00Z"
},
"isSuccess": true
}
Clientes¶
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/api/v1/customers |
Todos los clientes |
GET |
/api/v1/customers/{id} |
Un solo cliente |
POST |
/api/v1/customers |
Crear cliente |
PUT |
/api/v1/customers/{id} |
Actualizar cliente |
DELETE |
/api/v1/customers/{id} |
Eliminar cliente |
POST |
/api/v1/customers/{id}/credit |
Recargar saldo del cliente |
POST |
/api/v1/customers/{id}/payout |
Pagar saldo del cliente |
GET |
/api/v1/customers/{id}/transactions |
Historial del saldo del cliente |
Mesas¶
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/api/v1/tables |
Todas las mesas |
GET |
/api/v1/tables/{id} |
Una sola mesa |
POST |
/api/v1/tables |
Crear mesa |
POST |
/api/v1/tables/{id}/gang |
Cambiar de tiempo / curso |
POST |
/api/v1/tables/{id}/cleaned |
Marcar como limpia |
Pedidos y pagos¶
| Método | Endpoint | Descripción |
|---|---|---|
POST |
/api/v1/open-bons |
Realizar pedido |
POST |
/api/v1/open-bons/batch |
Varios pedidos |
POST |
/api/v1/payments/direct-sale |
Venta directa |
POST |
/api/v1/payments/table |
Pago de mesa |
GET |
/api/v1/receipts |
Obtener recibos |
POST |
/api/v1/receipts/{id}/void |
Anular recibo |
Personal¶
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/api/v1/staff |
Todos los empleados |
POST |
/api/v1/staff |
Crear empleado |
POST |
/api/v1/staff/switch |
Cambio de camarero |
Cierre de caja¶
| Método | Endpoint | Descripción |
|---|---|---|
POST |
/api/v1/day-close |
Realizar cierre de caja |
GET |
/api/v1/day-close |
Todos los cierres de caja |
GET |
/api/v1/day-close/{id} |
Un solo cierre de caja |
Informes¶
| Método | Endpoint | Descripción |
|---|---|---|
GET |
/api/v1/reports/revenue |
Informe de ventas |
GET |
/api/v1/reports/top-articles |
Más y menos vendidos |
GET |
/api/v1/reports/wgr |
Grupos de mercancías |
GET |
/api/v1/reports/weekly |
Análisis semanal |
Otros endpoints¶
| Área | Prefijo | Endpoints |
|---|---|---|
| Vales / cupones | /api/v1/vouchers |
CRUD, canje |
| Banca | /api/v1/bank-transfers |
CRUD, importación |
| FinTS | /api/v1/fints |
Consulta, TAN |
| DATEV | /api/v1/datev |
Exportación, envío |
| Facturas | /api/v1/invoices |
CRUD, PDF |
| Suscripciones | /api/v1/subscriptions |
CRUD, facturación |
| Recordatorios de pago | /api/v1/dunning |
Crear, enviar |
| Gastos | /api/v1/spendings |
CRUD, adjuntos |
| Control de horario | /api/v1/time-tracking |
Fichaje, informes |
| Taller | /api/v1/work-orders |
CRUD, estado |
| Copia de seguridad | /api/v1/restore |
Subir |
| Config | /api/v1/config |
Leer, escribir |
API heredada (Legacy)¶
Para compatibilidad con integraciones existentes hay endpoints heredados bajo /rest/:
| Endpoint | Descripción |
|---|---|
/rest/cp/add/{key}/{plu} |
Registrar artículo |
/rest/extern/customer/{key}/... |
CRUD de clientes |
/rest/extern/voucher/{key}/... |
CRUD de vales |
/rest/online/{key}/... |
Pedidos en línea |
Los endpoints heredados utilizan claves de API en lugar de tokens JWT.
SignalR (tiempo real)¶
Para actualizaciones en tiempo real (Monitor de cocina, taller, estado de mesas):
const connection = new signalR.HubConnectionBuilder()
.withUrl("/hubs/dikas", {
accessTokenFactory: () => jwtToken
})
.build();
connection.on("OrderCreated", (data) => {
console.log("Neue Bestellung:", data);
});
connection.on("TableStatusChanged", (data) => {
console.log("Tisch-Status:", data);
});
await connection.start();
Swagger / OpenAPI¶
La referencia actual de la API con 565 endpoints públicos (60 áreas) y esquemas está disponible en inglés:
→ Referencia actual de la API (Swagger, inglés) — Documentación interactiva con función de búsqueda
→ Referencia traducida anterior — 341 endpoints; se conserva como ayuda hasta la próxima regeneración traducida
En una instancia de DiKAS en ejecución, Swagger también es accesible directamente en https://<server>/swagger.
Siguiente paso¶
→ Copia de seguridad y restauración — Respaldo de datos