Printer setup
Table of Contents
Set up a Virtual Printer
Learn about Virtual Printer and how to set it up and pair it to the Eats365 POS.
Virtual Printer is an Eats365 function that allows you to establish a virtual pathway and integrate an endpoint to serve as a virtual printer. In a Virtual Printer setup, when an order is placed on the POS, the POS transmits the order details to the endpoint and commands the endpoint to perform its task based on what it’s programmed to do. The endpoint requires backend communication with the Eats365 POS to receive order details via API call in JSON format.
For example, an endpoint can be an appliance that’s designed to cook a meal based on the order details that it receives, or a kitchen display that displays the order details on a screen for the kitchen staff to see and prepare. As a relevant comparison, in a physical printer setup, the POS (start point) transmits the order details to the printer (endpoint) and the printer, which is programmed to print order details, then prints the order details on a piece of paper for the kitchen staff to read and prepare. With a Virtual Printer, the “print jobs” are transmitted by the POS (start point) to the Virtual Printer (endpoint) and the endpoint performs its tasks based on the order details included in the API call it received.
Virtual Printer features
Types of print jobs
The Virtual Printer can receive three types of actions from the POS:
Action | Function |
Add | Adds a new item to the print job |
Update | Updates the information of an existing print job |
Delete | Deletes a print job |
Print job information
The print job includes the following order details:
- Action
- Reference ID
- Product code
- Quantity
- Timestamp
- Order number
- Table number
- Order mode
- Order reference ID
- Check name
- External order number
- Source
- Item remarks
- Order remarks
- Combo option indicator
- Product name
- Combo name
- Category name
- Modifier code
- Modifier name
- Modifier option name
- Modifier quantity
- Kitchen Station
Before you start
You’ll need the following requirements to pair a Virtual Printer:
- An Eats365 POS terminal
- Your endpoint’s IP Address
- Your endpoint’s encryption key
Important: The Virtual Printer’s Request Body will be encrypted by AES/ECB/PKCS7 Padding with Shared Key (16-length key).
Pair a Virtual Printer
To connect a Virtual Printer to the POS, follow the steps below:
- Log in to the Eats365 POS.
- At the top left, tap Settings .
- Under General, tap Printer Setup.
- Tap Add , then choose Virtual Printer.
- Enter the following information:
- Printer name
- Printer IP (the endpoint’s IP Address)
- The endpoint’s Encryption Key
- Tap Test to send a test API call to the endpoint.
- In the following URL, replace the red text with your endpoint’s IP Address:
- Method: GET
- End-Point: http://IP Address/v1/check-status
- To confirm if your server received the test call, check if the API responded with the following message:
{ "status": "OK" }
- In the following URL, replace the red text with your endpoint’s IP Address:
- Once the POS has successfully established connection to the endpoint, tap Add.
- Choose the applicable Supported Orders and Supported Printing Types.
- At the top right, tap Save.
Once paired, the POS can start sending print jobs to the Virtual Printer based on the Supported Orders and Printing Types you selected in the Virtual Printer settings.
Check print jobs
The POS sends print jobs to the endpoint through API communication in JSON format. To check the print jobs sent to the Virtual Printer, in the following URL, replace the red text with your endpoint’s IP Address:
- Method: POST
- End-Point: http://IP Address/v1/send-job
Sample JSON script
[ { { "action": "ADD", "reference_id": "[UUID]", "data": { "product_code": "[Product Code]", "quantity": 1, "timestamp": 1540655058000, "order_number": "A1", "table_number": "(Optional for DineIn) Table A", "order_mode": "TAKEOUT/DINEIN", "order_reference_id": "string", "check_name": "string", "external_order_number": "string", "source": "string", "item_remarks": "string", "order_remarks": "string", "is_combo_option": 1, "product_name":{"zh_TW":"string","en_US":"string"}, "combo_name":{"zh_TW":"string","en_US":"string"}, "category_name":{"zh_TW":"string","en_US":"string"}, "modifier_code": ["string"], "modifier":[{ "modifier_code":"string", "modifier_name": {"zh_TW":"string","en_US":"string"}, "modifier_option_name": {"zh_TW":"string","en_US":"string"}, "quantity": 1 }], "kitchen_station": "string" } }, { "action": "UPDATE", "reference_id": "[UUID]", "data": { "product_code": "[Product Code]", "quantity": 2, "timestamp": 1540655058000, "order_number": "A1", "table_number": "(Optional for DineIn) Table A", "order_mode": "TAKEOUT/DINEIN", "order_reference_id": "string", "check_name": "string", "external_order_number": "string", "source": "string", "item_remarks": "string", "order_remarks": "string", "is_combo_option": 1, "product_name":{"zh_TW":"string","en_US":"string"}, "combo_name":{"zh_TW":"string","en_US":"string"}, "category_name":{"zh_TW":"string","en_US":"string"}, "modifier_code": ["string"], "modifier":[{ "modifier_code":"string", "modifier_name": {"zh_TW":"string","en_US":"string"}, "modifier_option_name": {"zh_TW":"string","en_US":"string"}, "quantity": 1 }], "kitchen_station": "string" } }, { "action": "DELETE", "reference_id": "[UUID]" } ]Delete