REST API¶
DiKAS ofrece una amplia REST API con más de 340 endpoints públicos en 34 á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 completa de la API con todos los 341 endpoints públicos (34 áreas) y esquemas:
→ Referencia de la API (Swagger) — Documentación interactiva con función de búsqueda
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