Ana içeriğe geç
v26.3

REST API

DiKAS, 60'tan fazla alanda 500'den fazla genel uç noktaya sahip kapsamlı bir REST API sunar. Bu sayede DiKAS'ı mevcut altyapınıza entegre edebilirsiniz. (Dahili ve eski /rest/ uç noktaları, genel referansta bilinçli olarak gizlenmiştir.)

Kimlik Doğrulama

API, kimlik doğrulama için JWT Bearer Token kullanır.

Token isteme

POST /api/v1/auth/login
Content-Type: application/json

{
  "username": "admin",
  "password": "admin"
}

Yanıt:

{
  "data": {
    "accessToken": "eyJhbGciOiJIUzI1NiIs...",
    "refreshToken": "dGhpcyBpcyBhIH...",
    "expiresIn": 3600
  },
  "isSuccess": true
}

Token kullanma

Token'ı Authorization başlığına ekleyin:

GET /api/v1/articles
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

Token yenileme

POST /api/v1/auth/refresh
Content-Type: application/json

{
  "accessToken": "eyJhbGciOiJI...",
  "refreshToken": "dGhpcyBpcyBh..."
}

API Formatı

Tüm yanıtlar şu şemaya uyar:

{
  "data": { ... },
  "isSuccess": true,
  "message": null,
  "errors": null
}

Hatalarda:

{
  "data": null,
  "isSuccess": false,
  "message": "Artikel nicht gefunden",
  "errors": ["Artikel mit ID 'art_123' existiert nicht"]
}

Uç Nokta Genel Bakışı

Ürünler

Yöntem Uç Nokta Açıklama
GET /api/v1/articles Tüm ürünleri getir
GET /api/v1/articles/{id} Tek bir ürünü getir
POST /api/v1/articles Ürün oluştur
PUT /api/v1/articles/{id} Ürünü güncelle
DELETE /api/v1/articles/{id} Ürünü sil
GET /api/v1/article-groups Tüm grupları getir
POST /api/v1/article-groups Grup oluştur

Örnek: Ürün oluşturma

POST /api/v1/articles
Authorization: Bearer eyJ...
Content-Type: application/json

{
  "name": "Cola 0,3l",
  "price": 3.50,
  "taxClass": 0,
  "groupId": "artgrp_abc123"
}

Yanıt (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
}

Müşteriler

Yöntem Uç Nokta Açıklama
GET /api/v1/customers Tüm müşteriler
GET /api/v1/customers/{id} Tek bir müşteri
POST /api/v1/customers Müşteri oluştur
PUT /api/v1/customers/{id} Müşteriyi güncelle
DELETE /api/v1/customers/{id} Müşteriyi sil
POST /api/v1/customers/{id}/credit Bakiye yükle
POST /api/v1/customers/{id}/payout Bakiye öde
GET /api/v1/customers/{id}/transactions Bakiye geçmişi

Masalar

Yöntem Uç Nokta Açıklama
GET /api/v1/tables Tüm masalar
GET /api/v1/tables/{id} Tek bir masa
POST /api/v1/tables Masa oluştur
POST /api/v1/tables/{id}/gang Gang değiştir
POST /api/v1/tables/{id}/cleaned Temizlenmiş olarak işaretle

Siparişler ve Ödemeler

Yöntem Uç Nokta Açıklama
POST /api/v1/open-bons Sipariş ver
POST /api/v1/open-bons/batch Birden fazla sipariş
POST /api/v1/payments/direct-sale Doğrudan satış
POST /api/v1/payments/table Masa ödemesi
GET /api/v1/receipts Fişleri getir
POST /api/v1/receipts/{id}/void Fişi iptal et

Personel

Yöntem Uç Nokta Açıklama
GET /api/v1/staff Tüm çalışanlar
POST /api/v1/staff Çalışan oluştur
POST /api/v1/staff/switch Garson değişimi

Gün Sonu Raporu

Yöntem Uç Nokta Açıklama
POST /api/v1/day-close Gün sonu raporu oluştur
GET /api/v1/day-close Tüm gün sonu raporları
GET /api/v1/day-close/{id} Tek bir gün sonu raporu

Raporlar

Yöntem Uç Nokta Açıklama
GET /api/v1/reports/revenue Ciro raporu
GET /api/v1/reports/top-articles Çok satanlar ve az satanlar
GET /api/v1/reports/wgr Ürün grupları
GET /api/v1/reports/weekly Haftalık değerlendirme

Diğer Uç Noktalar

Alan Önek Uç Noktalar
Hediye çekleri /api/v1/vouchers CRUD, Kullanım
Banka işlemleri /api/v1/bank-transfers CRUD, İçe aktarma
FinTS /api/v1/fints Çağrı, TAN
DATEV /api/v1/datev Dışa aktarma, Gönderme
Faturalar /api/v1/invoices CRUD, PDF
Abonelikler /api/v1/subscriptions CRUD, Faturalandırma
İhtarlar /api/v1/dunning Oluşturma, Gönderme
Giderler /api/v1/spendings CRUD, Ekler
Zaman takibi /api/v1/time-tracking Damga, Raporlar
Atölye /api/v1/work-orders CRUD, Durum
Yedekleme /api/v1/restore Yükleme
Yapılandırma /api/v1/config Okuma, Yazma

Eski API

Mevcut entegrasyonlarla uyumluluk için /rest/ altında eski uç noktalar bulunur:

Uç Nokta Açıklama
/rest/cp/add/{key}/{plu} Ürün kaydet
/rest/extern/customer/{key}/... Müşteri CRUD
/rest/extern/voucher/{key}/... Hediye çeki CRUD
/rest/online/{key}/... Online siparişler

Eski uç noktalar, JWT Token yerine API anahtarları kullanır.

SignalR (Gerçek Zamanlı)

Gerçek zamanlı güncellemeler için (Mutfak ekranı, Atölye, masa durumu):

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

565 genel uç noktayı (60 alan) ve şemaları içeren güncel API referansı İngilizce olarak sunulmaktadır:

Güncel API referansı (Swagger, İngilizce) — Arama işlevli etkileşimli dokümantasyon

Önceki çevrilmiş referans — 341 uç noktayı içerir; bir sonraki çeviri üretimine kadar yardımcı kaynak olarak korunur

Çalışan bir DiKAS örneğinde Swagger doğrudan https://<server>/swagger adresinden de erişilebilir.


Sonraki Adım

Yedekleme ve Geri Yükleme — Veri yedekleme