Verify with Bruno
Use the Bruno collection to verify authentication, device queries, relay control, RS485 transceive, and command-result lookups. Compared with the two curl requests, this path covers more ground, and the built-in assertions validate response shape automatically instead of requiring you to eyeball JSON.
Before You Start
- Prepare
clientIdandclientSecret. - Enable
device:read; enabledevice:controlordevice:configonly if you will run the relay or RS485 requests. - Confirm that the target device and relay are safe to control.
- No hardware or credentials yet? Contact support@svnwi.com to request test credentials and available demo device models — you do not need to purchase hardware first.
1. Install Bruno
Download the Bruno desktop app. For CI or headless environments, install the CLI:
npm install -g @usebruno/cli
bru --version2. Get the Collection
You only need the examples/bruno folder from the SDK repository, not the whole repository. Use a sparse checkout to fetch only that part:
git clone --filter=blob:none --sparse https://github.com/svnwi/wlte-openapi-sdk.git
cd wlte-openapi-sdk
git sparse-checkout set examples/brunoOpen this folder in the Bruno desktop app:
examples/bruno/WLTE-OpenAPI/3. Configure Credentials
The environments/quickstart.bru file committed to the repository contains placeholders only, so it is safe to appear in Git history. Real credentials go into a local copy that is never committed:
cd examples/bruno/WLTE-OpenAPI
cp environments/quickstart.bru environments/quickstart.local.bruOpen environments/quickstart.local.bru and replace only:
clientId -> your_client_id
clientSecret -> your_client_secretSelect the quickstart.local environment in Bruno. Collection scripts populate accessToken, deviceId, and commandId automatically; relayIndex defaults to 1.
quickstart.local.bru is already excluded via .gitignore — do not change that rule.
4. Run Read-only Verification
Run these requests in order:
| Order | Request | Purpose |
|---|---|---|
| 1 | 00-auth / Auth | Obtain an access token |
| 2 | 01-device-queries / 01-list-devices | Confirm accessible devices and auto-populate deviceId |
| 3 | 01-device-queries / 02-get-device-real-time-status | Refresh and read one device's state |
| 4 | 01-device-queries / 03-list-profiles | Look up device type definitions to confirm capabilities |
| 5 | 01-device-queries / 04-get-device-config | Read the current configuration (baud rate, jog duration, etc.) |
The built-in assertions validate the HTTP status and response shape.
5. Optionally Verify Device Control
Device commands change real hardware state. Continue only when the API Client has the matching permission and the operation is safe; pick whichever requests you need:
| Order | Request | Purpose | Required Scope |
|---|---|---|---|
| 6 | 02-relay-control / 01-turn-relay-on | Turn one relay on | device:control |
| 7 | 02-relay-control / 02-turn-relay-off | Turn one relay off | device:control |
| 8 | 02-relay-control / 03-jog-relay | Trigger one jog | device:control |
| 9 | 02-relay-control / 04-set-relay-jog-time | Set the jog duration (does not change the relay's current state) | device:config |
| 10 | 02-relay-control / 05-control-multiple-relays | Control multiple relays in one request | device:control |
| 11 | 04-rs485 / 01-rs485-transceive | Send RS485 transceive data (requires an RS485-capable device) | device:control |
| 12 | 04-rs485 / 02-set-rs485-baud-rate | Set the RS485 baud rate | device:config |
| 13 | 03-command-result / 01-get-command-result | Look up the final result using the commandId from a previous step | device:read |
Skip this whole section for read-only integrations. Before testing RS485 requests, set rs485DeviceId to a device that actually supports RS485 (it defaults to the first discovered device purely for collection navigation, which does not imply RS485 support).
CLI Usage
The CLI can select which folders to run by path, so you can keep read-only verification and device control as two separate commands instead of one that might trigger relay actions by accident:
cd examples/bruno/WLTE-OpenAPI
# Read-only verification: only reads data, never changes device state
bru run --env-file environments/quickstart.local.bru \
00-auth 01-device-queries
# Device control verification: actually operates relays and RS485 devices — confirm it's safe first
bru run --env-file environments/quickstart.local.bru \
02-relay-control 04-rs485 03-command-resultDo not run bru run --env quickstart with no paths
Without a folder path, bru run executes every request in the collection recursively, including relay on/off, jog, and RS485 commands — even if you only intended a read-only check. Always specify the folders explicitly as shown above.
For a first integration, the desktop app is easier for inspecting environment variables, assertions, and response bodies. The CLI is better suited for repeated verification or CI.
Verification Result
After completing this page, you have verified:
- API Client authentication
- Device access, real-time state, device configuration, and type definitions
- Optional relay control, RS485 transceive, and command-result lookup
Do not use repeated single-device requests to monitor an entire account. Use device lists for bulk views and WebSocket events for continuous changes.
