REST API Non-PNP devices Objects FOUND DEVICE
April 13, 2023 at 2:39 AMFOUND_DEVICE
When a SpringCard device is found “in the nearby” by the Begin Lookup / End Lookup method, a JSON FOUND_DEVICE object is created and populated that contains the (few) technical data publicly exposed by the device.
This object is consistent with the DEVICE object, yet a lot of data are still missing at this step because the service may not have a full access to the device itself yet.
Object definition
Field name | Type | Status | Description | Condition |
---|---|---|---|---|
DeviceId |
string | always | The DeviceId of the newly found device. Use this as {$id} in all /device/{$id} requests |
|
IsNew |
boolean | option | Was the found device not already in the list of present devices? | |
Bound |
boolean | option | Is the found device already in the list of non-PNP bound devices? | |
Name |
string | always | Name of the device, collected from the device’s meta-data | |
Channel |
string | always | Communication channel: ble or network |
|
PnpId |
string | option | Technical identifier of the device, in the form ssvvvvpppprrrr where- ss is the VendorID source (02 for USB Workgroup),- vvvv is the VendorID in hex (1C34 for SpringCard),- pppp is the ProductID in hex,- rrrr the Release (for instance, 0210 for version “2.10”) |
|
Mode |
string | always | Operating mode of the device: coupler , reader , idle or unknown |
|
SerialNumber |
string | option | Serial number of the device | Not empty |
Version |
string | option | Version of the device (ex: “2.10”) | |
Firmware |
string | option | Identification of the firmware | |
Hardware |
string | option | Identification of the hardware (part number) | Not empty |
Characteristics |
option | option | Technical characteristics of the hardware (see Hardware Characteristics) | Not empty |
UniqueId |
string | option | Unique Identifier of the device (signature of the hardware) | |
ConfigId |
string | option | The GUID of the configuration (signature of the settings) (register 0200) | Register set in NVM |
Inventory |
string | option | Inventory number (register 0201) | Register set in NVM |
Location |
string | option | Location (register 0202) | Register set in NVM |
PhysAddress |
string | option | Physical address of the device, as an hex-string, if this information is available and makes sense. For a BLE device, this is the BT_ADDR, for a network device, the MAC address. |
|
Dhcp |
boolean | option | true if the device is configured as DHCP client, false if its network configuration is static |
Network device |
IpAddress |
string | option | Current IP address of the device | Network device |
IpMask |
string | option | Current network mask of the device | Network device |
IpGateway |
string | option | Current default gateway of the device | Network device |
TcpServerPort |
integer | option | Main TCP server of the device | Network device and TCP server profile |
Warning
The DeviceId field is likely to be a temporary value. The very same device is likely to get a totally different DeviceId the next time it is found by the computer, and a different device may be assigned the same DeviceId as a previously connected one in a future iteration.
If you want to identify a particular device, use the SerialNumber or PhysAddress fields.
Example
{
"DeviceId": "4rIUNPyNqg9ltFALpWUKQ1",
"IsNew": false,
"Bound": false,
"Name": "SpringCard SpringPark",
"SerialNumber": "74905007901",
"Channel": "network",
"PhysAddress": "74905007901",
"Mode": "pcsc",
"Location": "JDA's Office",
"Dhcp": true,
"IpAddress": "192.168.16.225",
"IpMask": "255.255.255.0",
"IpGateway": "192.168.16.20",
"TcpServerPort": 3999
}