Modifying Device Information
Typical Scenario
After an NA registers a device with the IoT platform and the basic information about the device changes, the NA can call this API to modify device information on the IoT platform.
API Function
This API is used by an NA to modify the basic information about a device, including the device type, device model, manufacturer, and access protocol.
API Prototype
Method |
PUT |
---|---|
URL |
https://server:port/iocm/app/dm/v1.4.0/devices/{deviceId}?appId={appId} |
Transport Protocol |
HTTPS |
Request Parameters
Parameter |
Mandatory or Optional |
Type |
Location |
Description |
---|---|---|---|---|
app_key |
Mandatory |
String |
header |
Identifies an application that can be accessed on the IoT platform. The value of this parameter is allocated by the IoT platform when the application is created on the platform. |
Authorization |
Mandatory |
String |
header |
Indicates the authentication information for accessing the IoT platform. The value is Bearer {accessToken}, in which {accessToken} indicates the access token returned by the Authentication API. |
deviceId |
Mandatory |
String |
path |
Uniquely identifies a device. The value of this parameter is allocated by the IoT platform during device registration. |
appId |
Optional |
String |
query |
Identifies an application that can be accessed on the IoT platform. The value of this parameter is allocated by the IoT platform when the application is created on the platform. Set this parameter to the value of appId of the authorized application. |
customFields |
Optional |
List<CustomField> |
Body |
User-defined field list. Users can set customized fields. |
deviceConfig |
Optional |
body |
Indicates the device configuration information. |
|
deviceType |
Optional |
String(1~256) |
body |
Indicates the device type. The upper camel case is used, for example, MultiSensor, ContactSensor, and CameraGateway. |
endUser |
Optional |
String(1~256) |
body |
Indicates an end user. If the device is a directly connected device, this parameter is optional. If it is an indirectly connected device, this parameter can be set to null. |
location |
Optional |
String(1~1024) |
body |
Indicates the device location. |
productId |
Optional |
String(256) |
Body |
Identifies the product to which the device belongs. |
manufacturerId |
Optional |
String(1~256) |
body |
Uniquely identifies a manufacturer. |
manufacturerName |
Optional |
String(1~256) |
body |
Indicates the manufacturer name. |
model |
Optional |
String(1~256) |
body |
Indicates the device model, which is defined by the manufacturer. |
mute |
Optional |
String(1-256) |
body |
Indicates whether the device is in the frozen state. Based on the value of this parameter, the IoT platform determines whether to manage and store data reported by the device.
|
name |
Optional |
String(1~256) |
body |
Indicates the device name. |
organization |
Optional |
String(1~256) |
body |
Indicates the organization to which the device belongs. |
protocolType |
Optional |
String(1~256) |
body |
Indicates the protocol used by the device. CoAP, LWM2M, and MQTT are supported. |
region |
Optional |
String(1~256) |
body |
Indicates the region information about a device. |
timezone |
Optional |
String(1~256) |
body |
Indicates the time zone of the device, for example, Asia/Shanghai and America/New_York. |
imsi |
Optional |
String(64) |
Body |
Indicates the IMSI of an NB-IoT device. |
ip |
Optional |
String(128) |
Body |
Indicates the device IP address. |
isSecure |
Optional |
Boolean |
body |
Indicates whether the device is secure. The default value is false. In NB-IoT scenarios, if a registered device is an encryption device, this parameter must be set to true.
|
psk |
Optional |
String(8-32) |
body |
Indicates the pre-shared key (PSK). The value is a string of characters, including upper-case letters A to F, lower-case letters a to f, and digits 0 to 9. |
Indicates the tag of a device. |
Parameter |
Mandatory or Optional |
Type |
Location |
Description |
---|---|---|---|---|
fieldName |
Optional |
String(256) |
Body |
Indicates the field name. |
fieldType |
Optional |
String(256) |
Body |
Indicates the field type. |
fieldValue |
Optional |
Object |
Body |
Indicates the field value. |
Parameter |
Mandatory or Optional |
Type |
Description |
---|---|---|---|
dataConfig |
Optional |
Indicates the data configuration information. |
Parameter |
Mandatory or Optional |
Type |
Description |
---|---|---|---|
dataAgingTime |
Optional |
Integer[0,90] |
Indicates the data aging time. The value range is 0–90. Unit: day. |
Parameter |
Mandatory or Optional |
Type |
Location |
Description |
---|---|---|---|---|
tagName |
Mandatory |
String(1-128) |
body |
Indicates the tag name. |
tagValue |
Mandatory |
String(1-1024) |
body |
Indicates the tag value. |
tagType |
Optional |
Integer |
body |
Label Type |
Response Parameters
Status Code: 204 No Content
Request Example
Method: PUT Request: https://server:port/iocm/app/dm/v1.4.0/devices/{deviceId}?appId={appId} Header: app_key: ****** Authorization: Bearer ****** Content-Type: application/json Body: { "name": "****", "endUser": "****", "mute": "****", "deviceConfig": { "dataConfig": { "dataAgingTime": 30 } } }
Response Example
Response: Status Code: 204 No Content
Error Codes
HTTP Status Code |
Error Code |
Error Description |
Remarks |
---|---|---|---|
200 |
100203 |
The application is not existed. |
The application does not exist. Recommended handling:
|
400 |
100022 |
The input is invalid. |
An input parameter is invalid. Recommended handling: Check whether parameters carried in the API call request are valid. |
400 |
100440 |
The isSecure is invalid. |
The value of isSecure is incorrect. |
400 |
50400 |
The input is invalid. |
An input parameter is invalid. Recommended handling: Check whether parameters carried in the API call request are valid. |
403 |
100203 |
The application is not existed. |
The application does not exist. Recommended handling:
|
403 |
100217 |
The application hasn't been authorized. |
The application has not been authorized. Recommended handling: In scenarios where applications are not authorized, ensure that request parameter appId is null. |
403 |
1010009 |
app throttle exceed. |
The NA calls the API at a frequency that exceeds the flow control threshold (100 calls per minute by default). Recommended handling: Contact IoT platform maintenance personnel to adjust the flow control threshold or control the API call frequency. |
403 |
1010005 |
App_key or access_token is invalid. |
The access token is invalid. Recommended handling: Check whether accessToken carried in the API request is correct. |
403 |
500004 |
The amount of frozen devices has reached the limit. |
The number of frozen devices has reached the upper limit. |
404 |
100403 |
The device is not existed. |
The device does not exist. Recommended handling: Check whether deviceId is correct. |
404 |
100418 |
The deviceData is not existed. |
The device data does not exist. Recommended handling:
|
500 |
100203 |
The application is not existed. |
The application does not exist. Recommended handling:
|
500 |
100441 |
The amount of nonSecure device has reached the limit. |
The number of non-security devices has reached the upper limit. |
500 |
50252 |
Internal server error. |
An internal server error occurs. Recommended handling: An internal error occurs on the IoT platform. Contact IoT platform maintenance personnel. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot