Body structure (JSON)
Required fields are in bold.
| Field | Example | Type and format | Comments |
| { | |||
| "zNumber" | 4 | int | shift number, should be unique for deviceID |
| "fiscalNum" | 70113 | int | optional parameter. Used only for offline cash registers |
| "firstNumber" | 1 | int | number of the first document from the shift |
| "lastNumber" | 1 | int | number of the last document from the shift |
| "cashier" | "Cashier 1" | string | name of the cashier |
| "dateTime" | "2026-03-02T15:35:21.076Z" | dateTime of ISO-8601 format | should be less or equal than the first document dateTime + shift length |
| "currency" | "UAH" | string | |
| "msgId" | 16 | int | |
| "totals" | |||
| { | |||
| "sale" | |||
| { | |||
| "count" | 17 | int | |
| "amount" | 223000 | int | should be equal to the sum of all payments for the sale |
| }, | |||
| "deposit" | |||
| { | |||
| "count" | 1 | int | |
| "amount" | 10000 | int | |
| }, | |||
| "refund" | |||
| { | |||
| "count" | 1 | int | number of receipts |
| "amount" | 10000 | int | in kopecks, should be equal to the sum of all payments for the refund |
| }, | |||
| "withdraw" | { … } | same fields as the for the sale, deposit and refund | |
| }, | |||
| "payments" | |||
| { | |||
| "sale" | |||
| [ | |||
| { | |||
| "type" | "CASH" | string | type of payment |
| "amount" | 223000 | int | |
| }, | |||
| ], | |||
| "refund" | |||
| [ | |||
| { | |||
| "type" | "CARD" | string | |
| "amount" | 2300 | int | |
| } | |||
| ] | |||
| }, | |||
| "taxTotals" | |||
| { | |||
| "sale" | |||
| [ | |||
| { | |||
| "taxCode" | "A" | string | |
| "taxRate" | 2000 | int | tax percentage multiplied by 100 (e.g. 15% × 100 = 1500) |
| "taxAmount" | 15600 | int | tax amount |
| } | |||
| ], | |||
| "refund" | |||
| [ | |||
| { | |||
| "taxCode" | "A" | string | |
| "taxRate" | 2000 | int | |
| "taxAmount" | 1600 | int | |
| } | |||
| ], | |||
| }, | |||
| "identity" | |||
| { | |||
| "fn" | "567765" | string | device token |
| "tin" | "1111111111" | string | |
| "shopName" | "SHOP #1" | string | |
| "shopAddress" | "Unknown st., 404" | string | |
| }, | |||
| "location" | optional | ||
| { | |||
| "latitude" | 6.500183676689106 | float | |
| "longitude" | 120.76210479216934 | float | |
| "radius" | 1000 | int | |
| } | |||
| } |
[!NOTE] Notes The
paymentssection must contain only factual (executed) payment operations.
Fields related to operations that did not occur must be excluded from the request, not populated with zero values.
Example: if a refund was not executed, therefundobject must be omitted rather than included withamount = 0.
Example:
{
"zNumber": 4,
"fiscalNum": 70113,
"firstNumber": 1,
"lastNumber": 1,
"cashier": "Cashier 1",
"dateTime": "2026-03-02T15:35:21.076Z",
"currency": "UAH",
"msgId": 16,
"totals": {
"sale": {
"count": 17,
"amount": 223000
},
"deposit": {
"count": 1,
"amount": 10000
},
"refund": {
"count": 1,
"amount": 10000
},
"withdraw": {
"count": 0,
"amount": 0
}
},
"payments": {
"sale": [
{
"type": "CASH",
"amount": 223000
}
],
"refund": [
{
"type": "CARD",
"amount": 2300
}
]
},
"taxTotals": {
"sale": [
{
"taxCode": "A",
"taxRate": 2000,
"taxAmount": 1600
}
],
"refund": [
{
"taxCode": "A",
"taxRate": 2000,
"taxAmount": 1600
}
]
},
"identity": {
"fn": "567765",
"tin": "1111111111",
"shopName": "SHOP #1",
"shopAddress": "Unknown st., 404"
},
"location": {
"latitude": 6.500183676689106,
"longitude": 120.76210479216934,
"radius": 1000
}
}