This commit is contained in:
seb
2026-10-21 06:13:31 +02:00
parent ee0eb2820e
commit ada4d93f65
9 changed files with 286 additions and 1 deletions

View File

@@ -276,6 +276,8 @@ Generated from `@openapi` annotations in [`src/api/routes/`](../../src/api/route
| [`routes/unit/upsert.md`](routes/unit/upsert.md) | `PUT /unit` |
| [`routes/v1/category.md`](routes/v1/category.md) | `GET /v1/category` |
| [`routes/pos/client.md`](routes/pos/client.md) | `GET /v1/client` |
| [`routes/v1/customer.md`](routes/v1/customer.md) | `GET /v1/customer` |
| [`routes/v1/customergroup.md`](routes/v1/customergroup.md) | `GET /v1/customergroup` |
| [`routes/pos/init.md`](routes/pos/init.md) | `GET /v1/init` |
| [`routes/pos/pimage.md`](routes/pos/pimage.md) | `GET /v1/pimage` |
| [`routes/v1/product.md`](routes/v1/product.md) | `GET /v1/product` |

View File

@@ -1,6 +1,6 @@
# Dash API Routes Overview (All)
Overview of all 264 API endpoints across all modules.
Overview of all 266 API endpoints across all modules.
### Notation
@@ -927,6 +927,12 @@ _none_
#### POS discovery and pairing — `GET /v1/client`
- Params: `query: authCode: str, name?: str`
- Returns: `200 { authCode: str|null, authToken: str|null, certificateFingerprint: str, certificateSerialNumber: str, mandantId: str, mandantName: str|null, mandantDatabase: str|null, serverFingerprint: str|null, name: str|null, serverTimestamp: str }`
#### JTL-POS customer catalog synchronization — `GET /v1/customer`
- Params: `query: lastChangedCustomer?: str, limit?: int`
- Returns: `200 { id: str, customerNumber: str, firstname: str, lastname: str, title: str, company: str, address: str, addressSupplement: str, city: str, postalCode: str, state: str, country: str, phone: str, email: str, customerGroupId: str, salutation: str, birthday: str, discount: str, taxIdNumber: str, lastChanged: str, debtorNumber: str }[]`
#### JTL-POS customer group synchronization — `GET /v1/customergroup`
- Params: `query: lastChangedCustomerGroup?: str, limit?: int`
- Returns: `200 { customerGroupId: str, name: str, standard: str, discountPercent: str, lastChanged: str }[]`
#### POS sync initialization counts — `GET /v1/init`
- Params: `query: lastChangedProduct?: int, lastChangedCategory?: int, lastChangedCustomer?: int, lastChangedCustomerGroup?: int, lastChangedCompositeProduct?: int, lastChangedDeletedEntity?: int`
- Returns: `200 { version: str, product_count: str, category_count: str, customer_count: str, customerGroup_count: str, compositeProduct_count: str, configurationGroup_count: str, configurationItem_count: str, deletedEntity_count: str, max_orderId_count: str }`

View File

@@ -0,0 +1,56 @@
# `GET /v1/customer`
Protected. Requires a valid session cookie (`credentials: 'include'`).
JTL-POS customer catalog synchronization
Returns customer list modified after lastChangedCustomer cursor for the authenticated POS register.
## Query parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `lastChangedCustomer` | no | string | Unix timestamp cursor of last customer sync |
| `limit` | no | integer | Maximum number of customers to return |
## Response `200`
Array of customer objects for JTL-POS
```json
[
{
"id": "…",
"customerNumber": "…",
"firstname": "…",
"lastname": "…",
"title": "…",
"company": "…",
"address": "…",
"addressSupplement": "…",
"city": "…",
"postalCode": "…",
"state": "…",
"country": "…",
"phone": "…",
"email": "…",
"customerGroupId": "…",
"salutation": "…",
"birthday": "…",
"discount": "…",
"taxIdNumber": "…",
"lastChanged": "…",
"debtorNumber": "…"
}
]
```
## Errors
| Status | Description |
|--------|-------------|
| 401 | Unauthorized |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._

View File

@@ -0,0 +1,40 @@
# `GET /v1/customergroup`
Protected. Requires a valid session cookie (`credentials: 'include'`).
JTL-POS customer group synchronization
Returns customer groups modified after lastChangedCustomerGroup cursor for the authenticated POS register, excluding 'Lieferanten'.
## Query parameters
| Param | Required | Type | Description |
|-------|----------|------|-------------|
| `lastChangedCustomerGroup` | no | string | Unix timestamp cursor of last customer group sync |
| `limit` | no | integer | Maximum number of customer groups to return |
## Response `200`
Array of customer group objects for JTL-POS
```json
[
{
"customerGroupId": "1",
"name": "Endkunden",
"standard": "1",
"discountPercent": "0.000000",
"lastChanged": "1721000000"
}
]
```
## Errors
| Status | Description |
|--------|-------------|
| 401 | Unauthorized |
---
_Generated from `@openapi` JSDoc. Do not edit by hand — run `npm run docs:api`._