Method A · Cloud-to-Cloud Server API
Your server talks to the OWON 6000 cloud; the cloud talks to the gateways. Gateways keep their normal OWON setup, and you get device data and control through a small set of HTTP/JSON endpoints — the fastest path to production. If you need data to bypass the OWON cloud entirely, use Method B instead.
1 · Credentials & Address
OWON issues each project an agentId and agentKey, together with the server address for your deployment (ask sales). Every request carries a timestamp in seconds since 2000-01-01 00:00:00 — note the non-standard epoch.
You also register a callback URL: the OWON server POSTs device data forwarded from your gateways to that URL, so telemetry uplink and command downlink stay symmetric with your own backend design.
2 · Authentication
Exchange agent credentials for an accessToken valid for 24 hours; renew with the refreshToken before expiry.
# 1. Obtain an AccessToken (valid 24h)
POST {OWON_SERVER}/busproc/nt/agent/getaccesstoken
Content-Type: application/json; charset=utf-8
{
"agentId": "your_agent_id", # issued by OWON
"agentKey": "your_agent_key", # issued by OWON
"ts": "586851710" # seconds since 2000-01-01 00:00:00
}
# Response
{
"code": "100", # 100 = success
"accessToken": "...", # use for the next 24 hours
"refreshToken": "...", # use to renew without new credentials
"ts": "586851710"
}
# 2. Renew before expiry
POST {OWON_SERVER}/busproc/nt/agent/refreshtoken
{ "agentId": "...", "refreshToken": "...", "ts": "..." }3 · Query & Control
Verify end-user accounts, page through their gateways (online state, firmware version, model), and send Gateway API commands through the cloud:
# Query the gateways belonging to an end-user account
POST {OWON_SERVER}/busproc/agent/userGw
{
"agentId": "...", "accessToken": "...",
"account": "user@example.com", "password": "***",
"pageno": 1, "pagesize": 10, "ts": "..."
}
# Response — one page of gateways
{
"code": "100", "msg": "success",
"response": {
"pageno": 1, "pagesize": 10, "total": 2,
"rows": [
{
"mac": "ACDD11A...", # gateway MAC = unique id
"name": "gateway1",
"online": 1, # 1 online / 0 offline
"gversion": "X3_HA_V2.5.10_20180417",
"devmodel": "X3",
"timezone": 8, "status": 1
}
]
}
}# Send a command to a gateway (forwarded by OWON cloud)
POST {OWON_SERVER}/busproc/agent/sendGwData
{
"agentId": "...", "accessToken": "...",
"mac": "ACDD11A...", # target gateway
"data": { ... }, # Gateway API command JSON
"ts": "..."
}
# Device telemetry uplink: provide a URL at onboarding —
# the OWON server POSTs forwarded device data to it.4 · Response Codes
| 100 | Success |
| 101 | Failure |
| 102 | Requests too frequent / wrong account or password |
| 103 | agentKey or accessToken not valid |
| 104 | Account locked after 10 failed verifications (retry in 20 min) |
| 106 | accessToken expired — refresh it |
Full Server API Document on Request
The complete specification — every command, field-by-field payload tables, data-forwarding format, OTA and gateway-management functions, and worked examples — is delivered as an official document along with your agentId/agentKey when a project starts.
