POST api/hardware/login
Logs the workstation in and returns its configuration for this session: printers, till drawer, payment terminal, log level, and the XMPP settings it uses to receive print and payment requests. Each call issues a new XMPP password (creating the XMPP account on first login) and records the client version and login time. POST rather than GET for that reason: don't cache it or retry it automatically. Responses: 200 with the configuration. 401 if the Hardware ID or password is wrong. 503 if the server can't reach the XMPP server or its Jabber configuration is missing: try again later.
Request Information
URI Parameters
None.
Body Parameters
None.
Response Information
Resource Description
The workstation's configuration. Settings that aren't set come back as the server's defaults.
HardwareConfigDT| Name | Description | Type | Additional information |
|---|---|---|---|
| HardwareId |
The Hardware ID that logged in. |
string |
None. |
| ServerVersion |
The server's build, such as 1.2.3.4. A string because Newtonsoft can't deserialize System.Version without a converter. |
string |
None. |
| ClientDownloadUrl |
Where to download the current Hardware Interface installer. |
string |
None. |
| Messaging |
XMPP settings, for receiving print and payment requests. |
MessagingConfigDT |
None. |
| Printing |
Printer settings. Settings that aren't set come back as the server's defaults. |
PrintingConfigDT |
None. |
| TillDrawer |
Till drawer settings, or null if there's no till drawer. |
TillDrawerConfigDT |
None. |
| PaymentTerminal |
Card terminal settings, or null if there's no card terminal. |
PaymentTerminalConfigDT |
None. |
| LogLevel |
Detail for this connection's log: Verbose, Warnings, or null for Normal (HardwareSettingFields.LogLevel*). |
string |
None. |
| LogLevelUntilUtc |
When Verbose ends, in UTC. The client goes back to Normal at this time by itself, in case it doesn't log in again first (the next login would return Normal anyway). Null: no time limit. |
date |
None. |
Response Formats
application/json, text/json
{
"hardwareId": "sample string 1",
"serverVersion": "sample string 2",
"clientDownloadUrl": "sample string 3",
"messaging": {
"server": "sample string 1",
"connectServer": "sample string 2",
"instanceName": "sample string 3",
"useStartTls": true,
"username": "sample string 5",
"password": "sample string 6"
},
"printing": {
"pdfReaderExe": "sample string 1",
"pdfArgumentFormat": "sample string 2",
"pdfPrinterName": "sample string 3",
"ticketPrinterName": "sample string 4",
"receiptPrinterName": "sample string 5",
"tempFilePath": "sample string 6",
"autoCleanOldFiles": true
},
"tillDrawer": {
"type": "sample string 1",
"id": "sample string 2"
},
"paymentTerminal": {
"terminalType": "sample string 1",
"ipAddress": "sample string 2",
"terminalId": "sample string 3",
"disablePrinting": true,
"authToken": "sample string 5"
},
"logLevel": "sample string 4",
"logLevelUntilUtc": "2026-11-04T14:40:47.0806686+00:00"
}