audio.ring.updateList (Replace custom ringtone list)
audio.ring.updateList: Replace custom ringtone list
audio.ring.updateList · Device scope · Permission Config
Feature details
Replace the full list of native custom ringtones with soundInfoList. inputData.soundInfoList is an array of up to 100 elements; the following table soundInfoList.item. * Represents the array element struct field (JSON key name isname/url/index/soundType/relateType, noitem.prefix). Array elementindex0 ~ 255 (different file from propertyitem.index0 ~ 999999). Ringtone type:updateList [] .soundType· New ringtoneinputData.type· propertyitem.type.
Request address
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.service.invoke
Minimum permission
Administrators do not need permission to operate self-bound devices. Basic configuration permission is required to operate the shared device. Child user binding is not required. Sub-account requires Config. A timeout does not imply a failure to execute.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
token | String | yes | Administrator, sub-user, or sub-account accessToken |
deviceId | String | yes | Device serial number |
productId | String | no | Optional. If sent and it does not match the device model → DV2009 |
serviceId | String | yes | audio.ring.updateList |
inputData | Object | yes | See table below |
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
soundInfoList | Ringtone list. Up to 100 entries. | array | yes | Up to 100 entries |
soundInfoList.item.name | Ringtone name. | text | yes | string |
soundInfoList.item.url | Ringtone URL. Download or file path. | text | yes | string |
soundInfoList.item.index | Ringtone index. Range 0–255, step 1. | int | yes | 0–255, step 1 |
soundInfoList.item.soundType | Ringtone type. 0 wav, 1 pcm, 2 aac. | enum | yes | 0 wav; 1 pcm; 2 aac |
soundInfoList.item.relateType | Effective type. 0 device, 1 accessory, 2 auto reply, 3 local device ringtone, 4 quick reply, 5 doorbell chime, 6 all types. | enum | yes | 0 device; 1 accessory; 2 auto reply; 3 local device ringtone (doorbell press); 4 quick reply; 5 chime linked to doorbell; 6 all types |
Common request fields and the signature are in Development specification.
Request example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system": {
"ver": "1.0",
"appId": "lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time": 1706511734,
"nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
},
"params": {
"token": "<yourAccessToken>",
"deviceId": "TESTIPC000012345",
"serviceId": "audio.ring.updateList",
"inputData": {
"soundInfoList": [
{
"name": "ring-1",
"url": "https://example.com/ring.wav",
"index": 1,
"soundType": "0",
"relateType": "0"
}
]
}
}
}
# # # Returns a description of the data field
Output is in result.data.outputData. Empty output is {}.
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"outputData": {}
}
}
}
Error Code
Gateway and device error codes are in Global return codes.
