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.

Your devices → OWON Gateway → (socket) → OWON Cloud → (HTTP/JSON) → Your Server

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

100Success
101Failure
102Requests too frequent / wrong account or password
103agentKey or accessToken not valid
104Account locked after 10 failed verifications (retry in 20 min)
106accessToken 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.