API
Search…
POS actions
Send action to specific branch
Send action directly to a branch device and response will send to webhook. Branch device must be turned on.
Response header Response-url contains webhook URL from request body or default webhook URL.
Note that integers in responses from POS Actions are NOT sent as strings.
If you don't sent webhook in request or webhook is null. Response body contain response from default webhook URL.
Code
Value
Description
0
CODE_OK
100
CODE_OTHER
1001
REQUEST_ERROR
1002
CONFIGURATION_ERROR
Current configuration of cash register does not allow to perform requested POS action.
1003
MISSING_ACTION
Your request is missing action parameter
1004
UNKNOWN_ACTION
Requested action is unknown or no more supported
1005
DATA_FORMAT_ERROR
1006
LICENSE_ERROR
License of the Cash Register is not sufficient to perform requested POS action.
1007
EXPIRED_REQUEST
validity of request is expired
1008
USER_NOT_FOUND
user-id of request was not found in App
1999
SERVER_ERROR
2001
ORDER_LOCKED
Requested order is locked to another service/user
2002
ORDER_NOT_FOUND
Order with given id not found
2003
ORDER_PAYMENT_METHOD_NOT_FOUND
Payment method with given id not found
2004
ORDER_PAID
Order is already paid
2005
ORDER_ISSUED
Order is already issued
2006
ORDER_NOT_ISSUED
Order is not issued yet
2999
ORDER_OTHER
3001
REGISTER_CLOSED
Cash Register is closed. You need to open the cash register to be able to do any order modifications.
4001
PRODUCT_NOT_FOUND
Requested product was not found in database of Cash Register
5001
ORDER_ITEM_NOT_FOUND
The item of the selected order is not presented on the order.
5002
ORDER_ITEM_LOW_QUANTITY
Requested change cannot be performed due to low quantity of order item.
5003
ORDER_ITEM_NEGATIVE_QUANTITY
Requested change cannot be performed due to negative quantity change in request.
6001
ORDER_TRANSITION_UNKNOWN
The requested transition is not known (maybe old version of Dotypos App).
6002
ORDER_TRANSITION_DENIED
The requeste transition could not be performed.
7001
COURSE_CHANGE_NOT_ALLOWED_FOR_PRODUCT
The specified course is not allowed for the given product.
7002
COURSE_CHANGE_ITEM_ALREADY_PREPARED
Unable to change item's course because this item has already been prepared.
8001
TAKE_AWAY_NOT_ENABLED
Takeaway is disabled on POS.
8002
TAKE_AWAY_NOT_ALLOWED_FOR_PRODUCT
Takeaway is not allowed for given product (see response for details).
8003
TAKE_AWAY_NOT_ALLOWED_FOR_ORDER
Takeaway is not allowed for whole orders.
8004
TAKE_AWAY_NOT_ENABLED_FOR_ORDERS_WITH_NO_TAKEAWAY_ITEMS
Unable to set the order as takeaway because the order does not contain any items with takeaway allowed.
10001
CUSTOMIZATION_NOT_FOUND
No customization found for the given id (see response for details).
10002
CUSTOMIZATION_CATEGORY_NOT_FOUND
No customization category found for the given id (see response for details).
10003
PRODUCT_NOT_FOUND (when working with customizations)
No product found for the given id (see response for details).
10004
PRODUCT_NOT_FOUND_IN_CUSTOMIZATION
Product with given id couldn't be found in given customization (see response for details).
10005
INVALID_SELECTED_QUANTITY
The given quantity of a product is not within customization's bounds (see response for details).
Response status code is primary OK 200. For correct status use code properties in webhook response.

Basic request format

All request shares some basic parameters listed below. For better readability are those parameters are not shown in all methods.
1
{
2
"action": <string>,
3
"webhook": <string>,
4
"validity" <long> // Unix timestamp
5
}
Copied!
action string Name of action
webhook string? Webhook URL for action response
validity long? Validity of request in Unix timestamp. If the time on cash register is greater than this value, the request will not be performed with response code 1007

