API Referansı¶
341 uç nokta ve 34 alan içeren çevrilmiş anlık görüntü. İngilizce güncel referans, 60 alanda 565 uç noktayı içerir. JWT Bearer Token ile kimlik doğrulama (bkz. REST API).
Genel Bakış¶
| Alan | Uç noktalar | Açıklama |
|---|---|---|
| Analytics | 5 | Analitik |
| ArticleImport | 13 | Ürün içe aktarımı |
| Articles | 15 | Ürünler ve ürün grupları |
| Auth | 6 | Giriş, Token, Refresh |
| AutoBeleg | 14 | |
| BankTransfer | 7 | |
| Banking | 50 | FinTS, hesap sorgusu, SEPA |
| CustomerGroups | 4 | Müşteri grupları |
| Customers | 16 | Müşteri ana verisi, bakiye, belgeler |
| Delivery | 18 | Teslimat servisi |
| Dunning | 3 | İhtar süreci (3 kademe) |
| Export | 6 | DSFinV-K, GDPdU |
| Geocoding | 3 | Geocoding |
| Invoice | 18 | Müşteri faturaları, PDF |
| MenuCard | 9 | Menü yönetimi |
| OpenBons | 9 | Açık siparişler (masa servisi) |
| OptionTemplates | 5 | Seçenek şablonları |
| Payments | 2 | Ödeme yapma |
| Receipts | 12 | Kasa fişleri, iptal |
| Reports | 7 | Ciro, ürün ve personel raporları |
| Reservations | 8 | Masa rezervasyonları |
| SavedTransfer | 8 | |
| SepaMandate | 7 | SEPA mandaları |
| Spendings | 9 | Giderler / nakit çıkışları |
| StockBookings | 4 | |
| StockInventory | 2 | |
| StockOrders | 5 | |
| Stocks | 5 | Depo yönetimi |
| Subscription | 7 | Abonelikler |
| Tables | 20 | Masalar, masa grupları, durum |
| TimeTracking | 8 | Zaman takibi |
| Vouchers | 9 | Hediye çekleri |
| 10 | WhatsApp entegrasyonu | |
| Workshop | 17 | Atölye iş emirleri |
Analytics¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/analytics/customer-insights |
Get customer insights analytics for a date range. |
| GET | /api/v1/analytics/disco-stats |
Get disco analytics for a date range. |
| GET | /api/v1/analytics/online-orders |
Get online orders analytics for a date range. |
| GET | /api/v1/analytics/staff-performance |
Get staff performance analytics for a date range. |
| GET | /api/v1/analytics/workshop-stats |
Get workshop analytics for a date range. |
ArticleImport¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| POST | /api/v1/article-import/ai-extract |
|
| POST | /api/v1/article-import/ai-suggest |
|
| POST | /api/v1/article-import/ai/allergens |
|
| POST | /api/v1/article-import/ai/description |
|
| POST | /api/v1/article-import/analyze |
|
| POST | /api/v1/article-import/execute |
|
| GET | /api/v1/article-import/profiles |
|
| POST | /api/v1/article-import/profiles |
|
| DELETE | /api/v1/article-import/profiles/{id} |
|
| GET | /api/v1/article-import/profiles/{id} |
|
| PUT | /api/v1/article-import/profiles/{id} |
|
| GET | /api/v1/article-import/target-fields |
|
| GET | /api/v1/article-import/template |
Request Body: POST /api/v1/article-import/profiles (CreateImportProfileRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
sourceFormat |
string? | ||
presetId |
string? | ||
csvSettings |
object | ||
excelSettings |
object | ||
columnMappings |
array[ColumnMappingDto]? | ||
valueTransforms |
array[ValueTransformDto]? | ||
defaultGroupId |
string? | ||
defaultTaxRate |
number | ||
conflictMode |
string? | ||
matchField |
string? |
Request Body: PUT /api/v1/article-import/profiles/{id} (UpdateImportProfileRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
sourceFormat |
string? | ||
presetId |
string? | ||
csvSettings |
object | ||
excelSettings |
object | ||
columnMappings |
array[ColumnMappingDto]? | ||
valueTransforms |
array[ValueTransformDto]? | ||
defaultGroupId |
string? | ||
defaultTaxRate |
number? | ||
conflictMode |
string? | ||
matchField |
string? |
Articles¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/articles |
List articles, optionally filtered by group, with paging. |
| POST | /api/v1/articles |
Create a new article. |
| GET | /api/v1/articles/barcode/{barcode} |
Look up the article that carries a given barcode (e.g. from a scanner). |
| GET | /api/v1/articles/groups |
|
| POST | /api/v1/articles/groups |
|
| DELETE | /api/v1/articles/groups/{documentId} |
|
| PUT | /api/v1/articles/groups/{documentId} |
|
| GET | /api/v1/articles/search |
|
| DELETE | /api/v1/articles/{id} |
|
| GET | /api/v1/articles/{id} |
Get a single article by its document id. |
| PUT | /api/v1/articles/{id} |
|
| PUT | /api/v1/articles/{id}/icon |
|
| POST | /api/v1/articles/{id}/images |
|
| DELETE | /api/v1/articles/{id}/images/{name} |
|
| GET | /api/v1/articles/{id}/images/{name} |
Request Body: POST /api/v1/articles/groups (CreateArticleGroupRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
groupId |
string? | ||
name |
string? | ||
shortName |
string? | ||
description |
string? | ||
color |
string? | ||
background |
string? | ||
sortOrder |
integer | ||
displayType |
integer | ||
isActive |
boolean |
Request Body: PUT /api/v1/articles/groups/{documentId} (UpdateArticleGroupRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
shortName |
string? | ||
description |
string? | ||
color |
string? | ||
background |
string? | ||
sortOrder |
integer? | ||
displayType |
integer? | ||
isActive |
boolean? | ||
printOption |
object | ||
extraPrintOptions |
array[ExtraPrintOptionDto]? | ||
extraArticleIds |
array[string]? | ||
rules |
array[ArticleRuleDto]? | ||
optionGroups |
array[ArticleOptionGroupDto]? |
Auth¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| POST | /api/v1/auth/change-password |
Change password for the currently logged-in user. |
| POST | /api/v1/auth/login |
Log in with username and password and receive JWT tokens. |
| POST | /api/v1/auth/login/card |
Authenticate with NFC/RFID card. |
| POST | /api/v1/auth/logout |
Logout and invalidate refresh token. |
| GET | /api/v1/auth/me |
Get current user information. |
| POST | /api/v1/auth/refresh |
Exchange a refresh token for a new access token. |
Request Body: POST /api/v1/auth/login (LoginRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
username |
string? | Username for authentication. | |
password |
string? | Password for authentication. |
Request Body: POST /api/v1/auth/login/card (CardLoginRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
cardId |
string? | Card ID from NFC/RFID reader. |
AutoBeleg¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/autobeleg/entries |
|
| GET | /api/v1/autobeleg/entries/{id} |
|
| PUT | /api/v1/autobeleg/entries/{id} |
|
| GET | /api/v1/autobeleg/entries/{id}/attachments/{fileName} |
|
| POST | /api/v1/autobeleg/entries/{id}/convert |
|
| POST | /api/v1/autobeleg/entries/{id}/ignore |
|
| POST | /api/v1/autobeleg/fetch |
|
| GET | /api/v1/autobeleg/rules |
|
| POST | /api/v1/autobeleg/rules |
|
| DELETE | /api/v1/autobeleg/rules/{id} |
|
| PUT | /api/v1/autobeleg/rules/{id} |
|
| POST | /api/v1/autobeleg/simulate |
|
| GET | /api/v1/autobeleg/stats |
|
| POST | /api/v1/autobeleg/test-connection |
Request Body: POST /api/v1/autobeleg/rules (CreateAutoBelegRuleRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
senderEmail |
string? | ||
senderPattern |
string? | ||
subjectPattern |
string? | ||
fixedAmount |
number? | ||
defaultAccountMode |
integer | ||
defaultAmountNormal |
number | ||
defaultAmountReduced |
number | ||
defaultAmountTaxFree |
number | ||
defaultComment |
string? | ||
expenseCategoryId |
string? | ||
imapAccountId |
string? | ||
isActive |
boolean |
Request Body: PUT /api/v1/autobeleg/rules/{id} (UpdateAutoBelegRuleRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
senderEmail |
string? | ||
senderPattern |
string? | ||
subjectPattern |
string? | ||
fixedAmount |
number? | ||
defaultAccountMode |
integer? | ||
defaultAmountNormal |
number? | ||
defaultAmountReduced |
number? | ||
defaultAmountTaxFree |
number? | ||
defaultComment |
string? | ||
expenseCategoryId |
string? | ||
imapAccountId |
string? | ||
isActive |
boolean? |
BankTransfer¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/bank-transfers |
|
| DELETE | /api/v1/bank-transfers/{id} |
|
| GET | /api/v1/bank-transfers/{id} |
|
| GET | /api/v1/bank-transfers/{id}/invoices |
|
| POST | /api/v1/bank-transfers/{id}/send-emails |
|
| GET | /api/v1/bank-transfers/{id}/sepa |
|
| POST | /api/v1/bank-transfers/{id}/submit-fints |
Request Body: POST /api/v1/bank-transfers/{id}/submit-fints (SubmitFinTsRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
bankAccountId |
string? |
Banking¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/banking/accounts |
|
| POST | /api/v1/banking/accounts |
|
| DELETE | /api/v1/banking/accounts/{id} |
|
| GET | /api/v1/banking/accounts/{id} |
|
| PUT | /api/v1/banking/accounts/{id} |
|
| GET | /api/v1/banking/aging-report |
|
| POST | /api/v1/banking/auto-match |
|
| GET | /api/v1/banking/cashflow-projection |
|
| GET | /api/v1/banking/expense-categories |
|
| POST | /api/v1/banking/expense-categories |
|
| DELETE | /api/v1/banking/expense-categories/{id} |
|
| PUT | /api/v1/banking/expense-categories/{id} |
|
| GET | /api/v1/banking/expense-summary |
|
| POST | /api/v1/banking/fints/balance |
|
| GET | /api/v1/banking/fints/bank-lookup |
|
| POST | /api/v1/banking/fints/batch-transfer |
|
| POST | /api/v1/banking/fints/direct-debit |
|
| POST | /api/v1/banking/fints/fetch |
|
| GET | /api/v1/banking/fints/protocol-log/{sessionToken} |
Returns a sanitized protocol log for a FinTS session (for diagnostic display before reporting). |
| POST | /api/v1/banking/fints/report-issue |
Reports a SEPA issue with sanitized protocol log to the DiKAS team. |
| DELETE | /api/v1/banking/fints/sessions/{id} |
|
| POST | /api/v1/banking/fints/tan |
|
| POST | /api/v1/banking/fints/transfer |
|
| POST | /api/v1/banking/fints/vop-confirm/{sessionId} |
Confirms a VoP (Verification of Payee) name mismatch and proceeds with the transfer. |
| Called when the user acknowledges a non-matching name and wants to continue. | ||
| POST | /api/v1/banking/import |
|
| GET | /api/v1/banking/invoice-search |
|
| GET | /api/v1/banking/open-items/export |
|
| GET | /api/v1/banking/overpayments |
|
| POST | /api/v1/banking/overpayments/{invoiceId}/redistribute |
|
| POST | /api/v1/banking/overpayments/{invoiceId}/refund |
|
| GET | /api/v1/banking/payment-journal |
|
| POST | /api/v1/banking/payment-reminders |
|
| POST | /api/v1/banking/recompute-hashes |
Recompute deduplication hashes for all transactions (one-time fix after hash algorithm change) |
| POST | /api/v1/banking/reconcile |
Zaman aralığındaki faturaları sıfırla ve banka hareketleriyle yeniden eşleştir |
| POST | /api/v1/banking/sepa |
|
| GET | /api/v1/banking/sessions/{id} |
|
| POST | /api/v1/banking/sessions/{id}/complete |
|
| PUT | /api/v1/banking/sessions/{id}/match |
|
| GET | /api/v1/banking/statements |
|
| POST | /api/v1/banking/statements/fetch |
|
| POST | /api/v1/banking/statements/import |
|
| DELETE | /api/v1/banking/statements/{id} |
|
| GET | /api/v1/banking/transactions |
|
| PUT | /api/v1/banking/transactions/{id}/categorize |
|
| PUT | /api/v1/banking/transactions/{id}/ignore |
|
| PUT | /api/v1/banking/transactions/{id}/match |
|
| POST | /api/v1/banking/transactions/{id}/multi-match |
|
| POST | /api/v1/banking/transactions/{id}/sepa-return |
|
| PUT | /api/v1/banking/transactions/{id}/unmatch |
|
| GET | /api/v1/banking/validate-iban |
Validates an IBAN and returns bank information (BIC, bank name) if derivable. |
Request Body: PUT /api/v1/banking/sessions/{id}/match (MatchBankEntryRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
entryIndex |
integer | ||
invoiceId |
string? | ||
customerId |
string? | ||
status |
integer |
Request Body: POST /api/v1/banking/accounts (CreateBankAccountRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
iban |
string? | ||
bic |
string? | ||
blz |
string? | ||
finTsUrl |
string? | ||
userId |
string? | ||
pin |
string? | ||
accountHolder |
string? | ||
tanMethod |
string? | ||
isDefault |
boolean |
CustomerGroups¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/customer-groups |
Get all customer groups. |
| POST | /api/v1/customer-groups |
Create a new customer group. |
| DELETE | /api/v1/customer-groups/{id} |
Delete a customer group (soft delete). |
| PUT | /api/v1/customer-groups/{id} |
Update an existing customer group. |
Request Body: POST /api/v1/customer-groups (CreateCustomerGroupRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
defaultDiscount |
number? | ||
color |
string? | ||
sortOrder |
integer | ||
isActive |
boolean |
Request Body: PUT /api/v1/customer-groups/{id} (UpdateCustomerGroupRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
defaultDiscount |
number? | ||
color |
string? | ||
sortOrder |
integer? | ||
isActive |
boolean? |
Customers¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/customers |
Get all customers. |
| POST | /api/v1/customers |
Create a new customer. |
| DELETE | /api/v1/customers/all |
Delete all customers (hard delete). |
| GET | /api/v1/customers/card/{cardId} |
Search customer by card ID. |
| DELETE | /api/v1/customers/without-receipts |
Delete all customers that have no receipts (hard delete). |
| DELETE | /api/v1/customers/{id} |
Delete a customer. |
| GET | /api/v1/customers/{id} |
Get a customer by ID. |
| PUT | /api/v1/customers/{id} |
Update an existing customer. |
| GET | /api/v1/customers/{id}/account-transactions |
Get account (balance) transactions for a customer. |
| POST | /api/v1/customers/{id}/documents |
Upload a document for a customer. Max 5MB. |
| DELETE | /api/v1/customers/{id}/documents/{name} |
Delete a customer document. |
| GET | /api/v1/customers/{id}/documents/{name} |
Download a customer document. |
| GET | /api/v1/customers/{id}/invoice-summary |
Get invoice summary for a customer (fast lookup). |
| POST | /api/v1/customers/{id}/payout |
Payout from customer AccountBalance (not BonusBalance). |
| GET | /api/v1/customers/{id}/point-transactions |
Get loyalty point transactions for a customer. |
| POST | /api/v1/customers/{id}/portal-invite |
Send a portal invitation email to a customer. |
Request Body: POST /api/v1/customers/{id}/payout (PayoutRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
amount |
number |
Delivery¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/delivery |
|
| POST | /api/v1/delivery |
|
| PUT | /api/v1/delivery/assign |
|
| GET | /api/v1/delivery/by-number/{number} |
|
| POST | /api/v1/delivery/dispatch |
|
| POST | /api/v1/delivery/optimize-route |
|
| POST | /api/v1/delivery/place |
Places a delivery/pickup order with kitchen bons (no payment). |
| POST | /api/v1/delivery/send-route |
|
| GET | /api/v1/delivery/stats |
|
| DELETE | /api/v1/delivery/{id} |
|
| GET | /api/v1/delivery/{id} |
|
| GET | /api/v1/delivery/{id}/bons |
Gets unpaid OpenBons for a delivery order. |
| POST | /api/v1/delivery/{id}/complete-payment |
|
| POST | /api/v1/delivery/{id}/load-for-edit |
Loads a delivery order with OpenBons for editing in cashpoint. |
| POST | /api/v1/delivery/{id}/pay |
|
| PUT | /api/v1/delivery/{id}/reassign-driver |
|
| PUT | /api/v1/delivery/{id}/status |
|
| POST | /api/v1/delivery/{id}/void-item |
Voids a single item from an unpaid delivery order. |
Request Body: POST /api/v1/delivery (CreateDeliveryOrderRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
orderType |
integer | ||
customerId |
string? | ||
customerName |
string? | ||
customerPhone |
string? | ||
street |
string? | ||
houseNumber |
string? | ||
zipCode |
string? | ||
city |
string? | ||
requestedTime |
string? | ||
items |
array[DeliveryOrderItemRequest]? | ||
notes |
string? | ||
source |
string? | ||
externalOrderId |
string? | ||
isPaid |
boolean | ||
paymentMethod |
string? | ||
latitude |
number? | ||
longitude |
number? |
Request Body: PUT /api/v1/delivery/{id}/status (UpdateDeliveryStatusRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
status |
integer |
Dunning¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| POST | /api/v1/dunning/execute |
|
| GET | /api/v1/dunning/preview/{customerId} |
Preview the dunning email for a specific customer. |
| POST | /api/v1/dunning/simulate |
Export¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| POST | /api/v1/export/dsfinvk |
|
| GET | /api/v1/export/dsfinvk/{sessionId} |
|
| GET | /api/v1/export/dsfinvk/{sessionId}/download |
|
| POST | /api/v1/export/gdpdu |
|
| GET | /api/v1/export/gdpdu/{sessionId} |
|
| GET | /api/v1/export/gdpdu/{sessionId}/download |
Request Body: POST /api/v1/export/gdpdu (StartExportRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
startDate |
string | ||
endDate |
string |
Request Body: POST /api/v1/export/dsfinvk (StartExportRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
startDate |
string | ||
endDate |
string |
Geocoding¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/geocoding/geocode |
|
| GET | /api/v1/geocoding/place-details |
Google Place Details abrufen (schliesst eine Autocomplete-Session ab). |
| Liefert vollstaendige Adresse mit Koordinaten. | ||
| GET | /api/v1/geocoding/search |
Invoice¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/invoices |
|
| POST | /api/v1/invoices |
|
| POST | /api/v1/invoices/bulk-close |
|
| GET | /api/v1/invoices/overview |
|
| POST | /api/v1/invoices/write-off |
|
| DELETE | /api/v1/invoices/{id} |
|
| GET | /api/v1/invoices/{id} |
|
| PUT | /api/v1/invoices/{id} |
|
| POST | /api/v1/invoices/{id}/cancel |
|
| POST | /api/v1/invoices/{id}/credit-note |
|
| POST | /api/v1/invoices/{id}/duplicate |
|
| GET | /api/v1/invoices/{id}/email-preview |
Preview the email that would be sent for this invoice. |
| POST | /api/v1/invoices/{id}/payment |
|
| GET | /api/v1/invoices/{id}/payment-journal |
|
| GET | /api/v1/invoices/{id}/pdf |
|
| POST | /api/v1/invoices/{id}/send |
|
| PUT | /api/v1/invoices/{id}/sepa-status |
|
| GET | /api/v1/invoices/{id}/xml |
Request Body: POST /api/v1/invoices (CreateInvoiceRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
customerId |
string? | ||
positions |
array[InvoicePositionRequest]? | ||
paymentTermDays |
integer | ||
isBankDebit |
boolean | ||
notes |
string? | ||
billingCompanyName |
string? | ||
billingName |
string? | ||
billingStreet |
string? | ||
billingZipCode |
string? | ||
billingCity |
string? |
Request Body: PUT /api/v1/invoices/{id} (UpdateInvoiceRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
customerId |
string? | ||
positions |
array[InvoicePositionRequest]? | ||
paymentTermDays |
integer | ||
isBankDebit |
boolean | ||
notes |
string? | ||
billingCompanyName |
string? | ||
billingName |
string? | ||
billingStreet |
string? | ||
billingZipCode |
string? | ||
billingCity |
string? |
MenuCard¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| DELETE | /api/v1/menu-card/custom-template |
|
| GET | /api/v1/menu-card/custom-template |
|
| POST | /api/v1/menu-card/custom-template |
|
| GET | /api/v1/menu-card/default-template |
|
| GET | /api/v1/menu-card/excel |
|
| GET | /api/v1/menu-card/pdf |
|
| GET | /api/v1/menu-card/settings |
|
| PUT | /api/v1/menu-card/settings |
|
| GET | /api/v1/menu-card/template |
Request Body: PUT /api/v1/menu-card/settings (UpdateMenuCardSettingsRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
restaurantName |
string? | ||
subtitle |
string? | ||
footerText |
string? | ||
showAllergens |
boolean | ||
showArticleNumbers |
boolean | ||
showDescriptions |
boolean | ||
showPrices |
boolean | ||
showGroupDescriptions |
boolean | ||
columnCount |
integer | ||
pageFormat |
string? | ||
fontSize |
integer | ||
groupIds |
array[string]? | ||
headerColor |
string? | ||
currency |
string? |
OpenBons¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/open-bons |
Get all open bons with optional filtering. |
| POST | /api/v1/open-bons |
Create a new open bon (add item to order). |
| POST | /api/v1/open-bons/batch |
Book a round of items onto a table (the main "place order" call). |
| GET | /api/v1/open-bons/kitchen |
Get open bons for kitchen display (filtered by work status and kitchen print option). |
| POST | /api/v1/open-bons/move |
Move open bon items to a different table. |
| GET | /api/v1/open-bons/table/{tableId}/summary |
Get a table's running tab: all open (unpaid) items and the current total. |
| PUT | /api/v1/open-bons/{id} |
Update an open bon item. |
| POST | /api/v1/open-bons/{id}/void |
Void/cancel an open bon item. |
| PATCH | /api/v1/open-bons/{id}/work-status |
Update the work status of an open bon (kitchen workflow). |
Request Body: POST /api/v1/open-bons (CreateOpenBonRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
bonId |
string? | Existing bon ID to add to, or null to create new. | |
tableId |
string? | Table ID for the order. | |
subTableName |
string? | Sub-table name (e.g., "Gast 1"). | |
seatNumber |
integer? | Seat number for seat-based ordering. | |
articleId |
string? | Article to order. | |
customerGroupId |
string? | Customer group for pricing. | |
price |
number? | Override price (null = use article price). | |
count |
number | Quantity to order. | |
gang |
string? | Course number. | |
extraOptions |
array[CreateOpenBonExtraOptionRequest]? | Extra options/modifiers. | |
extraDescription |
string? | Additional notes/description. |
Request Body: POST /api/v1/open-bons/batch (CreateOpenBonsBatchRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
tableId |
string? | ||
subTableName |
string? | ||
customerGroupId |
string? | ||
printerId |
string? | ||
workplaceId |
string? | ||
items |
array[BatchOpenBonItem]? |
OptionTemplates¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/option-templates |
|
| POST | /api/v1/option-templates |
|
| DELETE | /api/v1/option-templates/{id} |
|
| GET | /api/v1/option-templates/{id} |
|
| PUT | /api/v1/option-templates/{id} |
Request Body: POST /api/v1/option-templates (CreateOptionTemplateRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
isActive |
boolean | ||
sortOrder |
integer | ||
groups |
array[ArticleOptionGroupDto]? |
Request Body: PUT /api/v1/option-templates/{id} (UpdateOptionTemplateRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
isActive |
boolean? | ||
sortOrder |
integer? | ||
groups |
array[ArticleOptionGroupDto]? |
Payments¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| POST | /api/v1/payments/direct |
Ring up and pay an over-the-counter sale in one call (no table involved). |
| POST | /api/v1/payments/table |
Pay a table's open orders and close them into a receipt. |
Request Body: POST /api/v1/payments/table (ProcessTablePaymentRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
tableId |
string? | Table ID to pay. | |
openBonIds |
array[string]? | Specific open bon IDs to pay (null = pay all). | |
items |
array[PartialPaymentItemRequest]? | Partial payment items (alternative to OpenBonIds). |
Allows paying a partial quantity of an item. |
| payments | array[PaymentEntryRequest]? | | Payment entries. |
| customerId | string? | | Customer ID to link. |
| tipAmount | number | | Tip amount. |
| cashGiven | number | | Cash amount given by customer (for change calculation). |
| notes | string? | | Notes. |
| printerId | string? | | Target printer ID for auto-printing the receipt bon. |
| autoPrint | boolean | | When true, print the receipt even if no explicit PrinterId is set (uses DefaultPrinterId). |
| isBewirtungsbeleg | boolean | | When true, marks the receipt as a Bewirtungsbeleg (§4 Abs. 5 Nr. 2 EStG). |
| bewirtungTipAmount | number | | Tip amount for Bewirtungsbeleg (included in total for 70% calculation). |
Request Body: POST /api/v1/payments/direct (ProcessDirectSaleRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
items |
array[DirectSaleItemRequest]? | Items to sell. | |
payments |
array[PaymentEntryRequest]? | Payment entries. | |
customerId |
string? | Customer ID to link. | |
customerGroupId |
string? | Customer group for pricing. | |
tipAmount |
number | Tip amount. | |
cashGiven |
number | Cash amount given by customer (for change calculation). | |
notes |
string? | Notes. | |
payoutAmount |
number | Payout amount from customer account balance (0 = no payout). | |
printerId |
string? | Target printer ID for auto-printing the receipt bon. | |
autoPrint |
boolean | When true, print the receipt even if no explicit PrinterId is set (uses DefaultPrinterId). | |
workplaceId |
string? | Workplace ID for price resolution and tracking. | |
isBewirtungsbeleg |
boolean | When true, marks the receipt as a Bewirtungsbeleg (§4 Abs. 5 Nr. 2 EStG). | |
bewirtungTipAmount |
number | Tip amount for Bewirtungsbeleg (included in total for 70% calculation). |
Receipts¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/receipts |
Get all receipts with optional filtering. |
| GET | /api/v1/receipts/today |
Get today's receipts. |
| GET | /api/v1/receipts/{id} |
Get a receipt by ID. |
| POST | /api/v1/receipts/{id}/assign-customer |
Assign a customer to an existing receipt (for Bewirtungsbeleg >=250€). |
| POST | /api/v1/receipts/{id}/bewirtungsbeleg/email |
Send Bewirtungsbeleg PDF via email. |
| GET | /api/v1/receipts/{id}/bewirtungsbeleg/pdf |
Download a Bewirtungsbeleg as PDF. |
| POST | /api/v1/receipts/{id}/change-payment |
Change the payment type of a receipt. |
| POST | /api/v1/receipts/{id}/email |
Send receipt as PDF + ZUGFeRD-XML via email. |
| GET | /api/v1/receipts/{id}/pdf |
Download a receipt as PDF. |
| GET | /api/v1/receipts/{id}/print |
Get print bon for a receipt. |
| POST | /api/v1/receipts/{id}/reopen |
Reopen a receipt: voids it and re-books items as open bons. |
| POST | /api/v1/receipts/{id}/void |
Void/cancel a receipt. |
Request Body: POST /api/v1/receipts/{id}/void (VoidReceiptRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
reason |
string? | ||
terminalId |
string? |
Request Body: POST /api/v1/receipts/{id}/change-payment (ChangePaymentTypeRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
newPaymentMethod |
string? |
Reports¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/reports/article-stats |
Get article statistics (bestseller/worst seller). |
| GET | /api/v1/reports/dayclose |
Get day close history. |
| GET | /api/v1/reports/financial-overview |
Get financial overview for a year with optional comparison year. |
| GET | /api/v1/reports/hourly |
Get hourly revenue breakdown. |
| GET | /api/v1/reports/points |
Get loyalty points report. |
| GET | /api/v1/reports/revenue |
Get revenue report for a date range. |
| GET | /api/v1/reports/staff-discounts |
Get staff discount report for a date range. |
Reservations¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/reservations |
Get all reservations with optional filtering. |
| POST | /api/v1/reservations |
Create a reservation for a guest. |
| GET | /api/v1/reservations/today |
Get today's reservations. |
| GET | /api/v1/reservations/upcoming |
Get upcoming reservations (next 7 days). |
| POST | /api/v1/reservations/{id}/cancel |
Cancel a reservation. |
| POST | /api/v1/reservations/{id}/confirm |
Confirm a reservation. |
| POST | /api/v1/reservations/{id}/seat |
Mark a reservation as seated. |
| PATCH | /api/v1/reservations/{id}/status |
Update a reservation's status. |
Request Body: POST /api/v1/reservations (CreateReservationRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
guestName |
string? | Guest name. | |
guestPhone |
string? | Guest phone. | |
guestEmail |
string? | Guest email. | |
customerId |
string? | Customer ID if existing customer. | |
reservationDateTime |
string | Reservation date and time. | |
durationMinutes |
integer | Duration in minutes (default: 120). | |
guestCount |
integer | Number of guests. | |
tableId |
string? | Preferred table ID. | |
source |
string? | Source (Manual, Phone, Email, Website, Resmio, OpenTable). | |
externalReferenceId |
string? | External reference ID. | |
notes |
string? | Special requests/notes. | |
internalNotes |
string? | Internal notes. |
SavedTransfer¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/saved-transfers |
|
| POST | /api/v1/saved-transfers |
|
| DELETE | /api/v1/saved-transfers/{id} |
|
| GET | /api/v1/saved-transfers/{id} |
|
| PUT | /api/v1/saved-transfers/{id} |
|
| POST | /api/v1/saved-transfers/{id}/complete |
|
| POST | /api/v1/saved-transfers/{id}/execute |
|
| POST | /api/v1/saved-transfers/{id}/reset |
Request Body: POST /api/v1/saved-transfers (CreateSavedTransferRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
recipientName |
string? | ||
recipientIban |
string? | ||
recipientBic |
string? | ||
amount |
number | ||
purpose |
string? | ||
endToEndId |
string? | ||
bankAccountId |
string? |
Request Body: PUT /api/v1/saved-transfers/{id} (UpdateSavedTransferRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
recipientName |
string? | ||
recipientIban |
string? | ||
recipientBic |
string? | ||
amount |
number | ||
purpose |
string? | ||
endToEndId |
string? | ||
bankAccountId |
string? |
SepaMandate¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/sepa-mandates |
|
| POST | /api/v1/sepa-mandates |
|
| GET | /api/v1/sepa-mandates/sign/{token} |
|
| POST | /api/v1/sepa-mandates/sign/{token} |
|
| GET | /api/v1/sepa-mandates/{id} |
|
| POST | /api/v1/sepa-mandates/{id}/revoke |
|
| POST | /api/v1/sepa-mandates/{id}/send |
Request Body: POST /api/v1/sepa-mandates (CreateSepaMandateCommand)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
customerId |
string? | ||
debtorName |
string? | ||
debtorIban |
string? | ||
debtorBic |
string? | ||
mandateType |
integer |
Request Body: POST /api/v1/sepa-mandates/sign/{token} (SignMandateRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
signatureImageBase64 |
string? |
Spendings¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/spendings |
List spendings with optional filters. |
| POST | /api/v1/spendings |
Create a new spending entry. |
| POST | /api/v1/spendings/migrate-categories |
Migrate old SpendingTypes (OperationalConfig) to ExpenseCategories |
| and update existing spendings. | ||
| DELETE | /api/v1/spendings/{id} |
Delete a spending entry (soft delete). |
| GET | /api/v1/spendings/{id} |
Get a spending entry by ID. |
| PUT | /api/v1/spendings/{id} |
Update an existing spending entry. |
| POST | /api/v1/spendings/{id}/attachments |
Upload an attachment to a spending entry. |
| DELETE | /api/v1/spendings/{id}/attachments/{name} |
Delete an attachment from a spending entry. |
| GET | /api/v1/spendings/{id}/attachments/{name} |
Download an attachment from a spending entry. |
Request Body: POST /api/v1/spendings (CreateSpendingRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
comment |
string? | Description/comment. | |
accountType |
integer | Account type (Kontotyp). | |
accountMode |
integer | Account mode: 0=NotSet, 1=Expense, 2=Transfer, 3=Income, 4=DeferredPayment. | |
expenseCategoryId |
string? | ||
receiptDate |
string | Receipt/booking date. | |
amountNormal |
number | Gross amount at 19% tax rate. | |
amountReduced |
number | Gross amount at 7% tax rate. | |
amountTaxFree |
number | Gross amount at 0% tax rate. |
Request Body: PUT /api/v1/spendings/{id} (UpdateSpendingRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
comment |
string? | Description/comment (optional partial update). | |
accountType |
integer? | Account type (optional partial update). | |
accountMode |
integer? | Account mode (optional partial update). | |
expenseCategoryId |
string? | ||
receiptDate |
string? | Receipt/booking date (optional partial update). | |
amountNormal |
number? | Gross amount at 19% (optional partial update). | |
amountReduced |
number? | Gross amount at 7% (optional partial update). | |
amountTaxFree |
number? | Gross amount at 0% (optional partial update). |
StockBookings¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/stock-bookings |
Get open stock bookings. |
| POST | /api/v1/stock-bookings |
Create a new stock booking. |
| GET | /api/v1/stock-bookings/{id} |
Get a stock booking by ID. |
| POST | /api/v1/stock-bookings/{id}/process |
Process (execute) a stock booking, updating inventory. |
Request Body: POST /api/v1/stock-bookings (CreateStockBookingRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
items |
array[StockBookingItemRequest]? | ||
targetStock |
string? | ||
workplaceName |
string? | ||
distributorId |
string? | ||
targetPrinter |
string? |
StockInventory¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/stock-inventory |
Get inventory overview for all stocks. |
| GET | /api/v1/stock-inventory/{stockId} |
Get inventory for a specific stock. |
StockOrders¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/stock-orders |
Get open stock orders. |
| POST | /api/v1/stock-orders |
Create a new stock order. |
| GET | /api/v1/stock-orders/{id} |
Get a stock order by ID. |
| PUT | /api/v1/stock-orders/{id} |
Update an existing stock order. |
| PUT | /api/v1/stock-orders/{id}/status |
Update the status of a stock order. |
Request Body: POST /api/v1/stock-orders (CreateStockOrderRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
targetStock |
string? | ||
distributorId |
string? | ||
company |
string? | ||
name2 |
string? | ||
street |
string? | ||
city |
string? | ||
zip |
string? | ||
country |
string? | ||
email |
string? | ||
fax |
string? | ||
distCustId |
string? | ||
comment |
string? | ||
deliveryDate |
string? | ||
positions |
array[StockOrderPositionRequest]? |
Request Body: PUT /api/v1/stock-orders/{id} (UpdateStockOrderRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
targetStock |
string? | ||
company |
string? | ||
name2 |
string? | ||
street |
string? | ||
city |
string? | ||
zip |
string? | ||
country |
string? | ||
email |
string? | ||
fax |
string? | ||
distCustId |
string? | ||
comment |
string? | ||
deliveryDate |
string? | ||
positions |
array[StockOrderPositionRequest]? |
Stocks¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/stocks |
Get all stock locations. |
| POST | /api/v1/stocks |
Create a new stock location. |
| DELETE | /api/v1/stocks/{id} |
Delete a stock location (system stocks cannot be deleted). |
| GET | /api/v1/stocks/{id} |
Get a stock location by ID. |
| PUT | /api/v1/stocks/{id} |
Update an existing stock location. |
Request Body: POST /api/v1/stocks (CreateStockRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
stockType |
integer | ||
isCookingMonitor |
boolean |
Request Body: PUT /api/v1/stocks/{id} (UpdateStockRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
stockType |
integer? | ||
isCookingMonitor |
boolean? | ||
minMaxRules |
array[StockMinMaxRuleRequest]? | ||
articleOrder |
array[string]? |
Subscription¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/subscriptions |
|
| POST | /api/v1/subscriptions |
|
| POST | /api/v1/subscriptions/generate |
|
| POST | /api/v1/subscriptions/simulate |
|
| DELETE | /api/v1/subscriptions/{id} |
|
| GET | /api/v1/subscriptions/{id} |
|
| PUT | /api/v1/subscriptions/{id} |
Request Body: POST /api/v1/subscriptions (CreateSubscriptionRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
customerId |
string? | ||
name |
string? | ||
description |
string? | ||
positions |
array[InvoicePositionRequest]? | ||
interval |
integer | ||
startDate |
string | ||
endDate |
string? | ||
isBankDebit |
boolean | ||
paymentTermDays |
integer | ||
billingCompanyName |
string? | ||
billingName |
string? | ||
billingStreet |
string? | ||
billingZipCode |
string? | ||
billingCity |
string? | ||
billingCountry |
string? | ||
isNettoMode |
boolean |
Request Body: PUT /api/v1/subscriptions/{id} (UpdateSubscriptionRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
positions |
array[InvoicePositionRequest]? | ||
interval |
integer | ||
endDate |
string? | ||
isBankDebit |
boolean | ||
paymentTermDays |
integer | ||
isActive |
boolean | ||
billingCompanyName |
string? | ||
billingName |
string? | ||
billingStreet |
string? | ||
billingZipCode |
string? | ||
billingCity |
string? | ||
billingCountry |
string? | ||
isNettoMode |
boolean |
Tables¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/tables |
Get all tables. |
| POST | /api/v1/tables |
Create a new table. |
| GET | /api/v1/tables/groups |
Get all table groups. |
| POST | /api/v1/tables/groups |
Create a new table group. |
| DELETE | /api/v1/tables/groups/{id} |
Delete a table group. |
| GET | /api/v1/tables/groups/{id} |
Get a table group by ID. |
| PUT | /api/v1/tables/groups/{id} |
Update a table group. |
| POST | /api/v1/tables/guest |
Find or create a guest table by customer ID. |
| POST | /api/v1/tables/guest/by-card/{cardId} |
Find or create a guest table by NFC card ID. |
| DELETE | /api/v1/tables/{id} |
Delete a table. |
| GET | /api/v1/tables/{id} |
Get a table by ID. |
| PUT | /api/v1/tables/{id} |
Update a table. |
| POST | /api/v1/tables/{id}/cleaned |
Mark a table as cleaned (transitions from Cleaning to Free). |
| POST | /api/v1/tables/{id}/gang |
Change the gang (course) for all open bons on a table. |
| GET | /api/v1/tables/{id}/qr |
QR-Code als PNG für Tisch-Session. |
| GET | /api/v1/tables/{id}/session |
Aktive QR-Session für Tisch abfragen. |
| POST | /api/v1/tables/{id}/session |
QR-Session für Tisch generieren/regenerieren. |
| PATCH | /api/v1/tables/{id}/status |
Update a table's status. |
| POST | /api/v1/tables/{id}/viewed |
Mark a table as viewed (resets aging timer for all clients). |
| DELETE | /api/v1/tables/{id}/waiter-call |
Kellner-Ruf zurücksetzen (wenn Kellner den Tisch öffnet). |
Request Body: POST /api/v1/tables/groups (CreateTableGroupRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
description |
string? | ||
color |
string? | ||
icon |
string? | ||
sortOrder |
integer | ||
isActive |
boolean | ||
bonPrefix |
string? | ||
showPlan |
boolean | ||
useSeats |
boolean | ||
seatCount |
integer | ||
isPayOffsite |
boolean |
Request Body: POST /api/v1/tables (CreateTableRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
tableNumber |
string? | ||
name |
string? | ||
groupId |
string? | ||
seats |
integer | ||
positionX |
integer | ||
positionY |
integer | ||
width |
integer | ||
height |
integer | ||
shape |
string? | ||
color |
string? | ||
sortOrder |
integer | ||
isActive |
boolean | ||
rotation |
integer | ||
printTableId |
integer? | ||
extraBonText |
string? | ||
background |
string? | ||
isDecorative |
boolean | ||
decorationType |
string? | ||
beverageTableNr |
integer? | ||
customFields |
object? |
TimeTracking¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/time-tracking/active-workers |
Get all currently active (clocked-in) workers for supervisor dashboard. |
| GET | /api/v1/time-tracking/report |
Get time report for a date range. |
| GET | /api/v1/time-tracking/report/excel |
Export time report as Excel file. |
| DELETE | /api/v1/time-tracking/sheets/{id}/stamps/{index} |
Delete a time stamp (admin). |
| PUT | /api/v1/time-tracking/sheets/{id}/stamps/{index} |
Edit an existing time stamp (admin correction). |
| GET | /api/v1/time-tracking/sheets/{userId}/{year}/{month} |
Get a time sheet for a user/year/month (admin view). |
| POST | /api/v1/time-tracking/stamp |
Clock a worker in or out, or start/end a break. |
| GET | /api/v1/time-tracking/status/{userId} |
Get current time tracking status for a user (POS display). |
Request Body: POST /api/v1/time-tracking/stamp (RecordTimeStampRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
userId |
string? | ||
type |
integer | ||
note |
string? | ||
timestamp |
string? |
Request Body: PUT /api/v1/time-tracking/sheets/{id}/stamps/{index} (EditTimeStampRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
newTimestamp |
string? | ||
newType |
integer? | ||
newNote |
string? |
Vouchers¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/vouchers |
Get all vouchers with optional filtering. |
| POST | /api/v1/vouchers |
Create a new voucher. |
| POST | /api/v1/vouchers/batch |
Batch-create multiple vouchers with the same settings. |
| POST | /api/v1/vouchers/import |
Import a voucher with a pre-existing serial number. |
| Checks for duplicate serials and rejects if already exists. | ||
| GET | /api/v1/vouchers/search/{serial} |
Search for a voucher by serial number. |
| Supports 6-digit number (e.g. 481293), legacy V+number (e.g. V000001), or text serial. | ||
| GET | /api/v1/vouchers/{id} |
Get a voucher by ID. |
| POST | /api/v1/vouchers/{id}/close |
Manually close a voucher. |
| POST | /api/v1/vouchers/{id}/redeem |
Redeem (use) a voucher partially or fully. |
| POST | /api/v1/vouchers/{id}/topup |
Top up (recharge) a voucher. |
Request Body: POST /api/v1/vouchers (CreateVoucherRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
amount |
number | Voucher value. | |
articleId |
string? | Optional article ID linked to the voucher. | |
name |
string? | Optional voucher name/description. | |
taxClass |
integer | Tax class (0 = normal, 1 = reduced, etc.). | |
validDays |
integer? | Optional validity period in days from now. Null = unlimited. | |
serial |
string? | Optional custom serial code. If not set, an alphanumeric code is auto-generated. | |
articles |
array[VoucherArticleRequest]? | Optional articles redeemable with the voucher. |
Request Body: POST /api/v1/vouchers/{id}/redeem (RedeemVoucherRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
amount |
number | Amount to redeem from the voucher. | |
bonId |
string? | Optional receipt/bon ID for tracking. |
WhatsApp¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/whatsapp/messages |
|
| POST | /api/v1/whatsapp/send |
|
| POST | /api/v1/whatsapp/send/invoice/{invoiceId} |
|
| POST | /api/v1/whatsapp/send/work-order/{workOrderId} |
|
| GET | /api/v1/whatsapp/templates |
|
| POST | /api/v1/whatsapp/templates |
|
| DELETE | /api/v1/whatsapp/templates/{id} |
|
| GET | /api/v1/whatsapp/templates/{id} |
|
| PUT | /api/v1/whatsapp/templates/{id} |
|
| POST | /api/v1/whatsapp/test |
Request Body: POST /api/v1/whatsapp/send (SendWhatsAppRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
to |
string? | ||
templateName |
string? | ||
language |
string? | ||
parameters |
object? | ||
contextType |
integer | ||
contextId |
string? | ||
customerId |
string? |
Request Body: POST /api/v1/whatsapp/templates (CreateWhatsAppTemplateRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
name |
string? | ||
metaTemplateName |
string? | ||
language |
string? | ||
contextType |
integer | ||
parameterMappings |
array[WhatsAppParameterMappingDto]? | ||
hasDocument |
boolean | ||
isDefault |
boolean | ||
isActive |
boolean | ||
description |
string? |
Workshop¶
| Yöntem | Uç nokta | Açıklama |
|---|---|---|
| GET | /api/v1/workshop/orders |
|
| POST | /api/v1/workshop/orders |
|
| GET | /api/v1/workshop/orders/search |
|
| GET | /api/v1/workshop/orders/{id} |
|
| POST | /api/v1/workshop/orders/{id}/activities |
|
| DELETE | /api/v1/workshop/orders/{id}/activities/{index} |
|
| POST | /api/v1/workshop/orders/{id}/cancel |
|
| POST | /api/v1/workshop/orders/{id}/complete |
|
| POST | /api/v1/workshop/orders/{id}/invoice |
|
| PUT | /api/v1/workshop/orders/{id}/items |
|
| POST | /api/v1/workshop/orders/{id}/materials |
|
| DELETE | /api/v1/workshop/orders/{id}/materials/{index} |
|
| POST | /api/v1/workshop/orders/{id}/pause |
|
| POST | /api/v1/workshop/orders/{id}/print-label |
|
| POST | /api/v1/workshop/orders/{id}/reopen |
|
| POST | /api/v1/workshop/orders/{id}/resume |
|
| POST | /api/v1/workshop/orders/{id}/start |
Request Body: POST /api/v1/workshop/orders (CreateWorkOrderRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
customerId |
string? | ||
faultDescription |
string? | ||
bikeDescription |
string? | ||
frameNumber |
string? | ||
estimatedCompletionDate |
string? | ||
printLabel |
boolean | ||
printerId |
string? |
Request Body: POST /api/v1/workshop/orders/{id}/activities (AddActivityRequest)
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
description |
string? | ||
durationMinutes |
integer |