u
This commit is contained in:
@@ -14,6 +14,10 @@ Configures the article as a Stückliste covering a list of count * article. A fa
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `items` | yes | object[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"items": [
|
||||
|
||||
@@ -14,6 +14,10 @@ Replaces all attribute values for an article. Enforces exclusive constraint (max
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `attributevalues` | yes | any[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"attributevalues": [
|
||||
|
||||
@@ -14,6 +14,12 @@ Automatically generates SKU as fatherSku-attributeValueId and assigns the varian
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `attributeValueId` | no | integer | ID of existing attribute value for the father's attribute |
|
||||
| `value` | no | string | String value to find or create under the father's attribute |
|
||||
| `name` | no | string | Optional custom variant name |
|
||||
|
||||
```json
|
||||
{
|
||||
"attributeValueId": 1,
|
||||
@@ -28,7 +34,13 @@ Created child article
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"categoryId": 1,
|
||||
"name": "…",
|
||||
"sku": "…",
|
||||
"track_stock": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -14,6 +14,11 @@ Enables or disables father article status. Enabling requires specifying an attri
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `isFather` | yes | boolean | True to make article a father, false to revert to regular article |
|
||||
| `attributeNameId` | no | integer | Required when isFather is true. The attributename id for variants. |
|
||||
|
||||
```json
|
||||
{
|
||||
"isFather": true,
|
||||
@@ -27,7 +32,13 @@ Updated article
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"categoryId": 1,
|
||||
"name": "…",
|
||||
"sku": "…",
|
||||
"track_stock": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -14,6 +14,10 @@ Configures options for an article. Some options can be mandated (come with the a
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `options` | yes | object[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"options": [
|
||||
|
||||
@@ -14,6 +14,12 @@ Prints a label for the article using a label template.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `templateId` | yes | integer | |
|
||||
| `printerId` | yes | integer | |
|
||||
| `quantity` | yes | integer | |
|
||||
|
||||
```json
|
||||
{
|
||||
"templateId": 1,
|
||||
|
||||
@@ -14,6 +14,10 @@ Replaces all properties for an article.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `properties` | yes | object[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"properties": [
|
||||
|
||||
@@ -15,6 +15,10 @@ Enables or disables inventory stock tracking for this article.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `track_stock` | yes | boolean | Whether to track inventory stock for this article |
|
||||
|
||||
```json
|
||||
{
|
||||
"track_stock": true
|
||||
@@ -31,7 +35,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -2,15 +2,21 @@
|
||||
|
||||
Protected. Requires a valid session cookie (`credentials: 'include'`).
|
||||
|
||||
Create article
|
||||
Create article in category
|
||||
|
||||
Creates an article under an authorized category (`parentId`).
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `categoryId` | yes | integer | Category ID under which to create the article |
|
||||
| `name` | yes | string | |
|
||||
| `track_stock` | no | boolean | Whether to track inventory stock (defaults to true) |
|
||||
|
||||
```json
|
||||
{
|
||||
"parentId": 10,
|
||||
"categoryId": 10,
|
||||
"name": "New article"
|
||||
}
|
||||
```
|
||||
@@ -27,7 +33,7 @@ Created
|
||||
{
|
||||
"article": {
|
||||
"id": 1,
|
||||
"parentId": 1,
|
||||
"categoryId": 1,
|
||||
"name": "…",
|
||||
"sku": "…",
|
||||
"track_stock": true
|
||||
|
||||
@@ -18,7 +18,32 @@ Article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@ Sets `articlepic.sort` to `0..n-1` in the given order.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `fullHashes` | yes | string[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"fullHashes": [
|
||||
|
||||
@@ -16,6 +16,10 @@ Pass `null` to clear the brand. Returns the same shape as GET by SKU.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `brandId` | yes | integer | |
|
||||
|
||||
```json
|
||||
{
|
||||
"brandId": 3
|
||||
@@ -32,7 +36,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ article from all categories. Returns the same shape as GET by SKU.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `categoryIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"categoryIds": [
|
||||
@@ -36,7 +40,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@ empty array clears all EANs. Returns the same shape as GET by SKU.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `eans` | yes | string[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"eans": [
|
||||
@@ -34,7 +38,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -17,6 +17,10 @@ Empty `prices` clears all POS prices. Returns the same shape as GET by SKU.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `prices` | yes | object[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"prices": [
|
||||
@@ -43,7 +47,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@ Returns the same shape as GET by SKU.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `weight` | yes | number | |
|
||||
|
||||
```json
|
||||
{
|
||||
"weight": 1.5
|
||||
@@ -32,7 +36,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -15,6 +15,17 @@ Assigns a supplier to an article with optional purchase price, stock, and suppli
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `entityId` | yes | integer | Supplier entity ID (in Lieferanten group) |
|
||||
| `sku` | no | string | Supplier's item number |
|
||||
| `pu` | no | number | Packaging unit (VPE) |
|
||||
| `stock` | no | number | Supplier stock |
|
||||
| `sort` | no | integer | Display sort order (defaults to next sort) |
|
||||
| `netPrice` | no | number | Net purchase price |
|
||||
| `taxId` | no | integer | Tax ID for purchase price |
|
||||
| `taxRate` | no | number | Tax rate in percent |
|
||||
|
||||
```json
|
||||
{
|
||||
"entityId": 88,
|
||||
|
||||
@@ -16,6 +16,10 @@ Expects an array of all assigned `articlesupplier` IDs in the desired order.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `ids` | yes | integer[] | Full list of articlesupplier ids in their new order |
|
||||
|
||||
```json
|
||||
{
|
||||
"ids": [
|
||||
|
||||
@@ -16,6 +16,16 @@ Updates an existing article-supplier association (supplier SKU, packaging unit,
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `sku` | no | string | |
|
||||
| `pu` | no | number | |
|
||||
| `stock` | no | number | |
|
||||
| `sort` | no | integer | Display sort order |
|
||||
| `netPrice` | no | number | |
|
||||
| `taxId` | no | integer | |
|
||||
| `taxRate` | no | number | |
|
||||
|
||||
```json
|
||||
{
|
||||
"sku": "MET-44910-B",
|
||||
|
||||
@@ -16,6 +16,13 @@ Patches article fields. At least one of `name`, `unitamount`, `unitSi` required.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `unitamount` | no | number | Must be finite and `> 0` |
|
||||
| `unitSi` | no | string | Existing company unit `si` |
|
||||
| `track_stock` | no | boolean | Whether to track inventory stock |
|
||||
|
||||
```json
|
||||
{
|
||||
"unitamount": 0.24,
|
||||
@@ -33,7 +40,32 @@ Updated article detail
|
||||
|
||||
```json
|
||||
{
|
||||
"article": {}
|
||||
"article": {
|
||||
"id": 1,
|
||||
"sku": "…",
|
||||
"name": "…",
|
||||
"slug": "…",
|
||||
"track_stock": true,
|
||||
"unitamount": 1,
|
||||
"weight": 1,
|
||||
"unit": {},
|
||||
"brand": {},
|
||||
"categoryIds": [
|
||||
1
|
||||
],
|
||||
"photos": [
|
||||
{}
|
||||
],
|
||||
"eans": [
|
||||
"…"
|
||||
],
|
||||
"prices": [
|
||||
{}
|
||||
],
|
||||
"suppliers": [
|
||||
{}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -8,6 +8,12 @@ Creates an attribute name for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `exclusive` | no | boolean | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
@@ -14,6 +14,11 @@ Adds a new predefined value to an attribute.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `value` | yes | string | |
|
||||
| `sort` | no | integer | |
|
||||
|
||||
```json
|
||||
{
|
||||
"value": "…",
|
||||
|
||||
@@ -14,6 +14,10 @@ Updates the display sort order of values belonging to an attribute.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `attributevalueIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"attributevalueIds": [
|
||||
|
||||
@@ -14,6 +14,12 @@ Updates name, sort, and/or exclusive flag for an attribute name.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `exclusive` | no | boolean | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
@@ -8,6 +8,10 @@ Updates the display sort order of attribute names for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `attributenameIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"attributenameIds": [
|
||||
|
||||
@@ -14,6 +14,11 @@ Updates value text and/or sort for an attribute value.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `value` | no | string | |
|
||||
| `sort` | no | integer | |
|
||||
|
||||
```json
|
||||
{
|
||||
"value": "…",
|
||||
|
||||
@@ -11,6 +11,10 @@ stores Google `sub` and profile image bytes, and sets an HTTP-only `token` cooki
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `idToken` | yes | string | Google ID token from Google Identity Services |
|
||||
|
||||
```json
|
||||
{
|
||||
"idToken": "<google-id-token>"
|
||||
|
||||
@@ -8,6 +8,10 @@ Sets the authenticated user's selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `companyId` | yes | integer | |
|
||||
|
||||
```json
|
||||
{
|
||||
"companyId": 1
|
||||
|
||||
@@ -9,6 +9,11 @@ Insert or update brand by `name` for the selected company. `gsprpinfo` optional.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
| `gsprpinfo` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Acme",
|
||||
|
||||
@@ -8,6 +8,11 @@ Creates a category under an authorized parent.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `parentId` | yes | integer | |
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"parentId": 1,
|
||||
|
||||
@@ -12,6 +12,11 @@ to its index `0..n-1` in one transaction.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `parentId` | yes | integer | Parent category under which sibling order applies |
|
||||
| `categoryIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"parentId": 1,
|
||||
|
||||
@@ -18,6 +18,11 @@ Either `name` or `parentId` (or both) is required.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `parentId` | no | integer | New parent category id |
|
||||
|
||||
```json
|
||||
{
|
||||
"parentId": 3
|
||||
|
||||
@@ -8,6 +8,13 @@ Creates a company and selects it for the current user.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `iso639` | yes | string | |
|
||||
| `name` | yes | string | |
|
||||
| `taxrate` | yes | number | |
|
||||
| `reducedtaxrate` | yes | number | |
|
||||
|
||||
```json
|
||||
{
|
||||
"iso639": "de",
|
||||
|
||||
@@ -14,6 +14,13 @@ Updates a company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `iso639` | yes | string | |
|
||||
| `name` | yes | string | |
|
||||
| `taxrate` | yes | number | |
|
||||
| `reducedtaxrate` | yes | number | |
|
||||
|
||||
```json
|
||||
{
|
||||
"iso639": "…",
|
||||
|
||||
@@ -17,6 +17,11 @@ Only a fixed allow-list of keys can be set: `ui.theme`, `keys.tavily`,
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `value` | yes | string | |
|
||||
| `frontend` | no | boolean | |
|
||||
|
||||
```json
|
||||
{
|
||||
"value": "dark",
|
||||
|
||||
@@ -11,6 +11,10 @@ are not allowed (`Name not allowed`).
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Kunden"
|
||||
|
||||
@@ -11,6 +11,10 @@ else `Invalid customer group order`.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `customergroupIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"customergroupIds": [
|
||||
|
||||
@@ -16,6 +16,10 @@ renamed (`Name cannot be changed`). Reorder via `PUT /customergroup/order`.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Stammkunden"
|
||||
|
||||
@@ -13,6 +13,14 @@ The manifest `number` is allocated automatically via
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `externalNumber` | yes | string | User-supplied reference number |
|
||||
| `date` | yes | string | |
|
||||
| `supplierId` | no | integer | |
|
||||
| `lines` | yes | DeliveryLineInput[] | |
|
||||
| `files` | no | DeliveryFileInput[] | Attached documents (pdf or txt) stored with the delivery and returned in `files` on every delivery response. Thumbnails (AVIF) are generated server-side. |
|
||||
|
||||
```json
|
||||
{
|
||||
"externalNumber": "DHL-123",
|
||||
|
||||
@@ -18,6 +18,14 @@ replaces all lines; if omitted, leaves lines unchanged.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `externalNumber` | no | string | User-supplied reference number (empty/null clears it) |
|
||||
| `date` | no | string | |
|
||||
| `supplierId` | no | integer | |
|
||||
| `lines` | no | DeliveryLineInput[] | |
|
||||
| `files` | no | DeliveryFileInput[] | Appends attachments (pdf or txt) to the delivery. Omit to leave existing files unchanged. Thumbnails (AVIF) are generated server-side. |
|
||||
|
||||
```json
|
||||
{
|
||||
"externalNumber": "DHL-124",
|
||||
|
||||
@@ -14,6 +14,17 @@ Creates an address for the entity. `addressType` is required.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `addressType` | yes | string | |
|
||||
| `firstName` | no | string | |
|
||||
| `name` | no | string | |
|
||||
| `street` | no | string | |
|
||||
| `streetNumber` | no | string | |
|
||||
| `zip` | no | string | |
|
||||
| `city` | no | string | |
|
||||
| `county` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"addressType": "billing",
|
||||
|
||||
@@ -15,6 +15,17 @@ Patches address fields that are present.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `addressType` | no | string | |
|
||||
| `firstName` | no | string | |
|
||||
| `name` | no | string | |
|
||||
| `street` | no | string | |
|
||||
| `streetNumber` | no | string | |
|
||||
| `zip` | no | string | |
|
||||
| `city` | no | string | |
|
||||
| `county` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"city": "München",
|
||||
|
||||
@@ -14,6 +14,11 @@ Creates a contact for the entity. `contactType` and `contact` are required.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `contactType` | yes | string | e.g. email, phone |
|
||||
| `contact` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"contactType": "email",
|
||||
|
||||
@@ -15,6 +15,11 @@ Patches `contactType` and/or `contact`.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `contactType` | no | string | |
|
||||
| `contact` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"contact": "anna.mueller@example.com"
|
||||
|
||||
@@ -10,6 +10,13 @@ Optional `number`: omit to allocate the next customer number (`type` entity).
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `customergroupId` | yes | integer | |
|
||||
| `name` | yes | string | |
|
||||
| `firstName` | no | string | |
|
||||
| `number` | no | string | Customer number; omit to auto-allocate |
|
||||
|
||||
```json
|
||||
{
|
||||
"customergroupId": 1,
|
||||
|
||||
@@ -17,6 +17,12 @@ Writes `entityhistory` when values change.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `firstName` | no | string | |
|
||||
| `number` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Müller",
|
||||
|
||||
@@ -11,8 +11,24 @@ and stored with the template.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
| `width` | yes | number | |
|
||||
| `height` | yes | number | |
|
||||
| `dpi` | yes | integer | |
|
||||
| `type` | yes | string | |
|
||||
| `content` | yes | object | |
|
||||
|
||||
```json
|
||||
{}
|
||||
{
|
||||
"name": "…",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"dpi": 1,
|
||||
"type": "…",
|
||||
"content": {}
|
||||
}
|
||||
```
|
||||
|
||||
## Response `201`
|
||||
@@ -21,7 +37,16 @@ Created label template
|
||||
|
||||
```json
|
||||
{
|
||||
"labeltemplate": {}
|
||||
"labeltemplate": {
|
||||
"id": 1,
|
||||
"name": "…",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"dpi": 1,
|
||||
"type": "…",
|
||||
"content": {},
|
||||
"thumb": "…"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -18,7 +18,16 @@ Label template details
|
||||
|
||||
```json
|
||||
{
|
||||
"labeltemplate": {}
|
||||
"labeltemplate": {
|
||||
"id": 1,
|
||||
"name": "…",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"dpi": 1,
|
||||
"type": "…",
|
||||
"content": {},
|
||||
"thumb": "…"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -13,7 +13,16 @@ List of label templates
|
||||
```json
|
||||
{
|
||||
"labeltemplates": [
|
||||
{}
|
||||
{
|
||||
"id": 1,
|
||||
"name": "…",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"dpi": 1,
|
||||
"type": "…",
|
||||
"content": {},
|
||||
"thumb": "…"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -16,8 +16,24 @@ When `content` (or `width`/`height`) is provided, the thumbnail is automatically
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `width` | no | number | |
|
||||
| `height` | no | number | |
|
||||
| `dpi` | no | integer | |
|
||||
| `type` | no | string | |
|
||||
| `content` | no | object | |
|
||||
|
||||
```json
|
||||
{}
|
||||
{
|
||||
"name": "…",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"dpi": 1,
|
||||
"type": "…",
|
||||
"content": {}
|
||||
}
|
||||
```
|
||||
|
||||
## Response `200`
|
||||
@@ -26,7 +42,16 @@ Updated label template
|
||||
|
||||
```json
|
||||
{
|
||||
"labeltemplate": {}
|
||||
"labeltemplate": {
|
||||
"id": 1,
|
||||
"name": "…",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"dpi": 1,
|
||||
"type": "…",
|
||||
"content": {},
|
||||
"thumb": "…"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -13,6 +13,13 @@ Requires authentication and membership in the company owning the referenced mani
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `manifestarticle_id` | yes | integer | References manifestarticle.id |
|
||||
| `transaction_type` | yes | string | Transaction identifier / type (max 100 chars) |
|
||||
| `amount` | yes | number | Movement amount |
|
||||
| `transaction_text` | yes | string | Transaction memo / details |
|
||||
|
||||
```json
|
||||
{
|
||||
"manifestarticle_id": 1,
|
||||
|
||||
@@ -19,6 +19,12 @@ unchanged.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `prefix` | no | string | |
|
||||
| `padding` | no | integer | |
|
||||
| `next` | no | integer | |
|
||||
|
||||
```json
|
||||
{
|
||||
"prefix": "A-",
|
||||
|
||||
@@ -12,6 +12,13 @@ Each line requires `sku` or `name`, `amount`, `net`, and `taxrate` (rate); `pu`
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `number` | yes | string | |
|
||||
| `date` | yes | string | Document date / expected delivery |
|
||||
| `entityId` | no | integer | Customer entity (manifest.entity_id) |
|
||||
| `lines` | yes | ManifestLineInput[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"number": "O-2026-001",
|
||||
|
||||
@@ -17,6 +17,13 @@ all lines; if omitted, leaves lines unchanged. Returns the full order.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `number` | no | string | |
|
||||
| `date` | no | string | Document date / expected delivery |
|
||||
| `entityId` | no | integer | |
|
||||
| `lines` | no | ManifestLineInput[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"number": "O-2026-001b",
|
||||
|
||||
@@ -13,7 +13,14 @@ Posterminal list
|
||||
```json
|
||||
{
|
||||
"posterminals": [
|
||||
{}
|
||||
{
|
||||
"id": 1,
|
||||
"name": "…",
|
||||
"pairingpin": "…",
|
||||
"categoryIds": [
|
||||
1
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
@@ -10,6 +10,10 @@ The pairingpin is randomly generated server-side and returned in the response.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Kassa 1"
|
||||
@@ -22,7 +26,14 @@ Created posterminal with generated pairingpin
|
||||
|
||||
```json
|
||||
{
|
||||
"posterminal": {}
|
||||
"posterminal": {
|
||||
"id": 1,
|
||||
"name": "…",
|
||||
"pairingpin": "…",
|
||||
"categoryIds": [
|
||||
1
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -14,6 +14,15 @@ Updates specified fields of an existing printer for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `address` | no | string | |
|
||||
| `type` | no | string | |
|
||||
| `model` | no | string | |
|
||||
| `serial` | no | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `desc` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"address": "…",
|
||||
|
||||
@@ -10,6 +10,15 @@ Creates a new printer for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `address` | yes | string | Printer network address or hostname |
|
||||
| `type` | yes | string | Printer type ("esc/pos" for lines, "zpl" for pages, or "ipp") |
|
||||
| `model` | no | string | |
|
||||
| `serial` | no | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `desc` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"address": "…",
|
||||
|
||||
@@ -10,6 +10,10 @@ Reorders printers for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `printerIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"printerIds": [
|
||||
|
||||
@@ -14,6 +14,15 @@ Updates specified fields of an existing printer for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `address` | no | string | |
|
||||
| `type` | no | string | |
|
||||
| `model` | no | string | |
|
||||
| `serial` | no | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `desc` | no | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"address": "…",
|
||||
|
||||
@@ -8,6 +8,12 @@ Creates a new property name for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `exclusive` | no | boolean | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
@@ -14,6 +14,12 @@ Updates name and/or sort for a property name.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `sort` | no | integer | |
|
||||
| `exclusive` | no | boolean | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
@@ -8,6 +8,10 @@ Updates the display sort order of property names for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `propertynameIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"propertynameIds": [
|
||||
|
||||
@@ -12,6 +12,13 @@ Each line requires `sku` or `name`, `amount`, `net`, and `taxrate` (rate); `pu`
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `number` | yes | string | |
|
||||
| `date` | yes | string | Document date / valid-until |
|
||||
| `entityId` | no | integer | Customer entity (manifest.entity_id) |
|
||||
| `lines` | yes | ManifestLineInput[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"number": "Q-2026-001",
|
||||
|
||||
@@ -17,6 +17,13 @@ all lines; if omitted, leaves lines unchanged. Returns the full quote.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `number` | no | string | |
|
||||
| `date` | no | string | Document date / valid-until |
|
||||
| `entityId` | no | integer | |
|
||||
| `lines` | no | ManifestLineInput[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"number": "Q-2026-001b",
|
||||
|
||||
@@ -10,6 +10,10 @@ transparent border margins, resizes to max 1000px, and returns the AVIF image.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `url` | yes | string | Absolute HTTP/HTTPS URL of the image to crawl |
|
||||
|
||||
```json
|
||||
{
|
||||
"url": "https://example.com/logo.png"
|
||||
|
||||
@@ -15,6 +15,14 @@ results via Server-Sent Events (`text/event-stream`).
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `q` | yes | string | Image search query (e.g. "Purize logo") |
|
||||
| `gl` | no | string | Country code |
|
||||
| `hl` | no | string | Language code |
|
||||
| `num` | no | integer | Number of search results to fetch |
|
||||
| `preferSource` | no | boolean | Whether to prefer downloading from the full imageUrl before falling back to Google thumbnailUrl |
|
||||
|
||||
```json
|
||||
{
|
||||
"q": "Purize logo",
|
||||
|
||||
@@ -10,6 +10,14 @@ of type "adjustment", allocating a number from the "adjustment" number scheme.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `sku` | no | string | Article SKU (for single-item adjustment) |
|
||||
| `warehouseId` | no | integer | Target warehouse ID |
|
||||
| `amount` | no | number | Signed adjustment quantity (+ to add, - to remove) |
|
||||
| `text` | no | string | Reason or memo |
|
||||
| `lines` | no | object[] | Batch adjustment lines |
|
||||
|
||||
```json
|
||||
{
|
||||
"sku": "…",
|
||||
|
||||
@@ -15,7 +15,11 @@ Includes linked article details (name, slug, photos/articlepic, eans/articleean)
|
||||
|-------|----------|------|-------------|
|
||||
| `id` | yes | integer | Supplier entity ID |
|
||||
|
||||
## Body (JSON)
|
||||
## Body (JSON) — _optional_
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `skus` | no | string[] | List of SKUs to filter by (empty array returns empty list) |
|
||||
|
||||
```json
|
||||
{
|
||||
|
||||
@@ -9,6 +9,10 @@ Creates a supplier in the company `Lieferanten` group (created on first use).
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Großhandel Müller"
|
||||
|
||||
@@ -14,6 +14,10 @@ Renames a supplier for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "Großhandel Müller GmbH"
|
||||
|
||||
@@ -10,6 +10,14 @@ Insert or update unit by `si` for the selected company. Upserts `unittext` for t
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `si` | yes | string | |
|
||||
| `basesi` | yes | string | |
|
||||
| `basesifactor` | yes | number | |
|
||||
| `symbol` | yes | string | |
|
||||
| `name` | yes | string | |
|
||||
|
||||
```json
|
||||
{
|
||||
"si": "l",
|
||||
|
||||
@@ -14,6 +14,11 @@ Updates specified fields of an existing warehouse for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `sort` | no | integer | Sort order |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
@@ -10,6 +10,11 @@ Sort order will be automatically appended if omitted.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | yes | string | |
|
||||
| `sort` | no | integer | Optional sort order (defaults to auto-increment) |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
@@ -10,6 +10,10 @@ Reorders warehouses for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `warehouseIds` | yes | integer[] | |
|
||||
|
||||
```json
|
||||
{
|
||||
"warehouseIds": [
|
||||
|
||||
@@ -14,6 +14,11 @@ Updates specified fields of an existing warehouse for the selected company.
|
||||
|
||||
## Body (JSON)
|
||||
|
||||
| Field | Required | Type | Description |
|
||||
|-------|----------|------|-------------|
|
||||
| `name` | no | string | |
|
||||
| `sort` | no | integer | Sort order |
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "…",
|
||||
|
||||
Reference in New Issue
Block a user