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.add (Add ringtone)

audio.ring.add: Add ringtone

audio.ring.add · Device scope · Permission Config

Feature details

Add a ringtone to the unit. Enter parametersindex,name,url,type, optionalrelateType. Call once and execute once. Theindexof this service is 0 ~ 255; theitem.indexin the audio.ring.config '/ alarmConfig list can be **0 ~ 999999**, which cannot be mixed. Before deleting/adding, it is advisable to compare [get ringtone configuration properties](/book/04-capabilities/audio/ring/config/get.html) with maxCount . The ringtone type field is named: inputData.type for audio.ring.add · [Full update](/book/04-capabilities/audio/ring/updateList-invoke.html) Element soundType · property Configure struct's item.type `(do not mix key names).

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.add
inputDataObjectyesSee table below
NameDescriptionTypeRequiredValues
indexIndex. Range 0–255, step 1.intyes0–255, step 1
nameName.textyesstring
urlFile URL. Download or file path.textyesstring
typeRingtone type.enumyes0 wav; 1 pcm; 2 aac
relateTypeEffective type (optional).enumno0 device; 1 accessory; 2 reply; 3 local; 4 quickReply; 5 chime

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.add",
 "inputData": {
 "index": 1,
 "name": "ring-1",
 "url": "https://example.com/ring.wav",
 "type": "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.maxCount (Read ringtone count limits)
audio.ring.delete (Delete ringtone)