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¶
Yanıt:
{
"data": {
"accessToken": "eyJhbGciOiJIUzI1NiIs...",
"refreshToken": "dGhpcyBpcyBhIH...",
"expiresIn": 3600
},
"isSuccess": true
}
Token kullanma¶
Token'ı Authorization başlığına ekleyin:
Token yenileme¶
POST /api/v1/auth/refresh
Content-Type: application/json
{
"accessToken": "eyJhbGciOiJI...",
"refreshToken": "dGhpcyBpcyBh..."
}
API Formatı¶
Tüm yanıtlar şu şemaya uyar:
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