This commit is contained in:
seb
2026-09-30 09:47:59 +02:00
parent 1de802fbaa
commit 82cc138ba6
15 changed files with 624 additions and 11 deletions

View File

@@ -8804,7 +8804,7 @@
"Category"
],
"summary": "Articles in category",
"description": "Returns articles in a category the user is authorized for.",
"description": "Returns articles in a category the user is authorized for (omits child articles of a father article). Each article includes `childCount` (the number of its child articles).",
"security": [
{
"cookieAuth": []
@@ -8834,6 +8834,62 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"sku": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"net": {
"type": "number",
"nullable": true
},
"taxRate": {
"type": "number",
"nullable": true
},
"track_stock": {
"type": "boolean"
},
"optionsCount": {
"type": "integer"
},
"articleListCount": {
"type": "integer"
},
"childCount": {
"type": "integer",
"description": "Number of child articles belonging to this article"
},
"fullHash": {
"type": "string",
"nullable": true
},
"thumbW": {
"type": "integer",
"nullable": true
},
"thumbH": {
"type": "integer",
"nullable": true
},
"thumbHash": {
"type": "string",
"nullable": true
},
"brand": {
"type": "object",
"nullable": true,
"additionalProperties": true
}
},
"additionalProperties": true
}
}
@@ -13016,7 +13072,7 @@
},
"put": {
"summary": "Set Stückliste (bundle items) for an article",
"description": "Configures the article as a Stückliste covering a list of count * article. An article that is a father or has options cannot be a Stückliste. Pass an empty array to remove the Stückliste.",
"description": "Configures the article as a Stückliste covering a list of count * article. A father article cannot be a Stückliste. Can be combined with options. Pass an empty array to remove the Stückliste.",
"tags": [
"Article"
],
@@ -13172,7 +13228,7 @@
},
"put": {
"summary": "Set options list for an article",
"description": "Configures options for an article. Some options can be mandated (come with the article in any case). An article that is a father or a Stückliste cannot have options. Pass an empty array to remove options.",
"description": "Configures options for an article. Some options can be mandated (come with the article in any case). A father article cannot have options. Can be combined with a Stückliste. Pass an empty array to remove options.",
"tags": [
"Article"
],
@@ -13520,6 +13576,164 @@
}
}
},
"/v1/init": {
"get": {
"tags": [
"POS"
],
"summary": "POS sync initialization counts",
"description": "Returns entity change counts since the provided `lastChanged*` unix timestamp cursors\nfor the authenticated POS terminal (`Authorization: Bearer <authToken>`).\n",
"x-markdown": "pos/init.md",
"parameters": [
{
"in": "header",
"name": "Authorization",
"required": true,
"schema": {
"type": "string"
},
"description": "POS device authToken obtained during pairing (`Bearer <token>` or `<token>`)",
"example": "Bearer c30099b66ec1fcb9ccd05795423c94e8"
},
{
"in": "query",
"name": "lastChangedProduct",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Unix timestamp of last synced product update",
"example": 0
},
{
"in": "query",
"name": "lastChangedCategory",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Unix timestamp of last synced category update",
"example": 0
},
{
"in": "query",
"name": "lastChangedCustomer",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Unix timestamp of last synced customer update",
"example": 0
},
{
"in": "query",
"name": "lastChangedCustomerGroup",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Unix timestamp of last synced customer group update",
"example": 0
},
{
"in": "query",
"name": "lastChangedCompositeProduct",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Unix timestamp of last synced composite product update",
"example": 0
},
{
"in": "query",
"name": "lastChangedDeletedEntity",
"required": false,
"schema": {
"type": "integer",
"default": 0
},
"description": "Unix timestamp of last synced deleted entity",
"example": 0
}
],
"responses": {
"200": {
"description": "Sync initialization counts",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"version": {
"type": "string",
"example": "1.10.12.0"
},
"product_count": {
"type": "string",
"example": "19"
},
"category_count": {
"type": "string",
"example": "4"
},
"customer_count": {
"type": "string",
"example": "0"
},
"customerGroup_count": {
"type": "string",
"example": "1"
},
"compositeProduct_count": {
"type": "string",
"example": "0"
},
"configurationGroup_count": {
"type": "string",
"example": "0"
},
"configurationItem_count": {
"type": "string",
"example": "0"
},
"deletedEntity_count": {
"type": "string",
"example": "0"
},
"max_orderId_count": {
"type": "string",
"example": "0"
}
}
}
}
}
},
"401": {
"description": "Missing or invalid POS Authorization token",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"Message": {
"type": "string",
"example": "Authorization has been denied for this request."
}
}
}
}
}
}
}
}
},
"/v1/client": {
"get": {
"tags": [