ZPL print agent
A cloud shop or ERP can't reach a printer on your network. The OpenZPL agent runs next to the printer, picks up print jobs and delivers them, with no firewall port to open.
Download
The agent isn't code-signed yet, so Windows and Mac warn the first time. On Windows choose More info, then Run anyway. On a Mac, right-click it and choose Open.
Run it
Create an API key, then start the agent with the address of each printer. Without any --printer, it uses every printer installed on the computer.
openzpl-agent --key oz_live_… --printer "Dock=192.168.1.50"
For a printer plugged into the computer, use its name as installed, with queue: in front. List them with openzpl-agent list.
openzpl-agent --key oz_live_… --printer "Desk=queue:ZDesigner ZD421"
Send a label to it
From any system, send ZPL or fill a saved design, naming the printer.
curl https://api.openzpl.com/v1/print-jobs -H "X-API-Key: oz_live_…" -H "Content-Type: application/json" \
-d '{"printer": "Dock", "zpl": "^XA^FO50,50^A0N,50,50^FDHello^FS^XZ"}'
curl https://api.openzpl.com/v1/templates/d123/print -H "X-API-Key: oz_live_…" -H "Content-Type: application/json" \
-d '{"printer": "Dock", "data": {"sku": "A-100"}}'
The answer has a job ID: ask GET /v1/print-jobs/{id} whether it printed.
Keep it running
Put your key and printers in openzpl-agent.conf next to the program, one per line, and start it with the computer.
key=oz_live_… printer=Dock=192.168.1.50
Windows
schtasks /Create /TN OpenZPLAgent /SC ONSTART /RU SYSTEM /TR "C:\OpenZPL\openzpl-agent.exe"
Linux (systemd)
[Service] ExecStart=/opt/openzpl/openzpl-agent Restart=always
Questions
Which printers work?
Any that takes ZPL, on the network (port 9100) or installed on the computer.
Is my network exposed?
No. The agent only makes outgoing HTTPS calls, and nothing connects in.
Do you keep the labels?
Only until the agent reports the result, and at most one day if it never picks them up. See the privacy page.
Does it count against my plan?
The agent is part of Pro, up to 3 printers, and Business, with no limit. A free account can try it for 14 days. Each label sent counts the same as a rendered one.
Need something we don't have yet?
A connector for your system, a label format or a new tool: tell us what you use and we'll look at building it.