Welcome to the SmartNow API reference.
The SmartNow API is organized around the REST methodology, and it uses resource-oriented URLs, and common HTTP response codes to indicate API errors. All requests are authenticated using an access_token which can be obtained by calling POST /auth/login.
It generates new access and refresh tokens for the user
| username | string |
| password | string |
{- "username": "string",
- "password": "string"
}{- "access_token": "string",
- "refresh_token": "string"
}{- "id": 0,
- "username": "string",
- "email": "string",
- "language": {
- "id": 0,
- "name": "string",
- "language": "string",
- "locale": "string",
- "createdAt": "string",
- "updatedAt": "string"
}, - "userGroup": {
- "id": 0,
- "name": "string",
- "parent": 0,
- "admin": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "disabledAt": "string",
- "deleted": true
}, - "createdAt": "string",
- "updatedAt": "string",
- "emailConfirmed": 0,
- "disabledAt": "string",
- "password_expires": "string"
}Set a new password after resetting it.
| token | string The token retrieved from the reset password email. |
| password | string The new password for the user. |
{- "token": "string",
- "password": "string"
}{- "access_token": "string",
- "refresh_token": "string"
}Activate and confirm the email-address of the user.
| token | string The token from the activation email. |
| password | string The new password of the user |
{- "token": "string",
- "password": "string"
}Refresh an expired access token.
| refresh_token | string |
{- "refresh_token": "string"
}{- "access_token": "string",
- "refresh_token": "string"
}User object that needs to be added to the store
| username required | string |
| email required | integer |
| userGroup required | integer |
| language required | integer |
{- "username": "string",
- "email": 0,
- "userGroup": 0,
- "language": 0
}{- "id": 0
}{- "id": 0,
- "username": "string",
- "email": "string",
- "language": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "emailConfirmed": 0,
- "disabledAt": "string",
- "password_expires": "string"
}| id required | integer ID of the user |
User object that needs to be updated in the store
| username | string |
integer | |
| userGroup | integer |
| language | integer |
{- "username": "string",
- "email": 0,
- "userGroup": 0,
- "language": 0
}{- "message": "string"
}User group object that needs to be added to the store
| name required | string |
| parent required | integer |
| locations | Array of integers |
| locationGroups | Array of integers |
{- "name": "string",
- "parent": 0,
- "locations": [
- 0
], - "locationGroups": [
- 0
]
}{- "id": 0
}| id required | integer ID of the user group |
User group object that needs to be updated in the store
| name | string |
| parent | integer |
| locations | Array of integers |
| locationGroups | Array of integers |
{- "name": "string",
- "parent": 0,
- "locations": [
- 0
], - "locationGroups": [
- 0
]
}{- "message": "string"
}| parentid required | integer ID of user group |
[- {
- "id": 0,
- "name": "string",
- "parent": 0,
- "admin": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "disabledAt": "string",
- "deleted": true
}
]| parentid required | integer ID of user group |
| alias required | string Enum: "parent" "users" "errorCodes" "manufacturers" "locations" "errorProfiles" "alertGroups" "alertRecipients" "locationGroups" "permissions" "languages" "translations" "machineModels" "machineGroups" "alertObservers" "machine" Resource to populate |
{ }| hostname required | string Hostname of the machine |
Houdini config that need to be stored
| config required | string |
{- "config": "string"
}{- "message": "string"
}Update all machines' configuration for the given filter
The configuration to set and a list of resources it should be set on
required | object |
required | object |
{- "filter": {
- "type": "string",
- "ids": [
- 0
]
}, - "configuration": {
- "config": {
- "config": "string"
}, - "wlan": {
- "mode": "string",
- "ssid": "string",
- "encryption": "string",
- "encryptionKey": "string"
}, - "apn": {
- "apn": "string"
}, - "sharing": {
- "sharing": "string"
}
}
}{- "message": "string"
}Get machine and group them per location
{- "name": "string",
- "address": "string",
- "postcode": "string",
- "city": "string",
- "country": "string",
- "activeShift": 0,
- "latitude": "string",
- "longitude": "string",
- "placeId": "string",
- "timeZone": "string",
- "id": 0,
- "machines": [
- {
- "id": 0,
- "name": "string",
- "hostname": "string",
- "gateway": 0,
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "lastRevenuetransaction": 0,
- "lastLog": 0,
- "lastIotevent": 0,
- "tag": "string",
- "notes": "string",
- "virtualPrices": 0,
- "active": 0,
- "currency": 0,
- "debtor": 0,
- "logSynced": 0,
- "revenuetransactionSynced": 0,
- "ioteventSynced": 0,
- "ruleSet": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "lastSoldId": 0,
- "isManagedAssortment": 0,
- "configState": "scheduled",
- "transactionProfile": 0,
- "hasSubscription": 0
}
]
}[- {
- "id": 0,
- "name": "string",
- "hostname": "string",
- "gateway": 0,
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "lastRevenuetransaction": 0,
- "lastLog": 0,
- "lastIotevent": 0,
- "tag": "string",
- "notes": "string",
- "virtualPrices": 0,
- "active": 0,
- "currency": 0,
- "debtor": 0,
- "logSynced": 0,
- "revenuetransactionSynced": 0,
- "ioteventSynced": 0,
- "ruleSet": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "lastSoldId": 0,
- "isManagedAssortment": 0,
- "configState": "scheduled",
- "transactionProfile": 0,
- "hasSubscription": 0
}
]| status required | string The status to find |
| widget | integer The id of the widget |
[- {
- "id": 0,
- "name": "string",
- "error": 0,
- "observer": "string",
- "occurs": 0,
- "timer": 0,
- "timerType": 0,
- "alertGroup": 0,
- "sentAt": "string",
- "type": "string",
- "paymentMethod": "string",
- "openingHours": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
]| status required | string The status to find |
| widget | integer The id of the widget |
[- {
- "id": 0,
- "name": "string",
- "hostname": "string",
- "gateway": 0,
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "lastRevenuetransaction": 0,
- "lastLog": 0,
- "lastIotevent": 0,
- "tag": "string",
- "notes": "string",
- "virtualPrices": 0,
- "active": 0,
- "currency": 0,
- "debtor": 0,
- "logSynced": 0,
- "revenuetransactionSynced": 0,
- "ioteventSynced": 0,
- "ruleSet": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "lastSoldId": 0,
- "isManagedAssortment": 0,
- "configState": "scheduled",
- "transactionProfile": 0,
- "hasSubscription": 0
}
]| id required | integer The id of the machine |
[- {
- "id": 0,
- "name": "string",
- "error": 0,
- "observer": "string",
- "occurs": 0,
- "timer": 0,
- "timerType": 0,
- "alertGroup": 0,
- "sentAt": "string",
- "type": "string",
- "paymentMethod": "string",
- "openingHours": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
][- {
- "id": 0,
- "name": "string",
- "hostname": "string",
- "gateway": 0,
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "lastRevenuetransaction": 0,
- "lastLog": 0,
- "lastIotevent": 0,
- "tag": "string",
- "notes": "string",
- "virtualPrices": 0,
- "active": 0,
- "currency": 0,
- "debtor": 0,
- "logSynced": 0,
- "revenuetransactionSynced": 0,
- "ioteventSynced": 0,
- "ruleSet": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "lastSoldId": 0,
- "isManagedAssortment": 0,
- "configState": "scheduled",
- "transactionProfile": 0,
- "hasSubscription": 0
}
]| source | integer The id of the source machine to be copied (fields and assortment) |
Machine object that needs to be added to the store
| name required | string |
| hostname required | string |
| location required | integer |
| machineModel required | integer |
| machineType required | integer |
| manufacturer required | integer |
| currency required | integer |
| debtor | integer |
| tag | string |
| virtualPrices | boolean |
| active | boolean |
| machineGroups | Array of integers |
{- "name": "string",
- "hostname": "string",
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "currency": 0,
- "debtor": 0,
- "tag": "string",
- "virtualPrices": true,
- "active": true,
- "machineGroups": [
- 0
]
}{- "id": 0
}| id required | integer ID of the machine |
{- "id": 0,
- "name": "string",
- "hostname": "string",
- "gateway": 0,
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "lastRevenuetransaction": 0,
- "lastLog": 0,
- "lastIotevent": 0,
- "tag": "string",
- "notes": "string",
- "virtualPrices": 0,
- "active": 0,
- "currency": 0,
- "debtor": 0,
- "logSynced": 0,
- "revenuetransactionSynced": 0,
- "ioteventSynced": 0,
- "ruleSet": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "lastSoldId": 0,
- "isManagedAssortment": 0,
- "configState": "scheduled",
- "transactionProfile": 0,
- "hasSubscription": 0
}| id required | integer ID of the machine |
Machine object that needs to be updated
| name | string |
| location | integer |
| machineModel | integer |
| machineType | integer |
| manufacturer | integer |
| currency | integer |
| debtor | integer |
| tag | string |
| virtualPrices | boolean |
| active | boolean |
| machineGroups | Array of integers |
{- "name": "string",
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "currency": 0,
- "debtor": 0,
- "tag": "string",
- "virtualPrices": true,
- "active": true,
- "machineGroups": [
- 0
]
}{- "message": "string"
}| parentid required | integer ID of machine |
| alias required | string Enum: "location" "machineModel" "machineType" "manufacturer" "machineGroups" "alertObservers" Resource to populate |
{ }[- {
- "id": 0,
- "name": "string",
- "hostname": "string",
- "gateway": 0,
- "location": 0,
- "machineModel": 0,
- "machineType": 0,
- "manufacturer": 0,
- "lastRevenuetransaction": 0,
- "lastLog": 0,
- "lastIotevent": 0,
- "tag": "string",
- "notes": "string",
- "virtualPrices": 0,
- "active": 0,
- "currency": 0,
- "debtor": 0,
- "logSynced": 0,
- "revenuetransactionSynced": 0,
- "ioteventSynced": 0,
- "ruleSet": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "lastSoldId": 0,
- "isManagedAssortment": 0,
- "configState": "scheduled",
- "transactionProfile": 0,
- "hasSubscription": 0
}
]Machine model object that needs to be added to the store
| name required | string |
| manufacturer required | integer |
| errorProfile required | integer |
| machineType | integer |
{- "name": "string",
- "manufacturer": 0,
- "errorProfile": 0,
- "machineType": 0
}{- "id": 0
}| id required | integer ID of the machine model |
{- "id": 0,
- "name": "string",
- "manufacturer": 0,
- "machineType": 0,
- "errorProfile": 0,
- "image": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}| id required | integer ID of the machine model |
Machine model object that needs to be updated in the store
| name | string |
| manufacturer | integer |
| errorProfile | integer |
| machineType | integer |
{- "name": "string",
- "manufacturer": 0,
- "errorProfile": 0,
- "machineType": 0
}{- "message": "string"
}| parentid required | integer ID of machine model |
| alias required | string Enum: "manufacturer" "machineType" "errorProfile" "userGroup" Resource to populate |
{ }Machine type object that needs to be added to the store
| name required | string |
{- "name": "string"
}{- "id": 0
}| id required | integer ID of the machine type |
Machine type object that needs to be updated in the store
| name | string |
{- "name": "string"
}{- "message": "string"
}Manufacturer object that needs to be added to the store
| name required | string |
| machineTypes | Array of integers |
{- "name": "string",
- "machineTypes": [
- 0
]
}{- "id": 0
}| id required | integer ID of the manufacturer |
Manufacturer object that needs to be updated in the store
| name | string |
| machineTypes | Array of integers |
{- "name": "string",
- "machineTypes": [
- 0
]
}{- "message": "string"
}Machine group object that needs to be added to the store
| name required | string |
| machines | Array of integers |
{- "name": "string",
- "machines": [
- 0
]
}{- "id": 0
}| id required | integer ID of the machine group |
Machine group object that needs to be updated in the store
| name | string |
| machines | Array of integers |
{- "name": "string",
- "machines": [
- 0
]
}{- "message": "string"
}Get the configiration of the machine
| hostname required | string |
{- "name": "string",
- "apn": "string",
- "config": "string",
- "sharing": "string",
- "mode": "string",
- "encryption": "string",
- "encryptionKey": "string",
- "ssid": "string"
}Get the configiration of the machine
| hostname | string |
{- "id": 0,
- "name": "string",
- "apn": "string",
- "config": "string",
- "sharing": "string",
- "mode": "string",
- "encryption": "string",
- "encryptionKey": "string",
- "ssid": "string"
}| id required | integer ID of machine config template |
{- "name": "string",
- "config": "string",
- "mode": "string",
- "ssid": "string",
- "encryption": "string",
- "encryptionKey": "string",
- "apn": "string",
- "sharing": "string"
}Update the configuration of the machine
| machine required | integer The id of the machine |
| config | string |
| mode | string |
| ssid | string |
| encryption | string |
| encryptionKey | string |
| apn | string |
| sharing | string |
| machine | integer |
{- "config": "string",
- "mode": "string",
- "ssid": "string",
- "encryption": "string",
- "encryptionKey": "string",
- "apn": "string",
- "sharing": "string",
- "machine": 0
}{- "message": "string"
}[- {
- "id": 0,
- "name": "string",
- "address": "string",
- "postcode": "string",
- "city": "string",
- "country": "string",
- "activeShift": 0,
- "latitude": "string",
- "longitude": "string",
- "placeId": "string",
- "timeZone": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
]location object that needs to be added to the store
| name required | string |
| address required | string |
| postcode required | string |
| city required | string |
| country required | string |
| latitude | number |
| longitude | number |
| placeId | string |
| locationGroups | Array of integers |
{- "name": "string",
- "address": "string",
- "postcode": "string",
- "city": "string",
- "country": "string",
- "latitude": 0,
- "longitude": 0,
- "placeId": "string",
- "locationGroups": [
- 0
]
}{- "id": 0
}| id required | integer ID of the location |
{- "id": 0,
- "name": "string",
- "address": "string",
- "postcode": "string",
- "city": "string",
- "country": "string",
- "activeShift": 0,
- "latitude": "string",
- "longitude": "string",
- "placeId": "string",
- "timeZone": "string",
- "createdAt": "string",
- "updatedAt": "string"
}| id required | integer ID of the location |
location object that needs to be updated in the store
| name | string |
| address | string |
| postcode | string |
| city | string |
| country | string |
| latitude | integer |
| longitude | integer |
| placeId | string |
| locationGroups | Array of integers |
{- "name": "string",
- "address": "string",
- "postcode": "string",
- "city": "string",
- "country": "string",
- "latitude": 0,
- "longitude": 0,
- "placeId": "string",
- "locationGroups": [
- 0
]
}{- "message": "string"
}Location group object that needs to be added to the store
| name required | string |
| locations | Array of integers |
{- "name": "string",
- "locations": [
- 0
]
}{- "id": 0
}| id required | integer ID of the location group |
Location group object that needs to be updated in the store
| name | string |
| locations | Array of integers |
{- "name": "string",
- "locations": [
- 0
]
}{- "message": "string"
}| parentid required | integer ID of report |
| alias required | string Enum: "locationGroup" "manufacturers" "locations" "machineTypes" "machineModels" "machineGroups" "machines" "user" Resource to populate |
{ }| location required | integer |
{- "location": 0
}{- "id": 0,
- "location": 0,
- "firstTransaction": 0,
- "lastTransaction": 0,
- "previousShift": 0,
- "closed": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Set the opening hours of a machine through a parent resource. Example: updating the opening hours of a location will override all the open hours of the machines that are part of that location.
| resource required | string Enum: "machine" "machinegroup" "location" "locationgroup" |
| id required | integer The ID of the resource |
| day | integer |
| startTime | string |
| endTime | string |
[- {
- "day": 1,
- "startTime": "09:15:00",
- "endTime": "10:00:00"
}
]{- "message": "string"
}| limit | integer <= 100 Default: "∞" Limit the number of logs returned |
| skip | integer Default: 0 Skips the first 'N' items of the results |
| where[<col>][<op>]: value | string Filter criteria. It supports multiple values: e.g. |
| sort | string Default: "asc" The sort column e.g. |
| useArchive | boolean It will use archived data in combination with the last data available. If True: only |
[- {
- "id": 3184234,
- "product": 1,
- "name": "Kaffee klein",
- "internalRef": "KAF-KL",
- "machine": 80,
- "location": 2,
- "occurredAt": "2019-02-06T07:06:17+01:00",
- "timeZone": "Europe/Amsterdam",
- "originalPrice": 0,
- "price": 10,
- "barcode": null,
- "currency": "EUR",
- "timestamp": 1549433177,
- "token": "^^C:R/-0",
- "salestype": 0,
- "numPaymentTransactions": 1,
- "remote": 40314354,
- "pricelist": 0,
- "usergroup": 0,
- "createdAt": "2019-02-06T06:12:16Z",
- "updatedAt": "2019-02-06T06:12:16Z"
}
]| id required | integer ID of the revenue transaction |
{- "id": 3184234,
- "product": 1,
- "name": "Kaffee klein",
- "internalRef": "KAF-KL",
- "machine": 80,
- "location": 2,
- "occurredAt": "2019-02-06T07:06:17+01:00",
- "timeZone": "Europe/Amsterdam",
- "originalPrice": 0,
- "price": 10,
- "barcode": null,
- "currency": "EUR",
- "timestamp": 1549433177,
- "token": "^^C:R/-0",
- "salestype": 0,
- "numPaymentTransactions": 1,
- "remote": 40314354,
- "pricelist": 0,
- "usergroup": 0,
- "createdAt": "2019-02-06T06:12:16Z",
- "updatedAt": "2019-02-06T06:12:16Z"
}| parentid required | integer ID of revenue transaction |
| alias required | string Enum: "paymenttransactions" "machine" "location" Resource to populate |
{ }Get a summary of revenue grouped by currency and date.
| startDate required | string |
| endDate required | string |
| machines | Array of integers Limit the results based on machines ids |
| locations | Array of integers Limit the results based on location ids |
{- "<$currency>": [
- {
- "currency": "string",
- "currencyRate": 0,
- "date": "string",
- "orginalValue": 0,
- "value": 0
}
]
}Get the best selling product for each day grouped by product.
| startDate required | string |
| endDate required | string |
| machines | Array of integers Limit the results based on machines ids |
| locations | Array of integers Limit the results based on location ids |
| amount | integer Amount of products, defaults to 10 |
[- {
- "name": "string",
- "values": [
- {
- "date": "string",
- "value": 0
}
]
}
]The revenue summary and the amount of products sold for various periods grouped by currency
| machines | Array of integers Limit the results based on machines ids |
| locations | Array of integers Limit the results based on location ids |
{- "<$currency>": [
- {
- "day": {
- "currency": "string",
- "products": 0,
- "revenue": 0
}, - "month": {
- "currency": "string",
- "products": 0,
- "revenue": 0
}, - "week": {
- "currency": "string",
- "products": 0,
- "revenue": 0
}, - "year": {
- "currency": "string",
- "products": 0,
- "revenue": 0
}
}
]
}Contains data of the last three months grouped by hour and day.
| machines | Array of integers Limit the results based on machines ids |
| locations | Array of integers Limit the results based on location ids |
[- {
- "day": 0,
- "hour": 0,
- "count": 0,
- "total": 0
}
]| limit | integer Limit the number of logs returned |
| skip | integer Skips the first 'N' items of the results |
| where[<col>][<op>]: value | string Filter criteria. It supports multiple values: e.g. |
| sort | string The sort column e.g. |
| useArchive | boolean It will use archived data in combination with the last data available. If True: only |
[- {
- "id": 3287746,
- "revenuetransaction": 3184234,
- "machine": 80,
- "location": 2,
- "occurredAt": "2019-02-06T07:06:17+01:00",
- "timeZone": "Europe/Amsterdam",
- "method": "virtual",
- "type": "virtual",
- "price": 10,
- "currency": "EUR",
- "exclude": 0,
- "reportGroup": null,
- "createdAt": "2019-02-06T06:12:16Z",
- "updatedAt": "2019-02-06T06:12:16Z"
}
]| id required | integer ID of the payment transaction |
{- "id": 3287746,
- "revenuetransaction": 3184234,
- "machine": 80,
- "location": 2,
- "occurredAt": "2019-02-06T07:06:17+01:00",
- "timeZone": "Europe/Amsterdam",
- "method": "virtual",
- "type": "virtual",
- "price": 10,
- "currency": "EUR",
- "exclude": 0,
- "reportGroup": null,
- "createdAt": "2019-02-06T06:12:16Z",
- "updatedAt": "2019-02-06T06:12:16Z"
}| limit | integer <= 100 Default: "∞" Limit the number of logs returned |
| skip | integer Default: 0 Skips the first 'N' items of the results |
| where[<col>][<op>]: value | string Filter criteria. It supports multiple values: e.g. |
| sort | string The sort column e.g. |
| useArchive | boolean It will use archived data in combination with the last data available. If True: only |
[- {
- "id": 5801104,
- "remote": 89773649,
- "machine": 80,
- "location": 2,
- "code": "CM_REBOOT",
- "errorIdentity": 3,
- "type": 1,
- "isResolvable": false,
- "occurredAt": "2019-03-12T05:36:58+01:00",
- "timeZone": "Europe/Amsterdam",
- "duration": null,
- "extraData": "{\"uptime\": 67}",
- "date": 1552365418,
- "timestamp": 1552365418,
- "resolvedAt": null,
- "state": null,
- "createdAt": "2019-03-12T04:36:59Z"
}
]{- "id": 5801104,
- "remote": 89773649,
- "machine": 80,
- "location": 2,
- "code": "CM_REBOOT",
- "errorIdentity": 3,
- "type": 1,
- "isResolvable": false,
- "occurredAt": "2019-03-12T05:36:58+01:00",
- "timeZone": "Europe/Amsterdam",
- "duration": null,
- "extraData": "{\"uptime\": 67}",
- "date": 1552365418,
- "timestamp": 1552365418,
- "resolvedAt": null,
- "state": null,
- "createdAt": "2019-03-12T04:36:59Z"
}| machine | integer The id of the machine |
[- {
- "id": 5801104,
- "remote": 89773649,
- "machine": 80,
- "location": 2,
- "code": "CM_REBOOT",
- "errorIdentity": 3,
- "type": 1,
- "isResolvable": false,
- "occurredAt": "2019-03-12T05:36:58+01:00",
- "timeZone": "Europe/Amsterdam",
- "duration": null,
- "extraData": "{\"uptime\": 67}",
- "date": 1552365418,
- "timestamp": 1552365418,
- "resolvedAt": null,
- "state": null,
- "createdAt": "2019-03-12T04:36:59Z"
}
]Returns a list of (translated) events and the amount of concurrences.
| machines | Array of integers Limit the results based on machines ids |
| locations | Array of integers Limit the results based on location ids |
| limit | integer Limit the results, defaults to 10, max 30 |
[- {
- "code": "string",
- "error": "string",
- "summary": 0
}
]Report request object
| machines | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| locationGroups | Array of integers |
required | object |
object |
{- "machines": [
- 87,
- 94,
- 80
], - "period1": {
- "referenceDate": "2019-03-11T11:40:43+01:00",
- "startDate": {
- "year": 0,
- "month": 1,
- "day": 1,
- "week": null,
- "hour": 0,
- "minute": 0,
- "second": 0
}, - "endDate": {
- "year": 0,
- "month": 0,
- "day": 0,
- "week": null,
- "hour": 23,
- "minute": 59,
- "second": 59
}
}
}{- "period1": {
- "data": [
- {
- "code": "ED017",
- "erroridentity": 34,
- "error": "ED017",
- "quantity": 518,
- "duration": 2987
}, - {
- "code": "ED014",
- "erroridentity": 31,
- "error": "ED014",
- "quantity": 214,
- "duration": 6629
}
], - "endDate": "2019-03-11 23:59:59",
- "startDate": "2019-01-01 00:00:00"
}, - "period2": {
- "data": [
- {
- "code": "ED017",
- "erroridentity": 34,
- "error": "ED017",
- "quantity": 23,
- "duration": 342
}, - {
- "code": "ED014",
- "erroridentity": 31,
- "error": "ED014",
- "quantity": 57,
- "duration": 567
}
], - "endDate": "2018-03-11 23:59:59",
- "startDate": "2018-01-01 00:00:00"
}
}Report request object
| machines | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| locationGroups | Array of integers |
required | object |
object |
{- "machines": [
- 87,
- 94,
- 80
], - "period1": {
- "referenceDate": "2019-03-11T11:40:43+01:00",
- "startDate": {
- "year": 0,
- "month": 1,
- "day": 1,
- "week": null,
- "hour": 0,
- "minute": 0,
- "second": 0
}, - "endDate": {
- "year": 0,
- "month": 0,
- "day": 0,
- "week": null,
- "hour": 23,
- "minute": 59,
- "second": 59
}
}
}{- "period1": {
- "data": [
- {
- "code": "CM_OFFLINE",
- "erroridentity": 1,
- "error": "CM_OFFLINE",
- "quantity": 220
}, - {
- "code": "ED014",
- "erroridentity": 31,
- "error": "ED014",
- "quantity": 152
}
], - "endDate": "2019-03-11 23:59:59",
- "startDate": "2019-01-01 00:00:00"
}, - "period2": {
- "data": [
- {
- "code": "CM_OFFLINE",
- "erroridentity": 1,
- "quantity": 357,
- "error": "CM_OFFLINE"
}, - {
- "code": "ED014",
- "erroridentity": 31,
- "error": "ED014",
- "quantity": 45
}
], - "endDate": "2018-03-11 23:59:59",
- "startDate": "2018-01-01 00:00:00"
}
}Report request object
| machines | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| locationGroups | Array of integers |
required | object |
object |
{- "machines": [
- 87,
- 94,
- 80
], - "period1": {
- "referenceDate": "2019-03-11T11:40:43+01:00",
- "startDate": {
- "year": 0,
- "month": 1,
- "day": 1,
- "week": null,
- "hour": 0,
- "minute": 0,
- "second": 0
}, - "endDate": {
- "year": 0,
- "month": 0,
- "day": 0,
- "week": null,
- "hour": 23,
- "minute": 59,
- "second": 59
}
}
}{- "period1": {
- "data": [
- {
- "productId": 1,
- "name": "Kaffee klein",
- "internalRef": "KAF-KL",
- "revenue": 7080,
- "quantity": 906,
- "currency": "EUR"
}, - {
- "productId": 2,
- "name": "Capuccino",
- "internalRef": "CAP",
- "revenue": 5500,
- "quantity": 700,
- "currency": "EUR"
}
], - "endDate": "2019-03-11 23:59:59",
- "startDate": "2019-01-01 00:00:00"
}, - "period2": {
- "data": [
- {
- "productId": 1,
- "name": "Kaffee klein",
- "revenue": 7080,
- "quantity": 906,
- "currency": "EUR"
}, - {
- "productId": 4,
- "name": "Capuccino klein",
- "revenue": 7000,
- "quantity": 750,
- "currency": "EUR"
}
], - "endDate": "2018-03-11 23:59:59",
- "startDate": "2018-01-01 00:00:00"
}
}Report request object
| machines | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| locationGroups | Array of integers |
required | object |
object |
{- "machines": [
- 87,
- 94,
- 80
], - "period1": {
- "referenceDate": "2019-03-11T11:40:43+01:00",
- "startDate": {
- "year": 0,
- "month": 1,
- "day": 1,
- "week": null,
- "hour": 0,
- "minute": 0,
- "second": 0
}, - "endDate": {
- "year": 0,
- "month": 0,
- "day": 0,
- "week": null,
- "hour": 23,
- "minute": 59,
- "second": 59
}
}
}{- "period1": {
- "data": [
- {
- "type": "card",
- "quantity": 49,
- "revenue": 81000,
- "reportGroup": null,
- "currency": "AMD"
}
], - "endDate": "2019-03-11 23:59:59",
- "startDate": "2019-01-01 00:00:00"
}
}Report request object
| machines | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| locationGroups | Array of integers |
required | object |
object |
{- "machines": [
- 87,
- 94,
- 80
], - "period1": {
- "referenceDate": "2019-03-11T11:40:43+01:00",
- "startDate": {
- "year": 0,
- "month": 1,
- "day": 1,
- "week": null,
- "hour": 0,
- "minute": 0,
- "second": 0
}, - "endDate": {
- "year": 0,
- "month": 0,
- "day": 0,
- "week": null,
- "hour": 23,
- "minute": 59,
- "second": 59
}
}
}{- "period1": {
- "startDate": "string",
- "endDate": "string",
- "data": [
- {
- "location": "string",
- "payment": "string",
- "quantity": 0,
- "reportGroup": "string",
- "revenue": 0,
- "shift": 0,
- "type": "string"
}
]
}, - "period2": {
- "startDate": "string",
- "endDate": "string",
- "data": [
- {
- "location": "string",
- "payment": "string",
- "quantity": 0,
- "reportGroup": "string",
- "revenue": 0,
- "shift": 0,
- "type": "string"
}
]
}
}Report request object
| machines | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| locationGroups | Array of integers |
required | object |
object |
{- "machines": [
- 87,
- 94,
- 80
], - "period1": {
- "referenceDate": "2019-03-11T11:40:43+01:00",
- "startDate": {
- "year": 0,
- "month": 1,
- "day": 1,
- "week": null,
- "hour": 0,
- "minute": 0,
- "second": 0
}, - "endDate": {
- "year": 0,
- "month": 0,
- "day": 0,
- "week": null,
- "hour": 23,
- "minute": 59,
- "second": 59
}
}
}{- "period1": {
- "startDate": "string",
- "endDate": "string",
- "data": [
- {
- "shift": 0,
- "productId": 0,
- "name": "string",
- "barcode": "string",
- "reportName": "string",
- "quantity": 0,
- "revenue": 0,
- "sum": 0,
- "currency": "string"
}
]
}, - "period2": {
- "startDate": "string",
- "endDate": "string",
- "data": [
- {
- "shift": 0,
- "productId": 0,
- "name": "string",
- "barcode": "string",
- "reportName": "string",
- "quantity": 0,
- "revenue": 0,
- "sum": 0,
- "currency": "string"
}
]
}
}Get a CSV file containing the raw transactions on which a report is based, the date-range must be within 6 months of the current date. Example of valid query parameters: ?period1[startDate]=2023-01-01 00:00:00&period1[endDate]=2023-01-07 23:59:59&period1[referenceDate]=2023-01-20 12:18:46&timezone=Europe/Amsterdam&locations[]=2&locations[]=47
required | object Description of the first period to gather |
| locations | Array of integers List of location ids to filter on |
| locationGroups | Array of integers List of location group ids to filter on |
| machines | Array of integers List of machine ids to filter on |
| machineGroups | Array of integers List of machine group ids to filter on |
{- "message": "string"
}| name | string |
object | |
object Optional period | |
| locationGroup | Array of integers Optional filter |
| locations | Array of integers Optional filter |
| machineGroups | Array of integers Optional filter |
| machines | Array of integers Optional filter |
{- "name": "string",
- "period1": {
- "startDate": "string",
- "endDate": "string",
- "type": "fixed date"
}, - "period2": {
- "startDate": "string",
- "endDate": "string",
- "type": "fixed date"
}, - "locationGroup": [
- 0
], - "locations": [
- 0
], - "machineGroups": [
- 0
], - "machines": [
- 0
]
}{- "id": 0
}Update a report. All properties in the request body are optional.
| id required | integer The id of the report |
| name | string |
object | |
object | |
| locationGroup | Array of integers |
| locations | Array of integers |
| machineGroups | Array of integers |
| machineModels | Array of integers |
| machineTypes | Array of integers |
| machines | Array of integers |
| manufactures | Array of integers |
{- "name": "string",
- "period1": {
- "startDate": "string",
- "endDate": "string",
- "type": "fixed date"
}, - "period2": {
- "startDate": "string",
- "endDate": "string",
- "type": "fixed date"
}, - "locationGroup": [
- 0
], - "locations": [
- 0
], - "machineGroups": [
- 0
], - "machineModels": [
- 0
], - "machineTypes": [
- 0
], - "machines": [
- 0
], - "manufactures": [
- 0
]
}{- "message": "string"
}| parentid required | integer ID of report |
| alias required | string Enum: "locations" "manufacturers" "machineTypes" "machineModels" "machineGroups" "machines" Resource to add |
| id required | integer ID of the association to add |
{- "id": 0
}| parentid required | integer ID of report |
| alias required | string Enum: "locations" "manufacturers" "machineTypes" "machineModels" "machineGroups" "machines" Resource to remove |
| id required | integer ID of the association to remove |
{- "message": "string"
}| id required | integer ID of the user report |
| name | string |
{- "name": "string"
}{- "message": "string"
}| id required | integer ID of user report |
| name | string |
| type required | string (DefaultChartTypes) Enum: "revenue_full" "revenue_grouped" "payment_types" "offline_machines" "machine_cleaning" "machine_alarms" "machine_issues" |
| view | string (ChartViews) Enum: "table" "bars" "lines" "pie" |
object (ChartCriteria) | |
| position | integer |
{- "name": "string",
- "type": "revenue_full",
- "view": "table",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "position": 0
}{- "id": 0
}| id required | integer ID of user report |
[- {
- "id": 0,
- "name": "string",
- "type": "string",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "report": 0,
- "reportType": "string",
- "createAt": "string",
- "updateAt": "string"
}
]| id required | integer The id of the user report to duplicate |
The name of the new user report
| name required | string |
{- "name": "string"
}{- "message": "string"
}{- "id": 0,
- "name": "string",
- "type": "string",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "report": 0,
- "reportType": "string",
- "createAt": "string",
- "updateAt": "string"
}| id required | integer ID of user report |
| id | integer |
| name | string |
| type | string |
object (ChartCriteria) | |
| report | integer |
| reportType | string |
| createAt | string <string-utc> |
| updateAt | string <string-utc> |
{- "id": 0,
- "name": "string",
- "type": "string",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "report": 0,
- "reportType": "string",
- "createAt": "string",
- "updateAt": "string"
}{- "message": "string"
}| id required | integer ID of the chart |
| field required | string Field of the chart to be returned |
{- "id": 0,
- "name": "string",
- "type": "string",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "report": 0,
- "reportType": "string",
- "createAt": "string",
- "updateAt": "string"
}[- {
- "id": 0,
- "name": "string",
- "type": "string",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "createAt": "string",
- "updateAt": "string"
}
]| id required | integer ID of the chart template |
{- "id": 0,
- "name": "string",
- "type": "string",
- "criteria": {
- "select": [
- {
- "expr": "string",
- "op": "string",
- "as": "string"
}
], - "from": "string",
- "where": [
- {
- "field": "string",
- "op": "string",
- "value": "string"
}
], - "orderBy": [
- "string"
], - "timeFrames": [
- {
- "type": "string",
- "viewType": "string",
- "startAt": "string",
- "endAt": "string",
- "hoursToSub": 0,
- "column": "string",
- "description": "string"
}
]
}, - "createAt": "string",
- "updateAt": "string"
}[- {
- "id": 0,
- "name": "string",
- "error": 0,
- "observer": "string",
- "occurs": 0,
- "timer": 0,
- "timerType": 0,
- "alertGroup": 0,
- "sentAt": "string",
- "type": "string",
- "paymentMethod": "string",
- "openingHours": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
]Alert observer object that needs to be added to the store
| name required | string |
| type required | string Enum: "event" "transaction" |
| observer required | string Enum: "occurrence" "non_resolution" "non_occurrence" |
| timer required | integer |
| timerType required | integer Enum: 1 2 3 4 |
| alertGroup required | integer |
| error | integer |
| occurs | integer |
| paymentMethod | string Enum: "cash" "card" "code" "virtual" "token" |
| machines | Array of integers |
| openingHours | boolean |
{- "name": "string",
- "type": "event",
- "observer": "occurrence",
- "timer": 0,
- "timerType": 1,
- "alertGroup": 0,
- "error": 0,
- "occurs": 0,
- "paymentMethod": "cash",
- "machines": [
- 0
], - "openingHours": true
}{- "id": 0
}| id required | integer ID of the alert observer |
{- "id": 0,
- "name": "string",
- "error": 0,
- "observer": "string",
- "occurs": 0,
- "timer": 0,
- "timerType": 0,
- "alertGroup": 0,
- "sentAt": "string",
- "type": "string",
- "paymentMethod": "string",
- "openingHours": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}| id required | integer ID of the alert observer |
Alert observer object that needs to be updated in the store
| name | string |
| type | string Enum: "event" "transaction" |
| observer | string Enum: "occurrence" "non_resolution" "non_occurrence" |
| timer | integer |
| timerType | integer Enum: 1 2 3 4 |
| alertGroup | integer |
| error | integer |
| occurs | integer |
| paymentMethod | string Enum: "cash" "card" "code" "virtual" "token" |
| machines | Array of integers |
| openingHours | boolean |
{- "name": "string",
- "type": "event",
- "observer": "occurrence",
- "timer": 0,
- "timerType": 1,
- "alertGroup": 0,
- "error": 0,
- "occurs": 0,
- "paymentMethod": "cash",
- "machines": [
- 0
], - "openingHours": true
}{- "message": "string"
}| id required | integer ID of alert group |
Alert group object that needs to be updated
| name | string |
{- "name": "string"
}{- "id": 0,
- "name": "string",
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}Alert recipient object that needs to be added to the store
| name required | string |
| email required | string |
| language required | integer |
| alertGroup required | integer |
| active | boolean |
{- "name": "string",
- "email": "string",
- "language": 0,
- "alertGroup": 0,
- "active": true
}{- "id": 0
}| id required | integer ID of the alert recipient |
{- "id": 0,
- "name": "string",
- "email": "string",
- "alertGroup": 0,
- "language": 0,
- "active": 0,
- "userGroup": 0,
- "createdAt": "string",
- "updatedAt": "string"
}| id required | integer ID of the alert recipient |
Alert recipient object that needs to be updated in the store
| name | string |
string | |
| language | integer |
| alertGroup | integer |
| active | boolean |
{- "name": "string",
- "email": "string",
- "language": 0,
- "alertGroup": 0,
- "active": true
}{- "message": "string"
}| machine required | integer ID of the machine |
| name | string |
| reportName | string |
| price | integer |
| plu | integer |
{- "name": "string",
- "reportName": "string",
- "price": 0,
- "plu": 0
}{- "message": "string"
}| machine required | integer ID of the machine |
{- "id": 0,
- "plu": 0,
- "name": "string",
- "price": "string",
- "barcode": "string",
- "machine": 0,
- "reportName": "string",
- "createdAt": "string",
- "updatedAt": "string"
}| machine required | integer ID of the machine |
| id required | integer ID of the flavour |
| name | string |
| reportName | string |
| price | integer |
{- "name": "string",
- "reportName": "string",
- "price": 0
}{- "message": "string"
}| machine required | integer ID of the machine |
| name | string |
| reportName | string |
| price | integer |
| plu | integer |
{- "name": "string",
- "reportName": "string",
- "price": 0,
- "plu": 0
}{- "message": "string"
}| machine required | integer ID of the machine |
{- "id": 0,
- "plu": 0,
- "name": "string",
- "price": "string",
- "barcode": "string",
- "machine": 0,
- "reportName": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Get the product of a certain machine.
| machine required | integer The id of the machine |
{- "id": 0,
- "plu": 0,
- "name": "string",
- "price": 0,
- "barcode": "string",
- "machine": 0,
- "reportName": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "remotePrice": 0,
- "type": "string",
- "vatrate": 0,
- "ledger": "string",
- "subledger": "string"
}| machine required | integer ID of the machine |
Product object that needs to be added to the store
| name required | string |
| plu required | integer |
| price required | number |
| reportName | string |
| barcode | string |
{- "name": "string",
- "plu": 0,
- "price": 0,
- "reportName": "string",
- "barcode": "string"
}{- "id": 0
}| machine required | integer ID of the machine |
| id required | integer ID of the product |
Product object that needs to be updated in the store
| name | string |
| machine | integer |
| plu | integer |
| price | number |
| reportName | string |
| barcode | string |
{- "name": "string",
- "machine": 0,
- "plu": 0,
- "price": 0,
- "reportName": "string",
- "barcode": "string"
}{- "message": "string"
}Returns current and the formatted assorment
| machine required | integer The ID of the machine |
| flavourPLU | integer |
| extraProductPLU | integer |
{- "flavourPLU": 0,
- "extraProductPLU": 0
}{- "baseProducts": [
- {
- "id": 0,
- "plu": 0,
- "name": "string",
- "price": 0,
- "barcode": "string",
- "machine": 0,
- "reportName": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "remotePrice": 0,
- "type": "string",
- "vatrate": 0,
- "ledger": "string",
- "subledger": "string"
}
], - "productFlavours": [
- {
- "id": 0,
- "plu": 0,
- "name": "string",
- "price": "string",
- "barcode": "string",
- "machine": 0,
- "reportName": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "extraProducts": [
- {
- "id": 0,
- "plu": 0,
- "name": "string",
- "price": "string",
- "barcode": "string",
- "machine": 0,
- "reportName": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
]
}Convert the current assortment into a new format, see convert preview
| machine required | integer The ID of the machine |
| flavourPLU | integer |
| extraProductPLU | integer |
{- "flavourPLU": 0,
- "extraProductPLU": 0
}{- "message": "string"
}Override assortment with given products
| machine required | integer The ID of the machine |
| plu required | integer |
| name required | string |
| reportName | string |
| price required | integer |
| barcode | string |
[- {
- "plu": 0,
- "name": "string",
- "reportName": "string",
- "price": 0,
- "barcode": "string"
}
]{- "message": "string"
}Copy the assortment of a machine to a given group of machines
| machine required | integer The id of the machine that will be used as source for the assortment |
| machineGroup required | integer The id of the machine group where the assortment should be copy to |
{- "message": "string"
}Error profile object that needs to be added to the store
| name required | string |
| machineType required | integer |
| manufacturer required | integer |
{- "name": "string",
- "machineType": 0,
- "manufacturer": 0
}{- "id": 0
}| id required | integer ID of the error profile |
Error profile object that needs to be updated in the store
| name | string |
| machineType | integer |
| manufacturer | integer |
{- "name": "string",
- "machineType": 0,
- "manufacturer": 0
}{- "message": "string"
}| id required | integer ID of the transaction profile |
Transaction profile object to be added
| id | integer |
| reportRule | string Enum: "first_letter" "first_block" |
| paymentTypesMap | object It contains pairs of payment method -> payment type. See [GET /transactionprofile/paymenttypes] for more details |
{- "id": 0,
- "reportRule": "first_letter",
- "paymentTypesMap": { }
}{- "id": 0
}Error identity object that needs to be added to the store
| machineType required | integer |
| error required | string |
{- "machineType": 0,
- "error": "string"
}{- "id": 0
}| id required | integer ID of the error identity |
Error identity object that needs to be updated in the store
| machineType | integer |
| error | string |
{- "machineType": 0,
- "error": "string"
}{- "message": "string"
}Error code object that needs to be added to the store
| errorIdentity required | integer |
| errorProfile required | integer |
| code | string |
{- "errorIdentity": 0,
- "errorProfile": 0,
- "code": "string"
}{- "id": 0
}| id required | integer ID of the error code |
Error code object that needs to be updated in the store
| errorIdentity | integer |
| errorProfile | integer |
| code | string |
{- "errorIdentity": 0,
- "errorProfile": 0,
- "code": "string"
}{- "message": "string"
}Transaction profile object to be added
| reportRule | string Enum: "first_letter" "first_block" |
| paymentTypesMap | object It contains pairs of payment method -> payment type. See [GET /transactionprofile/paymenttypes] for more details |
{- "reportRule": "first_letter",
- "paymentTypesMap": { }
}{- "id": 0
}| dashboard required | integer ID of the dashboard |
Widget object that needs to be added to the store
| name | string |
| widgetType | number |
{- "name": "string",
- "widgetType": 0
}{- "id": 0
}| id required | integer ID of widget |
Widget object that needs to be updated
| settings | string |
{- "settings": "string"
}{- "message": "string"
}| id required | integer ID of widget |
Widget object that needs to be updated
| name | string |
| dashboard | integer |
| widgetType | integer |
{- "name": "string",
- "dashboard": 0,
- "widgetType": 0
}{- "id": 0,
- "name": "string",
- "widgetType": 0,
- "dashboard": 0,
- "createdAt": "string",
- "updatedAt": "string"
}CSV export the requested resource.
| resource required | string Enum: "alertgroup" "alertobserver" "alertrecipient" "errorcode" "erroridentity" "errorprofile" "language" "location" "locationgroup" "log" "machine" "machinegroup" "machinemodel" "machinetype" "manufacturer" "paymenttransaction" "product" "productextra" "productflavour" "revenuetransaction" "shift" "user" "usergroup" |
| columns required | Array of strings The columns to export. format: |
| where required | object The criteria object, machine property is required |
| sort | object The sort column e.g. |
| filename | Array of strings Fallbacks to |
| timezone | Array of strings The timezone of the user (for returning the correct datetime in datetime columns) |
| exportAll | boolean Export all product combinations |
{- "message": "string"
}Get a CSV file containing the raw transactions on which a report is based, the date-range must be within 6 months of the current date. Example of valid query parameters: ?period1[startDate]=2023-01-01 00:00:00&period1[endDate]=2023-01-07 23:59:59&period1[referenceDate]=2023-01-20 12:18:46&timezone=Europe/Amsterdam&locations[]=2&locations[]=47
required | object Description of the first period to gather |
| locations | Array of integers List of location ids to filter on |
| locationGroups | Array of integers List of location group ids to filter on |
| machines | Array of integers List of machine ids to filter on |
| machineGroups | Array of integers List of machine group ids to filter on |
{- "message": "string"
}Image object that needs to be added to the store
| thumbnail required | string |
| original required | string |
{- "thumbnail": "string",
- "original": "string"
}{- "id": 0
}| id required | integer ID of the image |
Image object that needs to be updated in the store
| thumbnail | string |
| original | string |
{- "thumbnail": "string",
- "original": "string"
}{- "message": "string"
}Language object that needs to be added to the store
| name required | string |
| language required | string |
| locale required | string |
{- "name": "string",
- "language": "string",
- "locale": "string"
}{- "id": 0
}| id required | integer ID of the language |
Language object that needs to be updated in the store
| name | string |
| language | string |
| locale | string |
{- "name": "string",
- "language": "string",
- "locale": "string"
}{- "message": "string"
}Translation object that needs to be added to the store
| key required | string |
| language required | integer |
| value | string |
{- "key": "string",
- "language": 0,
- "value": "string"
}{- "id": 0
}| id required | integer ID of the translation |
Translation object that needs to be updated in the store
| key | string |
| language | integer |
| value | string |
{- "key": "string",
- "language": 0,
- "value": "string"
}{- "message": "string"
}| name required | string |
| totalVouchers required | integer |
| voucherValue required | integer |
| type | string Enum: "discount" "gift" "dynamic" |
| valueType | string Default: "cents" Value: "cents" |
| redemptionLimit | integer |
| resetFrequency | string Enum: "day" "week" "month" "never" |
| expiresOn | string |
| timeZone | string Default: "Europe/Amsterdam" |
| prefix | string |
| voucherText1 | string |
| voucherText2 | string |
| voucherText3 | string |
| voucherText4 | string |
| voucherStyle | string |
| status | string Enum: "active" "inactive" Status of the campaign |
{- "name": "string",
- "totalVouchers": 0,
- "voucherValue": 0,
- "type": "discount",
- "valueType": "cents",
- "redemptionLimit": 0,
- "resetFrequency": "day",
- "expiresOn": "string",
- "timeZone": "Europe/Amsterdam",
- "prefix": "string",
- "voucherText1": "string",
- "voucherText2": "string",
- "voucherText3": "string",
- "voucherText4": "string",
- "voucherStyle": "string",
- "status": "active"
}{- "id": 0
}| limit | integer <= 100 Default: "∞" Limit the number of logs returned |
| skip | integer Default: 0 Skips the first 'N' items of the results |
| where[<col>][<op>]: value | string Filter criteria. It supports multiple values: e.g. |
| sort | string Default: "asc" The sort column e.g. |
[- {
- "id": 0,
- "name": "string",
- "totalVouchers": 0,
- "type": "discount",
- "valueType": "cents",
- "voucherValue": 0,
- "redemptionLimit": 0,
- "resetFrequency": "day",
- "expiresOn": "string",
- "currency": "EUR",
- "timeZone": "Europe/Amsterdam",
- "status": "creating",
- "createdAt": "string",
- "updatedAt": "string",
- "prefix": "string",
- "ownerId": 0,
- "ownerData": "string",
- "voucherText1": "string",
- "voucherText2": "string",
- "voucherText3": "string",
- "voucherText4": "string",
- "voucherStyle": "string",
- "campaignstats": 0,
- "lastResetAt": "string",
- "vouchersPdfStatus": "empty",
- "vouchersPdfUrl": "string",
- "voucherLogoImg": 0
}
]| id required | integer The id of the campaign |
{- "id": 0,
- "name": "string",
- "totalVouchers": 0,
- "type": "discount",
- "valueType": "cents",
- "voucherValue": 0,
- "redemptionLimit": 0,
- "resetFrequency": "day",
- "expiresOn": "string",
- "currency": "EUR",
- "timeZone": "Europe/Amsterdam",
- "status": "creating",
- "createdAt": "string",
- "updatedAt": "string",
- "prefix": "string",
- "ownerId": 0,
- "ownerData": "string",
- "voucherText1": "string",
- "voucherText2": "string",
- "voucherText3": "string",
- "voucherText4": "string",
- "voucherStyle": "string",
- "campaignstats": 0,
- "lastResetAt": "string",
- "vouchersPdfStatus": "empty",
- "vouchersPdfUrl": "string",
- "voucherLogoImg": 0
}| id required | integer The id of the campaign |
| name | string |
| valueType | string Default: "cents" Value: "cents" |
| redemptionLimit | integer |
| resetFrequency | string Enum: "day" "week" "month" "never" |
| expiresOn | string |
| currency | string Default: "EUR" |
| timeZone | string Default: "Europe/Amsterdam" |
| voucherText1 | string |
| voucherText2 | string |
| voucherText3 | string |
| voucherText4 | string |
| voucherStyle | string |
{- "name": "string",
- "valueType": "cents",
- "redemptionLimit": 0,
- "resetFrequency": "day",
- "expiresOn": "string",
- "currency": "EUR",
- "timeZone": "Europe/Amsterdam",
- "voucherText1": "string",
- "voucherText2": "string",
- "voucherText3": "string",
- "voucherText4": "string",
- "voucherStyle": "string"
}{- "message": "string"
}| id required | integer The id of the campaign |
| id | integer |
| campaign | integer |
| field | string Resource name (location, product, etc) |
| value | string Id of the resource |
[- {
- "id": 0,
- "campaign": 0,
- "field": "string",
- "value": "string"
}
]{- "message": "string"
}| id required | integer The id of the campaign |
[- {
- "id": "string",
- "code": "string",
- "campaign": 0,
- "type": "discount",
- "value": 0,
- "valueType": "cents",
- "currency": "string",
- "initialValue": 0,
- "redemptionLimit": 0,
- "redemptionCount": 0,
- "totalRedemptionCount": 0,
- "lastRedemptionAt": "string",
- "lastRedemptionLocation": "string",
- "prefix": "string",
- "resetFrequency": "day",
- "lastResetAt": "string",
- "expiresOn": "string",
- "timeZone": "string",
- "lockOwner": "string",
- "lockedTill": "string",
- "status": "active",
- "amountRedeemed": 0,
- "totalAmountRedeemed": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "balance": 0,
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "logoImg": "string",
- "pdfStatus": "empty",
- "style": "string",
- "pdfUrl": "string",
- "voucherComments": "string"
}
]| hostname required | string Hostname of the machine |
| command required | string Command to execute |
Parameters of the command
| params | Array of integers |
{- "params": [
- 0
]
}{- "message": "string"
}| command required | string Command to execute |
The command that needs to be executed and a list of resources it should be executed on
required | object |
| params required | Array of objects |
{- "filter": {
- "type": "string",
- "ids": [
- 0
]
}, - "params": [
- { }
]
}{- "message": "string"
}[- {
- "id": 0,
- "type": "httptransactions",
- "name": "string",
- "active": true,
- "state": "idle",
- "throttle": 0,
- "maxRetries": 0,
- "retryThrottle": 0,
- "stopOnFailure": true,
- "createdAt": "string",
- "updatedAt": "string"
}
]Integration object that needs to be added to the store, with a unique name within the user's user group
| externalId required | integer |
| name required | string |
| description | string |
{- "externalId": 0,
- "name": "string",
- "description": "string"
}{- "id": 0
}| id required | integer ID of the integration |
{- "id": 0,
- "type": "httptransactions",
- "name": "string",
- "active": true,
- "state": "idle",
- "throttle": 0,
- "maxRetries": 0,
- "retryThrottle": 0,
- "stopOnFailure": true,
- "createdAt": "string",
- "updatedAt": "string"
}| id required | integer ID of the integration |
Integration object that needs to be updated in the store, with a unique name within the user's user group
| externalId | integer |
| name | string |
| description | string |
{- "externalId": 0,
- "name": "string",
- "description": "string"
}{- "message": "string"
}| id required | integer ID of the integration |
{- "id": 0,
- "state": "failed",
- "machine": 0,
- "revenuetransaction": 0,
- "message": "string",
- "details": "string",
- "createdAt": "string",
- "updatedAt": "string"
}| limit | integer <= 100 Default: "∞" Limit the number of logs returned |
| skip | integer Default: 0 Skips the first 'N' items of the results |
| where[<col>][<op>]: value | string Filter criteria. It supports multiple values: e.g. |
| sort | string Default: "asc" The sort column e.g. |
[- {
- "id": 0,
- "remote": 0,
- "price": 0,
- "occurredAt": "string",
- "machine": 0,
- "location": 0,
- "timestamp": 0,
- "currency": "string",
- "timezone": "string",
- "name": "string",
- "token": "string",
- "salestype": 0,
- "createdAt": "string",
- "updatedAt": "string"
}
]| code required | string Code of the voucher. Codes are unique per campaign, but they can't identify a Voucher. |
| deviceId required | string Id of the device that wants to validate the voucher |
| lockDuration | number Lock time in seconds. If provided an the campaign where the voucher belongs has a |
object Used on 'gift' vouchers only. If the campaign is type 'gift', and 'demand' is not provided, the current voucher balance will be returned as 'discount.amountOff' |
{- "deviceId": "string",
- "lockDuration": 0,
- "demand": {
- "amount": 0
}
}{- "code": "string",
- "campaignType": "string",
- "voucherId": "string",
- "valid": true,
- "voucherValue": 0,
- "discount": {
- "type": "cents",
- "amountOff": 0
}, - "validFor": {
- "products": { },
- "productsRegExp": "string"
}
}| code required | string Code of the voucher. Codes are unique per campaign, but they can't identify a Voucher. |
| deviceId required | string Id of the device that wants to redeem the voucher |
required | object |
object Mandatory if it's a 'gift' voucher. Otherwise, it's not used. |
{- "deviceId": "string",
- "order": {
- "id": "string",
- "amount": 0,
- "items": [
- {
- "productId": "string",
- "quantity": 0,
- "price": 0
}
]
}, - "demand": {
- "amount": 0
}
}{- "code": "string",
- "campaignType": "string",
- "voucherId": "string",
- "redeemed": true,
- "reason": "string",
- "discount": {
- "type": "cents",
- "amountOff": 0
}, - "voucherValue": 0
}| campaign required | integer Id of the campaign where the voucher will be created. |
| type required | string Enum: "discount" "gift" Type of voucher. |
| value required | integer Value of the voucher in the units specified by 'valueType'. If voucher type is 'discount' or 'gift', it's a required field. |
| valueType | string Default: "cents" Value: "cents" Not applicable to vouchers of type 'inherit' |
| code | string Code (optional) - custom voucher code (usually printed as QR on a coupon) used as an identifier between client (scanner) and the voucher system. If empty, random alphanumeric code will be generated. |
| prefix | string Default: "00000" The prefix of the code of the voucher. I.e. prefix 'ABC' would generate a code with the following structure: 'ABC-{CODE}'. Validations: Pattern = [a-zA-Z0-9]{1,5}$, Max length = 5 |
| redemptionLimit | integer Number of times a voucher can be redeemed. Not applicable to vouchers of type 'inherit' |
| resetFrequency | string Default: "never" Enum: "day" "week" "month" "never" How frequent the voucher counters (and value in case of gift vouchers) will be reset. Not applicable to vouchers of type 'inherit' |
| expiresOn | string Not applicable to vouchers of type 'inherit' |
| timeZone | string Default: "Europe/Amsterdam" Used by 'expiresOn' and 'resetFrequency'. Not applicable to vouchers of type 'inherit' |
Array of objects It contains voucher validation rules. For instance: {field: 'location', value: '10'} would enable the voucher to be used in all gateways in location with id '10'. {field: 'locationExternalRef', value: 'xyz_123'} would enable the voucher to be used in all gateways with location external ref 'xyz_123'. [{field: 'product', value: '5'}, {field: 'product', value: '7'}] would allow the voucher to be used for buying products with PLU (or product ID on the client side) 5 or 7. These client-side validations rules are returned as response to '/voucher/{code}/validate' | |
| count | integer Default: 1 Number of vouchers with the provided properties to be created. Voucher creation is an atomic operation. If the total amount of vouchers requested can't be created, no voucher will be created. If count > 1 the response body will be empty. Max value: 5000 |
| text1 | string Text line 1 to be rendered in the pdf |
| text2 | string Text line 2 to be rendered in the pdf |
| text3 | string Text line 3 to be rendered in the pdf |
| text4 | string Text line 4 to be rendered in the pdf |
| style | string Css style to be used when rendering the pdf. I.e.: {"voucherText1Lbl": {"fontSize": "28px"}, "voucherText2Lbl": {"fontSize": "24px"}, "voucherText3Lbl": {"fontSize": "18px"}}. Notice the html elements sensitive to be customized are: voucherText1Lbl, voucherText2Lbl, voucherText3Lbl |
{- "campaign": 0,
- "type": "discount",
- "value": 0,
- "valueType": "cents",
- "code": "string",
- "prefix": "00000",
- "redemptionLimit": 0,
- "resetFrequency": "day",
- "expiresOn": "string",
- "timeZone": "Europe/Amsterdam",
- "validationRules": [
- {
- "field": "location",
- "value": "string"
}
], - "count": 1,
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "style": "string"
}{- "id": "string",
- "code": "string",
- "campaign": 0,
- "type": "discount",
- "value": 0,
- "valueType": "cents",
- "currency": "string",
- "initialValue": 0,
- "redemptionLimit": 0,
- "redemptionCount": 0,
- "totalRedemptionCount": 0,
- "lastRedemptionAt": "string",
- "lastRedemptionLocation": "string",
- "prefix": "string",
- "resetFrequency": "day",
- "lastResetAt": "string",
- "expiresOn": "string",
- "timeZone": "string",
- "lockOwner": "string",
- "lockedTill": "string",
- "status": "active",
- "amountRedeemed": 0,
- "totalAmountRedeemed": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "balance": 0,
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "logoImg": "string",
- "pdfStatus": "empty",
- "style": "string",
- "pdfUrl": "string",
- "voucherComments": "string"
}| limit | integer <= 100 Default: "∞" Limit the number of logs returned |
| skip | integer Default: 0 Skips the first 'N' items of the results |
| where[<col>][<op>]: value | string Filter criteria. It supports multiple values: e.g. |
| sort | string Default: "asc" The sort column e.g. |
[- {
- "id": "string",
- "code": "string",
- "campaign": 0,
- "type": "discount",
- "value": 0,
- "valueType": "cents",
- "currency": "string",
- "initialValue": 0,
- "redemptionLimit": 0,
- "redemptionCount": 0,
- "totalRedemptionCount": 0,
- "lastRedemptionAt": "string",
- "lastRedemptionLocation": "string",
- "prefix": "string",
- "resetFrequency": "day",
- "lastResetAt": "string",
- "expiresOn": "string",
- "timeZone": "string",
- "lockOwner": "string",
- "lockedTill": "string",
- "status": "active",
- "amountRedeemed": 0,
- "totalAmountRedeemed": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "balance": 0,
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "logoImg": "string",
- "pdfStatus": "empty",
- "style": "string",
- "pdfUrl": "string",
- "voucherComments": "string"
}
]| id required | integer The id of the voucher |
| campaign required | integer Id of the campaign where the voucher will be updated. |
| value | integer Value of the voucher in the units specified by 'valueType'. |
| expiresOn | string |
{- "campaign": 0,
- "value": 0,
- "expiresOn": "string"
}{- "message": "string"
}| id required | integer The id of the voucher |
| campaign required | integer Id of the campaign where the voucher will be created. |
| type required | string Enum: "discount" "gift" Type of voucher. |
| value required | integer Value of the voucher in the units specified by 'valueType'. |
required | Array of objects It contains voucher validation rules. For instance: {field: 'location', value: '10'} would enable the voucher to be used in all gateways in location with id '10'. {field: 'locationExternalRef', value: 'xyz_123'} would enable the voucher to be used in all gateways with location external ref 'xyz_123'. [{field: 'product', value: '5'}, {field: 'product', value: '7'}] would allow the voucher to be used for buying products with PLU (or product ID on the client side) 5 or 7. These client-side validations rules are returned as response to '/voucher/{code}/validate' |
| valueType | string Default: "cents" Value: "cents" Value type description |
| redemptionLimit | integer Number of times a voucher can be redeemed. Not applicable to vouchers of type 'inherit' |
| resetFrequency | string Default: "never" Enum: "day" "week" "month" "never" How frequent the voucher counters (and value in case of gift vouchers) will be reset. |
| expiresOn | string |
| timeZone | string Default: "Europe/Amsterdam" Used by 'expiresOn' and 'resetFrequency'. |
| text1 | string Text line 1 to be rendered in the pdf |
| text2 | string Text line 2 to be rendered in the pdf |
| text3 | string Text line 3 to be rendered in the pdf |
| text4 | string Text line 4 to be rendered in the pdf |
| voucherComments | string Note about this voucher |
| style | string Css style to be used when rendering the pdf. I.e.: {"voucherText1Lbl": {"fontSize": "28px"}, "voucherText2Lbl": {"fontSize": "24px"}, "voucherText3Lbl": {"fontSize": "18px"}}. Notice the html elements sensitive to be customized are: voucherText1Lbl, voucherText2Lbl, voucherText3Lbl |
{- "campaign": 0,
- "type": "discount",
- "value": 0,
- "validationRules": [
- {
- "field": "location",
- "value": "string"
}
], - "valueType": "cents",
- "redemptionLimit": 0,
- "resetFrequency": "day",
- "expiresOn": "string",
- "timeZone": "Europe/Amsterdam",
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "voucherComments": "string",
- "style": "string"
}{- "message": "string"
}| id required | integer The id of the voucher |
{- "id": "string",
- "code": "string",
- "campaign": 0,
- "type": "discount",
- "value": 0,
- "valueType": "cents",
- "currency": "string",
- "initialValue": 0,
- "redemptionLimit": 0,
- "redemptionCount": 0,
- "totalRedemptionCount": 0,
- "lastRedemptionAt": "string",
- "lastRedemptionLocation": "string",
- "prefix": "string",
- "resetFrequency": "day",
- "lastResetAt": "string",
- "expiresOn": "string",
- "timeZone": "string",
- "lockOwner": "string",
- "lockedTill": "string",
- "status": "active",
- "amountRedeemed": 0,
- "totalAmountRedeemed": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "balance": 0,
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "logoImg": "string",
- "pdfStatus": "empty",
- "style": "string",
- "pdfUrl": "string",
- "voucherComments": "string"
}| id required | integer The id of the voucher |
[- {
- "id": 0,
- "voucher": "string",
- "requester": "string",
- "requesterLocation": "string",
- "action": "validate",
- "success": 0,
- "request": "string",
- "response": "string",
- "currency": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
]| id required | integer The id of the voucher |
{- "id": "string",
- "code": "string",
- "campaign": 0,
- "type": "discount",
- "value": 0,
- "valueType": "cents",
- "currency": "string",
- "initialValue": 0,
- "redemptionLimit": 0,
- "redemptionCount": 0,
- "totalRedemptionCount": 0,
- "lastRedemptionAt": "string",
- "lastRedemptionLocation": "string",
- "prefix": "string",
- "resetFrequency": "day",
- "lastResetAt": "string",
- "expiresOn": "string",
- "timeZone": "string",
- "lockOwner": "string",
- "lockedTill": "string",
- "status": "active",
- "amountRedeemed": 0,
- "totalAmountRedeemed": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "balance": 0,
- "text1": "string",
- "text2": "string",
- "text3": "string",
- "text4": "string",
- "logoImg": "string",
- "pdfStatus": "empty",
- "style": "string",
- "pdfUrl": "string",
- "voucherComments": "string"
}CSV export vouchers.
| columns required | Array of strings The columns to export. format: |
| where[<col>][<op>]: value | any Filter criteria. It supports multiple values: e.g. |
| sort | object The sort column e.g. |
{- "message": "string"
}