Hello (1.239.8+)

1
{
2
"action": "order/hello"
3
}
Copied!
Returns basic POS metadata can be used for POS liveness checks, timezone configuration, or time shift.

Response format

1
{
2
"device": <string>,
3
"timezone": <string>,
4
"version:": {
5
"id": <string>, // "com.touchpo.android"
6
"code": <long>,
7
"name": <string>,
8
},
9
"code": <int>,
10
"deviceTimestamp": <long> // Current UTC timestamp of device (in ms)
11
}
Copied!

Create order

1
{
2
"action": "order/create",
3
"customer-id": <long>, // _customerId
4
"discount-percent": <double>, // 20 = 20%
5
"table-id": <long>, // _tableId
6
"user-id": <long>, // _employeeId
7
"note": <string>,
8
"external-id": <string>,
9
"items": [...],
10
"lock": <boolean>
11
}
Copied!
customer-id long? The value corresponds to _customerId
discount-percent double? (1.238.12+) Value of discount in percent value: 20 = 20%
table-id long? The value corresponds to _tableId
user-id long? The value corresponds to _employeeId
note string? Personal note to order
external-id string? External id of the order
items item[] List of items to be added to new order
lock boolean? (1.234+) If set to true the order will be locked for 45 s for external changes

Update order

1
{
2
"action": "order/update",
3
"order-id": <long>, // _orderId
4
"customer-id": <long>, // _customerId
5
"discount-percent": <double>, // 20 = 20%
6
"note": <string>,
7
"lock": <boolean>
8
}
Copied!
customer-id long? The value corresponds to _customerId
discount-percent double? Value of discount in percent value: 20 = 20%
note string? Personal note to order
order-id long Order ID for action. The value corresponds to _orderId
lock boolean? (1.234+) If se to true the order will be locked for 45 s for external changes

Add order items

1
{
2
"action": "order/add-item",
3
"order-id": <long>, //_orderId
4
"items": [
5
{
6
"id": <long>, // _productId
7
"qty": <doble>, // quantity
8
"note": <string>,
9
"discount-percent": <double>, // 20 = 20%
10
"manual-price": <double>,
11
"manual-points": <double>,
12
"tags": <string[]>,
13
"course-id": <long> | null,
14
"customizations": [{
15
"product-customization-id": <long>, // _productCustomizationId
16
"product-id": <long> // _productId
17
}],
18
"take-away": <boolean>
19
}
20
],
21
"lock": <boolean>
22
}
Copied!
items item[] List of items to be added
order-id long Order ID for action. The value corresponds to _orderId
lock boolean? (1.234+) If set to true the order will be locked for 45 s for external changes

Item

id long Corresponds to _productId
qty double Item / product quantity
note string? Note for item / product
discount-percent double? Value of discount in percent value: 20 = 20%
manual-price double? Product price
manual-points double? Points
tags string[]? Note for item
course-id long? Id of a course. Since Dotypos 1.237
customizations customization[]? Add product with customization Dotypos 1.234+ required

Item Customization

Dotypos 1.234+ required
product-customization-id long Corresponds to _productCustomizationId
product-id long Corresponds to _productId
take-away boolean? Whether to sell this item as takeaway. Since Dotypos 1.237.

Split order (1.234)

