Get started
  • English
  • 简体中文
Official Site
Get started
  • English
  • 简体中文
Official Site
  • Get started
  • Concepts
  • Guides
  • Device capabilities & events
    • Browse by device type
    • Device capabilities
      • Common methods
      • Detection and alarms
      • Image
      • PTZ
      • Light
      • Recording
      • Audio
        • Do Not Disturb
        • Microphone capture
        • Prompt tone
        • Ringtone
          • audio.ring.config (Read ringtone configuration)
          • audio.ring.config (Set ringtone configuration)
          • audio.ring.alarmConfig (Read ringtone configuration (device alarm))
          • audio.ring.alarmConfig (Set ringtone configuration (device alarm))
          • audio.ring.alarmBell (Read device alarm ringtone)
          • audio.ring.alarmBell (Set device alarm ringtone)
          • audio.ring.maxCount (Read ringtone count limits)
          • audio.ring.add (Add ringtone)
          • audio.ring.delete (Delete ringtone)
          • audio.ring.updateList (Replace custom ringtone list)
        • Alarm speech
        • Voice control
        • Volume
      • Media
      • Network
      • Power
      • Privacy
      • Call
      • Storage
      • System
      • Algorithm
      • Maintenance
      • Control
    • Events overview
    • Permission codes
    • Capability error codes
    • Alarm and capability messages
    • Capability FAQ
    • Legacy ability and push types
  • API reference
  • SDK and tools
  • Solutions
  • Platform and support
On this page
Feature details
Request address
Minimum permission
Request parameters
Request example
Response example

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

NameTypeRequiredDescription
tokenStringyesAdministrator, sub-user, or sub-account accessToken
deviceIdStringyesDevice serial number
productIdStringnoOptional. If sent and it does not match the device model → DV2009
serviceIdStringyesaudio.ring.updateList
inputDataObjectyesSee table below
NameDescriptionTypeRequiredValues
soundInfoListRingtone list. Up to 100 entries.arrayyesUp to 100 entries
soundInfoList.item.nameRingtone name.textyesstring
soundInfoList.item.urlRingtone URL. Download or file path.textyesstring
soundInfoList.item.indexRingtone index. Range 0–255, step 1.intyes0–255, step 1
soundInfoList.item.soundTypeRingtone type. 0 wav, 1 pcm, 2 aac.enumyes0 wav; 1 pcm; 2 aac
soundInfoList.item.relateTypeEffective type. 0 device, 1 accessory, 2 auto reply, 3 local device ringtone, 4 quick reply, 5 doorbell chime, 6 all types.enumyes0 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.

Ringtones

audio.ring.delete (Delete ringtone)
audio.speech.enabled (Read alarm speech switch)