Ana içeriğe geç
v26.3

REST API

DiKAS, 34 alanda 340'tan 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

Tüm 341 genel uç noktayı (34 alan) ve şemaları içeren eksiksiz API referansı:

API Referansı (Swagger) — Arama işlevli etkileşimli dokümantasyon

Ç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