API Referansı¶
341 uç nokta ve 34 alan içeren eksiksiz REST API. 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 |