> For the complete documentation index, see [llms.txt](https://developer.magtek.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.magtek.com/sdks-and-tools/tools-and-utilities/qwantifi-tools-manuals/qwantifi-cloud-device-management-tool-guide.md).

# QwantiFi Cloud Device Management (Tool Guide)

## Introduction

QwantiFi Cloud Device Management is a browser tool for MagTek MMS / DynaFlex readers. Operators use WebHID over USB to open a device session, inspect identity and firmware, configure Wi-Fi on the reader, enter deployment Location details, and update QwantiFi (MQTT) configuration from Magensa RMS.

## What You Can Do

* Pair and open a USB WebHID session (including a multi-device picker by serial number)
* View device model, serial number, and firmware versions
* Enter Location / site address details used by Update Config
* Read and write Wi-Fi settings (SSID, security, DHCP/static, protocol)
* Read QwantiFi / MQTT settings from the device (Get Config)
* Update QwantiFi configuration from RMS and report success/failure back to RMS
* Send manual or batch commands and review the Output Console

## Prerequisites

* A supported MagTek DynaFlex / MMS reader connected by USB&#x20;
  * [<mark style="color:red;">**DynaFlex II SCR**</mark>](https://developer.magtek.com/products/dynafamily-mms-dyna-devices/dynaflex-ii-scr)
  * [<mark style="color:red;">**DynaFlex II PED**</mark>](https://developer.magtek.com/products/dynafamily-mms-dyna-devices/dynaflex-ii-ped)
  * [<mark style="color:red;">**DynaFlex II Go**</mark>](https://developer.magtek.com/products/dynafamily-mms-dyna-devices/dynaflex-ii-go)
* Chrome or Microsoft Edge (WebHID enabled)
* App served from `localhost` or HTTPS
* Network access to the RMS gateway for Update Config
* Valid ResellerID / CustomerID for RMS `AdditionalParameters`

## Main Layout

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2FdVF0cKcGhU1zirtthTnG%2Fimage.png?alt=media&amp;token=f6d2c7ed-9cd4-4ea6-8564-306a0fb95460" alt=""><figcaption></figcaption></figure>

## Device connection

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2FEiUmY3DvI9Tv4vhajqOv%2Fimage.png?alt=media&amp;token=29243168-a96d-4d3d-8f21-856d7d49a6b4" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="126.14813232421875">Control</th><th>Behavior</th></tr></thead><tbody><tr><td>Status</td><td>Dot + short text (Disconnected, Connected, Opened, Reconnecting…)</td></tr><tr><td>Open</td><td>WebHID picker / in-app multi-device list; loads Device Info and configs</td></tr><tr><td>Close</td><td>Ends the HID session</td></tr><tr><td>ResellerID / CustomerID</td><td>Sent as RMS <code>AdditionalParameters</code> (defaults <code>13204</code> / <code>2026213</code>)</td></tr></tbody></table>

#### Open a Device

1. Attach the reader by USB.
2. Click **Open**.
3. If the browser shows a device chooser, select the MagTek reader and allow access.
4. If more than one granted device is available, pick by serial number in the Select Device modal.
5. Confirm status shows **Opened** and Device Info populates.

#### Close a Device

Click **Close** to end the WebHID session. Fields may retain last-known values until cleared or refreshed.

## Device Info and Location

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2Fxb5l1J2vhva3PLRLFWEa%2Fimage.png?alt=media&amp;token=84c9353d-3eef-4c85-94bc-34840a0fe4eb" alt=""><figcaption></figcaption></figure>

#### Device Info

After **Open**: Model, Serial Number, and MainApp / BLE / WLAN FW Version (when available). Use the copy icon on the section title to copy fields as text.

#### Location

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2F2CcrSNH1kqAT8kNXzyBL%2Fimage.png?alt=media&amp;token=416030bf-a817-4650-939a-db5bd54929b8" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="218.33331298828125">Field</th><th width="146.0740966796875">Required?</th><th>Notes</th></tr></thead><tbody><tr><td>Device Friendly Name</td><td>No</td><td>Stored as <code>DeviceNickname</code> in Update Config</td></tr><tr><td>Street 1</td><td>No</td><td>Primary street line</td></tr><tr><td>Street 2</td><td>No (optional)</td><td>Suite / unit</td></tr><tr><td>City</td><td>No</td><td>City name</td></tr><tr><td>State</td><td>No</td><td>US state dropdown (2-letter code)</td></tr><tr><td>ZIP</td><td>No</td><td>5 digits</td></tr><tr><td>ZIP+4</td><td>No (optional)</td><td>4 digits</td></tr><tr><td>Country</td><td>Defaults to US</td><td>Editable; defaults to US</td></tr></tbody></table>

* Values persist in browser storage and are included in Update Config `AdditionalParameters`.
* **Clear** (header, left of copy) empties all fields and resets Country to US.
* **Copy** copies the Location fields as text.
* There is no address geocode validation; empty fields are allowed.

## Wi-Fi

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2FVANYtY9eOQZNjvoSPyQd%2Fimage.png?alt=media&amp;token=a9a696d0-1887-484d-a0f8-8fa9aca033f8" alt=""><figcaption></figcaption></figure>

| Field                | Editable | Notes                       |
| -------------------- | -------- | --------------------------- |
| SSID Name / Password | Yes      | Primary credentials         |
| Security Mode        | Yes      | PSK or EAP-PEAP (More info) |
| Address Mode         | Yes      | DHCP or Static IP           |
| IP Address           | No       | Reported by the device      |
| WLAN Protocol        | Yes      | MQTT or WebSocket Server    |

**Save Config** writes Wi-Fi values to the device and shows inline success/failure. **Get Config** (in QwantiFi) can refresh values from the reader.

### QwantiFi Configuration (MQTT)

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2Fs89ZZ5vgzoPJL6oygCQa%2Fimage.png?alt=media&amp;token=06cb8e90-1ece-4af1-bf2b-4eed6ba7d33b" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="195.0369873046875">Control</th><th>Behavior</th></tr></thead><tbody><tr><td>Get Config</td><td>Reads Wi-Fi and MQTT properties from the device (local HID)</td></tr><tr><td>Update Config</td><td><code>POST api/V2/Configs</code> → apply Commands on device → <code>POST UpdateDeviceStatus</code></td></tr><tr><td>Broker / Client ID / …</td><td>Read-only in UI; provisioned from RMS</td></tr></tbody></table>

Status under **Update Config** advances one step at a time (Connecting → Sending request → Getting response → Updating → success/fail). Location fields and ResellerID / CustomerID are sent in `AdditionalParameters`. The endpoints behind this panel are documented in the [<mark style="color:red;">**RMS MQTT Configuration API Reference**</mark>](https://developer.magtek.com/api-and-command-reference/qwantifi-api-and-command-reference/rms-mqtt-configuration-api-reference).

#### Sample Update Config request body

**(Example values shown.)**

```json
{
  "ProductName": "DYNAFLEX",
  "ProfileName": "MagTek_MQTT",
  "ConfigurationName": "DynaFlexMqttAll",
  "Version": null,
  "FirmwareID": "1000009711-AC2-PCI",
  "DeviceSerialNumber": "B563215",
  "BillingLabel": "Test",
  "InterfaceType": "USB",
  "DownloadPayload": true,
  "RawCommands": true,
  "Authentication": null,
  "AdditionalParameters": {
    "KSN": "",
    "Boot1FirmwareID": "",
    "WifiFirmwareID": "",
    "ResellerID": "13204",
    "CustomerID": "2026213",
    "DeviceNickname": "Store 101 Front Counter",
    "Street1": "3674 Tyler Ave",
    "Street2": "Suite 200",
    "City": "El Monte",
    "State": "CA",
    "ZipCode": "91731",
    "ZipPlus4": "2506",
    "Country": "US"
  }
}
```

#### After Update Config

* RMS may return Commands (`SENDCOMMAND`, `SENDFILE`, `WAIT`, `RESETDEVICE`, `DISPLAYMESSAGE`).
* The app executes those commands on the device when enabled.
* Success or failure is reported to RMS via `UpdateDeviceStatus`.
* If `RESETDEVICE` is included, the app waits and reopens the USB session when possible.

## Tools & Support and Output Console

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2FbKSOaEATIXbFOOniDr5F%2Fimage.png?alt=media&amp;token=10fc2f27-186c-4017-a36e-4c2816b80faa" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="226.88897705078125">Control</th><th>Purpose</th></tr></thead><tbody><tr><td>+ / − Tools &#x26; Support</td><td>Shows or hides the command / console strip</td></tr><tr><td>Command</td><td>Hex, <code>SENDCOMMAND,…</code>, or <code>SENDFILE,…</code></td></tr><tr><td>Batch</td><td>Load a commands file (JSON Commands array or script lines)</td></tr><tr><td>Send Command</td><td>Runs one command or the batch file</td></tr><tr><td>Output Console</td><td>Dark terminal-style log</td></tr><tr><td>View Details / Clear</td><td>Full detail modal / clear history</td></tr></tbody></table>

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2FnTNG5IikHFPDodZoxUA6%2Fimage.png?alt=media&amp;token=7d2078c5-a825-42c5-ba9e-a4df4abf4426" alt=""><figcaption></figcaption></figure>

## Typical workflows

* **First-time pairing:** Serve over HTTPS or localhost; attach a supported MMS reader by USB; click **Open** and grant the device (or pick by serial when multiple are attached); confirm Device Info fills in.
* **Enter Location:** Fill Device Friendly Name and address fields as needed (Street 2 and ZIP+4 are optional); Country defaults to US; use **Clear** in the Location header to reset; values are saved locally and sent on the next Update Config.
* **Configure Wi-Fi:** Open the device; optionally click **Get Config** to load current values; edit SSID / password and More info as needed; click **Save Config** and confirm the inline status.
* **Provision QwantiFi from RMS:** Open the device; confirm ResellerID / CustomerID and Location fields; optionally **Get Config** to see what is on the reader; click **Update Config** and watch the step status; expand Tools & Support / Output Console for the full log; RMS receives success or failure via `UpdateDeviceStatus`.
* **Debug with a command or batch file** — Expand Tools & Support; enter a hex / `SENDCOMMAND` / `SENDFILE` line, or check Batch and choose a file; **Send Command**; expand the Output Console / View Details for responses.

## Mobile layout

<figure><img src="https://4093728396-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fwjbnqo0srzj14AwQMHQM%2Fuploads%2FPlI6K6FS1B4jP84X6rVD%2Fimage.png?alt=media&amp;token=928a7c3d-f8db-472f-94e8-81d9589b509d" alt=""><figcaption></figcaption></figure>

On tablets and phones the page stacks for scrolling. Controls remain the same; touch targets are sized for smaller screens.

## Troubleshooting

<table><thead><tr><th width="267.629638671875">Symptom</th><th>What to try</th></tr></thead><tbody><tr><td>Open does nothing / no devices</td><td>Use Chrome/Edge; serve localhost or HTTPS; check USB cable</td></tr><tr><td>Device Info stays empty</td><td>Confirm status is Opened; Close and Open again</td></tr><tr><td>Save Config fails</td><td>Verify SSID/password; expand Output Console for command errors</td></tr><tr><td>Update Config fails at Sending</td><td>Check RMS BaseUrl / network; confirm API key on server</td></tr><tr><td>Update Config fails during Updating</td><td>Inspect Commands in the log; retry after device reconnect</td></tr><tr><td>Multi-device picker hangs</td><td>Wait for serial probe timeout, or unplug unused readers</td></tr></tbody></table>

## Need More Help

{% hint style="info" %}
**Need Help?**

For additional support, please contact MagTek Support:

**Technical Support:**

* 📧 **Email:** [support@magtek.com](mailto:support@magtek.com?subject=Support%20Request)
* 📞 **Phone:** 1-562-546-6800 (US)
* 🕐 **Hours:** Monday-Friday, 5:30 AM - 5:00 PM PST

**Online Resources:**

* 🌐 **Support Portal:** developer.magtek.com

**Documentation Feedback:**

Help us improve this documentation! [feedback@magtek.com](mailto:feedback@magtek.com?subject=Feedback)
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.magtek.com/sdks-and-tools/tools-and-utilities/qwantifi-tools-manuals/qwantifi-cloud-device-management-tool-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