1
{
2
"action": "order/split",
3
"order-id": <long>, // _orderId
4
"customer-id": <long>, // _customerId
5
"table-id": <long>, // _tableId
6
"note": <string>,
7
"split-items": [
8
{
9
"id": "123",
10
"qty": "12"
11
}
12
],
13
"lock": <boolean>
14
}
Copied!
order-id long Order ID of order to split. The value corresponds to _orderId
customer-id long? The value corresponds to _customerId
table-id long? The value corresponds to _tableId
note string? Personal note to order
split-items boolean? List of items to be moved to new order (id should correspond items[].id from Response schema.
lock boolean? If set to true the newly created order will be locked for 45 s for external changes

Issue order

1
{
2
"action": "order/issue",
3
"order-id": <long>, // _orderId
4
"print-config": {},
5
"print-email": <string>,
6
"print-type": <string>,
7
"take-away": <boolean>
8
}
Copied!
order-id long Order ID for action. The value corresponds to _orderId
print-config pringConfig[]? Print configuration for print type
print-email string? Email for print type
print-type string? Print type (mode)
take-away boolean? Whether to issue this order as takeaway. Since Dotypos 1.237.

Pay issued order

1
{
2
"action": "order/pay",
3
"order-id": <long>, // _orderId
4
"payment-method-id": <long> // paymentTypeId
5
}
Copied!
order-id long Order ID for action. The value corresponds to _orderId
payment-method-id long Payment method ID

Create and issue order (1.234)

1
{
2
"action": "order/create-issue",
3
"customer-id": <long>, // _customerId
4
"discount-percent": <double>, // 20 = 20%
5
"table-id": <long>, // _tableId
6
"user-id": <long>, // _employeeId
7
"note": <string>,
8
"items": [...],
9
"payment-method-id": <long>, // paymentTypeId
10
"take-away": <boolean>
11
}
Copied!
customer-id long? The value corresponds to _customerId
discount-percent double? (1.238.12+) Value of discount in percent value: 20 = 20%
table-id long? The value corresponds to _tableId
user-id long? The value corresponds to _employeeId
note string? Personal note to order
items item[] List of items to be added to new order
payment-method-id long Payment method ID
take-away boolean? Whether to issue this order as takeaway. Since Dotypos 1.237.

Create, issue and pay order (1.234)

1
{
2
"action": "order/create-issue-pay",
3
"customer-id": <long>, // _customerId
4
"discount-percent": <double>, // 20 = 20%
5
"table-id": <long>, // _tableId
6
"user-id": <long>, // _employeeId
7
"note": <string>,
8
"items": [...],
9
"payment-method-id": <long>, // paymentTypeId
10
"print-append": <string>,
11
"print-config": {},
12
"print-email": <string>,
13
"print-type": <string>,
14
"take-away": <boolean>
15
}
Copied!
customer-id long? The value corresponds to _customerId
discount-percent double? (1.238.12+) Value of discount in percent value: 20 = 20%
table-id long? The value corresponds to _tableId
user-id long? The value corresponds to _employeeId
note string? Personal note to order
items item[] List of items to be added to new order
payment-method-id long Payment method ID
print-append string? Text to be appended to printout
print-config pringConfig[]? Print configuration for print type
print-email string? Email for print type
print-type string? Print type (mode)
take-away boolean? Whether to issue this order as takeaway. Since Dotypos 1.237.

Split and issue order (1.234)

1
{
2
"action": "order/split-issue",
3
"order-id": <long>, // _orderId
4
"customer-id": <long>, // _customerId
5
"table-id": <long>, // _tableId
6
"note": <string>,
7
"split-items": [
8
{
9
"id": "123",
10
"qty": "12"
11
}
12
],
13
"print-config": {},
14
"print-email": <string>,
15
"print-type": <string>,
16
"lock": <boolean>,
17
"take-away": <boolean>
18
}
Copied!
order-id long Order ID of order to split. The value corresponds to _orderId
customer-id long? The value corresponds to _customerId
table-id long? The value corresponds to _tableId
note string? Personal note to order
split-items boolean? List of items to be moved to new order (id should correspond items[].id from Response schema.
print-config pringConfig[]? Print configuration for print type
print-email string? Email for print type
print-type string? Print type (mode)
lock boolean? If set to true the original order will be locked for 45 s for external changes
take-away boolean? Whether to issue this order as takeaway. Since Dotypos 1.237.

Split, issue and pay order (1.234)

1
{
2
"action": "order/split-issue-pay",
3
"order-id": <long>, // _orderId
4
"customer-id": <long>, // _customerId
5
"table-id": <long>, // _tableId
6
"note": <string>,
7
"split-items": [
8
{
9
"id": "123",
10
"qty": "12"
11
}
12
],
13
"print-config": {},
14
"print-email": <string>,
15
"print-type": <string>,
16
"payment-method-id": <long>, // paymentTypeId
17
"lock": <boolean>,
18
"take-away": <boolean>
19
}
Copied!
order-id long Order ID of order to split. The value corresponds to _orderId
customer-id long? The value corresponds to _customerId
table-id long? The value corresponds to _tableId
note string? Personal note to order
split-items boolean? List of items to be moved to new order (id should correspond items[].id from Response schema.
print-config pringConfig[]? Print configuration for print type
print-email string? Email for print type
print-type string? Print type (mode)
payment-method-id long Payment method ID
lock boolean? If set to true the original order will be locked for 45 s for external changes
take-away boolean? Whether to issue this order as takeaway. Since Dotypos 1.237.

Issue and pay

1
{
2
"action": "order/issue-and-pay",
3
"order-id": <long>, // _orderId
4
"payment-method-id": <long>, // paymentTypeId
5
"print-append": <string>,
6
"print-config": {},
7
"print-email": <string>,
8
"print-type": <string>,
9
"take-away": <boolean>
10
}
Copied!
order-id long Order ID for action. The value corresponds to _orderId
payment-method-id long Payment method ID
print-append string? Text to be appended to printout
print-config pringConfig[]? Print configuration for print type
print-email string? Email for print type
print-type string? Print type (mode)
take-away boolean? Whether to issue this order as takeaway. Since Dotypos 1.237.

Change order status (1.234+, WIP)

1
{
2
"action": "order/perform-status-transition",
3
"order-id": <long>, // _orderId
4
"status-transition": <string>
5
}
Copied!
This endpoint is in active development phase. List of available transitions and their limitations could be changed in any further release of Dotypos App.
order-id long Order ID for action. The value corresponds to _orderId
status-transition string Transition to be performed. Check Order Status page for list of supported transitions.

Get list of open orders (1.235+)

1
{
2
"action": "order/list",
3
"table-id": <long>
4
}
Copied!
Returns list of data in Multiple orders response format
table-id long? Table ID, list all orders if not presented, null for orders outside table

Change item's course (1.237+)

If there are multiple course changes for the same item, only the last is applied.
1
{
2
"action": "order/change-item-course",
3
"order-id": <long>,
4
"course-changes":[{
5
"order-item-id": <long>,
6
"new-course-id": <long> | null
7
}]
8
}
Copied!
order-id long ID of the order.
course-changes CourseChange[] List of course changes for items in the given order.

Course Change

order-item-id long ID of an order item.
new-course-id long? ID of a new course for the given item within an order.

Prepare next course (1.237+)

Response field next-course-id describes the next available response for this order.
1
{
2
"action": "order/prepare-next-course",
3
"order-id": <long>
4
}
Copied!
order-id long ID of an order.

Set/unset item(s) as takeaway (1.237+)

If there are multiple takeaway changes for the same order item, only the last one will be applied.
1
{
2
"action": "order/set-item-takeaway",
3
"take-away-changes": [{
4
"order-item-id": <long>, // id of an order item, NOT product
5
"take-away": <boolean>
6
}],
7
"order-id": <long>
8
}
Copied!
order-id long ID of an order.
take-away-changes TakeawayChange[] List of takeaway changes.

Takeaway change

order-item-id long ID of and order item.
take-away boolean Whether this item should be set as takeaway.

Shared types

Value
Description
local
Print on device printer
remote
Print task in format ESC/POS will contain in response (print-config is required)
email
Order will send on email address by value print-email
none
Dont print
1
{
2
"characters": <integer>,
3
"codepage": <byte>,
4
"print-mini": <boolean>,
5
"cut": <boolean>,
6
"append-lines": <integer>,
7
"font": <integer>
8
}
Copied!
characters integer? Width of print in characters
codepage byte?
print-mini boolean? Print in mini mode or standart
cut boolean? Is cut supported
append-lines integer? Number of lines appended to print
font integer(0,1)? Font type

Response schema (default)

1
{
2
"order": {
3
"id": <long>,
4
"bkp": <string>,
5
"completed": <timestamp>,
6
"currency": <string(3)>,
7
"customer-id": <long>, // _customerI
8
"course-id": <long>, // 1.234+
9
"user-id": <long>, // _employeeId
10
"external-id": <string>,
11
"fik": <string>,
12
"flags": <integer>,
13
"created": <timestamp>,
14
"note": <string>,
15
"order-series-id": <string>,
16
"paid": <boolean>,
17
"pkp": <string>,
18
"points": <double>,
19
"table-id": <long>, // _tableId
20
"price-total": <double>,
21
"locked-until": <timestamp>,
22
"status": <string> // 1.234+
23
},
24
"next-course-id": <long> | null,
25
"items": [
26
{
27
"id": <long>, // _orderItemId
28
"price-with-vat": {
29
"unit-billed": <double>,
30
"total": <double>,
31
"unit": <double>
32
},
33
"price-without-vat": {
34
"unit-billed": <double>,
35
"total": <double>,
36
"unit": <double>
37
},
38
"customizations": [],
39
"course-id": <long>, // 1.234+
40
"name": <string>,
41
"packaging": <double>,
42
"points": <double>,
43
"product-id": <long>, // _productId
44
"price-in-points": <double>, // 1.234+
45
"qty": <double>,
46
"tags": <string[]>,
47
"vat": <double>,
48
"take-away": <boolean>
49
}
50
],
51
"print": [],
52
"code": <integer>,
53
"deviceTimestamp": <long> // 1.239.8+
54
}
Copied!

Mutliple orders response schema

1
{
2
"orders": [
3
{
4
"order": {
5
"id": <long>,
6
"bkp": <string>,
7
"completed": <timestamp>,
8
"currency": <string(3)>,
9
"customer-id": <long>, // _customerI
10
"course-id": <long>, // 1.234+
11
"user-id": <long>, // _employeeId
12
"external-id": <string>,
13
"fik": <string>,
14
"flags": <integer>,
15
"created": <timestamp>,
16
"note": <string>,
17
"order-series-id": "0",
18
"paid": <boolean>,
19
"pkp": <string>,
20
"points": <double>,
21
"table-id": <long>, // _tableId
22
"price-total": <double>,
23
"locked-until": <timestamp>,
24
"status": <string> // 1.234+
25
},
26
"items": [
27
{
28
"id": <long>, // _orderItemId
29
"price-with-vat": {
30
"unit-billed": <double>,
31
"total": <double>,
32
"unit": <double>
33
},
34
"price-without-vat": {
35
"unit-billed": <double>,
36
"total": <double>,
37
"unit": <double>
38
},
39
"customizations": [],
40
"course-id": <long>, // 1.234+
41
"name": <string>,
42
"packaging": <double>,
43
"points": <double>,
44
"product-id": <long>, // _productId
45
"price-in-points": <double>, // 1.234+
46
"qty": <double>,
47
"tags": <string[]>,
48
"vat": <double>,
49
"take-away": <boolean>
50
}
51
]
52
}
53
],
54
"code": <int>,
55
"deviceTimestamp": <long> // 1.239.8+
56
}
Copied!
post
https://api.dotykacka.cz
/v2/clouds/:cloudId/branches/:branchId/pos-actions
Pos actions
Last modified 3mo ago