Displays
A new Nayax Core attribute has been introduced that allows operators to dynamically update text, prices, and configurations on selection screens. This attribute enables sending structured data from the Device Control System (DCS) to the Vending Machine Controller (VMC). This information is then processed and displayed on the Marshall selection screen.
The attribute definition is as follows:
Attribute | Value |
---|---|
ID | 7700 |
Name | Marshall Screens Info |
Group | VMC |
Maximum Length | 400 characters |
This sends a JSON-formatted string containing details about selection screens, including layout configurations, text labels, prices, and timing.
JSON Logic Recommendation
The JSON string should include necessary instructions for each selection screen. The format is flexible, allowing operators to specify only the required parameters.
See the structure in the code block below:
{
"Screen Name 1": {
"layout_id": <ID>,
"content": {
"layout_title": "<title>",
"text_1": "<text>",
"text_2": "<text>",
"text_3": "<text>",
"text_4": "<text>"
},
"prices": {
"price_1": "<price>",
"price_2": "<price>"
},
"timing": {
"time_1": "<time>",
"time_2": "<time>"
},
"buttons": "<comma-separated list of button IDs>"
},
"Screen Name 2": {
"layout_id": <ID>,
"content": { ... },
"prices": { ... }
}
}
Validate the JSON
The JSON validity and defined prices are solely the operator's responsibility.
It is highly recommended to validate the JSON using a JSON validator before sending it to a remote machine since incorrectly formatted JSON may cause display errors or unexpected behavior.
Example
See the JSON below. It is sending the instructions to update the display of an Air Vac machine.
{
"Select product from 2 options": {
"layout_id": 2,
"content": {
"layout_title": "Select Air/Vac",
"text_1": "Air",
"text_2": "$2",
"text_3": "%c 5 min",
"text_4": "Vac",
"text_5": "$3",
"text_6": "%c 10 min"
},
"prices": {
"price_1": "2",
"price_2": "3"
},
"buttons": "104"
}
}
The packet built from this JSON is the following:
Packet = 0x01 0x02 0x0100
0x02 0x0C 0x00 0x00 “Select Air/Vac”
0x02 0x08 0x01 0x00 “Air”
0x02 0x08 0x01 0x01 “$2”
0x02 0x08 0x01 0x02 “%c 5 min”
0x02 0x08 0x02 0x00 “Vac”
0x02 0x08 0x02 0x01 “$3”
0x02 0x08 0x02 0x02 “%c 10 min”
0x03 0x01 0x68
Packet Creation
Packets are created automatically by the SDK or Nayax Core.
The image below would be the display result.
Updated about 2 months ago