Device Manager API Request
Administrators for the company that owns Smart Inventory Tracker send the Device Manager Request to provide information for devices that need authentication. Administrators can also update data attributes and configuration details for previously authenticated devices or delete device information.
See the Body guidelines, Errors, and Body example for this message below.
Body guidelines
Element | Type |
Update |
Description | ||
---|---|---|---|---|---|
deviceInformationList | List Begin | – | Required. The list of devices that require authentication certificates. ![]() |
||
deviceInformation | Section Begin | – | Required. The information about each device. | ||
deviceName | String | Yes | Required. The name of the device. Must be unique across all names defined for a single locationId. | ||
deviceUniqueIdentifier | String | No | Required. The Machine (e.g. MAC) address for the device. Must be 6 sets of 2 characters separated by colons or hyphens (e.g. 00:23:68:CF:A4:D8 or 00-23-68-CF-A4-D8 ). Acceptable characters are numbers 0-9 and letters A-F. |
||
deviceType | Enum | No | Required. The type of device. Valid values:
|
||
deviceMake | Enum | No |
Required. The brand of the device. Valid values:
|
||
deviceModel | Enum | No |
Required. The model of the device. Valid values:
|
||
action | Enum | – |
Required. The action that the Device Manager must take with the specified deviceUniqueIdentifier. Valid values:
|
||
companyExternalId | String | Yes | Required. The External ID for the company registering the device. Must match a valid company in the Track & Trace Services. Contact TraceLink Support or the company's TraceLink Technical Consultant for the External ID. | ||
locationId | String | Yes | Required. The identifier value for the device's specific location. Must match a valid location in the Track & Trace Services. | ||
locationType | Enum | Yes | Required. The identifier type for the device's specific location. ![]()
|
||
countryCode | String | Yes | Conditionally required if the serialNumberEventManager is SEM , defaultSOM , or defaultSEM .
The default market for reporting serial numbers to. Must be an ISO Alpha 2-digit code. |
||
environment | Enum | Yes | Required. The Smart Inventory Tracker environment that the device must be authenticated within. Valid values:
![]() |
||
port | Enum | Yes |
The firewall port that the individual device uses to communicate with the TraceLink Track & Trace Services. Valid values:
If a device is currently registered with ![]() 8883 . |
||
serialNumberEventManager | Enum | Yes |
Required. The serial number event manager that Smart Inventory Tracker integrates with. Valid values:
|
||
active | Boolean | Yes |
Required. Indicates whether the device can be used. Valid values:
|
Errors
Errors display in the Device Manager
Element | Error | Description |
---|---|---|
username | User is not authorized to access this resource with an explicit deny | The username is not present, or the username and password pairing cannot be authenticated. |
user [username] does not have the Devices permission | The username can be authenticated, but the user is not an Administrator for the company where the device is being registered, or the user is not assigned a role with the Devices permission enabled. | |
password | User is not authorized to access this resource with an explicit deny | The password is not present or the username and password pairing cannot be authenticated. |
deviceInformationList | More than 40 devices defined within the request. Limit request to 40 devices. | The request must contain a maximum of 40 devices. Separate the request into multiple messages to add, update, or remove more than 40 devices. |
deviceName |
The device [deviceName] is not unique within the associated location [locationId] | At least one other device at that locationId exists with the same deviceName. |
deviceName for [deviceUniqueIdentifier] is required | The deviceUniqueIdentifier is present, but the deviceName is not. | |
deviceName is required | Neither the deviceName nor the deviceUniqueIdentifier are present. | |
deviceName must not contain spaces | The deviceName contains a space, which is an invalid character. | |
deviceName contains invalid characters | The deviceName contains a character that is not alphanurmeric or one of the following special characters: _ . , @ / : # - | |
deviceUniqueIdentifier | Device [deviceUniqueIdentifier] must be 6 sets of two characters, separated by a colon ":" or a hyphen "-" and containing numbers 0-9 and letters A-F | The deviceUniqueIdentifer does not follow the format requirements. |
Device [deviceUniqueIdentifier] already exists | Another device registered with the Device Manager uses the same deviceUniqueIdentifier, and the action specified in the request is add . |
|
deviceUniqueIdentifier is a required field | The deviceUniqueIdentifier is not present. | |
Device [deviceUniqueIdentifier] does not exist in your company | The specified device exists at another company on the TraceLink network and cannot be added to, updated, or removed from the company of the user that sent the request. | |
deviceType | deviceType must be one of the supported values | The deviceType is not present, or is not Handheld or SmartPhone . |
deviceMake | deviceMake must be one of the supported values | The deviceMake is not specified, or is not Zebra , Google , or Samsung . |
Invalid deviceMake based on deviceType, deviceMake must be Zebra or Honeywell when deviceType is Handheld | The deviceType is Handheld , but the deviceMake is not Zebra or Honeywell . |
|
Invalid deviceMake based on deviceType, deviceMake must either be Google or Samsung when deviceType is SmartPhone | The deviceType is SmartPhone , but the deviceMake is not Google or Samsung . |
|
deviceModel | deviceModel must be one of the supported values | The deviceModel is not specified, or is not MC3300 , TC50x , TC51 , TC52 , CN80L1N , Pixel2 , or GalaxyS9 . |
Invalid deviceModel based on deviceMake, deviceModel must be MC3300, TC70x, TC51, or TC52 when deviceMake is Zebra | The deviceMake is Zebra , but the deviceModel is not MC3300 , TC50x , TC51 , or TC52 . |
|
Invalid deviceModel based on deviceMake, deviceModel must be CN80L1N when deviceMake is Honeywell | The deviceMake is Honeywell , but the deviceModel is not CN80L1N . |
|
Invalid deviceModel based on deviceMake, deviceModel must be Pixel 2 when deviceMake is Google | The deviceMake is Google , but the deviceModel is not Pixel2 . |
|
Invalid deviceModel based on deviceMake, deviceModel must be GalaxyS9 when deviceMake is Samsung | The deviceMake is Samsung , but the deviceModel is not GalaxyS9 . |
|
action | Device [deviceUniqueIdentifier] does not exist and cannot be deleted | The Device Manager does not have record of the device specified and cannot delete it. |
action is a required field | An action is not present. | |
[action] failed | The Device Manager did not successfully store the device information. | |
companyExternalId | companyExternalId is a required field | The companyExternalId is not present. |
locationId | lnvalid locationId [locationId] | The locationId does not exist in the Track & Trace Services. |
locationId is a required field | The locationId is not present. | |
locationType | locationType is a required field | The locationType is not present. |
Invalid locationType [locationType] | The locationType is not one of the supported values (see Guidelines above). | |
locationType does not match expected locationType for locationID [locationID] | The locationId is found in the Track & Trace Services, but the locationType value does not match the locationType associated with that locationId. | |
countryCode | countryCode is a required field when serialNumberEventManager is SEM | The serialNumberEventManager is SEM , but the countryCode is not present. |
countryCode must be a valid ISO 3166 Alpha 2-Code | The countryCode is not a valid ISO 3166 Alpha 2-Code. | |
environment | environment is a required field | The environment is not present or is not Beta , Test , or Production . |
port | port must be one of the supported values, '8883' or '443' | The port is entered, but is not 8883 or 443 . |
serialNumberEventManager | serialNumberEventManager is a required field | The serialNumberEventManager is not present. |
serialNumberEventManager must be one of the supported values, 'SOM', 'SEM', 'defaultSOM', or 'defaultSEM | The serialNumberEventManager is not SOM , SEM , defaultSOM , or defaultSEM . |
|
active | active is a required field | The active value is not present. |
active value must be true or false | The active value is not true or false . |
Body example
{"deviceInformationList":
[{"deviceName": "HH_QE_OMICRON-C5",
"deviceType": "Handheld",
"deviceMake": "Zebra",
"deviceModel": "MC3300",
"action": "add",
"deviceUniqueIdentifier": "94:FB:29:29:0C:C5",
"companyExternalId": "kendallpharm",
"locationId": "MUNICHWOBURN-326",
"locationType": "COMPANYSITEID",
"countryCode": "DEUS,
"environment": "itest",
"port": "8883",
"serialNumberEventManager": "defaultSEM",
"active": "true"
}]}