Edit an IVR

Edit an IVR.

Request URL

POST {base_url}/{api_path}/ivr/update?access_token={access_token}

Request parameters

Parameter Required Type Description
id Yes Integer The unique ID of the IVR.
Note: You can query IVR's ID using Search Specific IVRs.
number No String IVR number.
name No String IVR name.
prompt No String The name of the IVR prompt.
Valid value:
  • default: The default prompt.
  • Name of the existing custom prompt file on PBX (Path: PBX Settings > Voice Prompt > Custom Prompt).
Note:
  • Up to 5 prompts are supported.
  • Use a comma to separate multiple custom prompt file names. E.g. default,IVR.wav.
prompt_repeat No Integer The maximum number of times the IVR prompt will be repeated.

Valid value: 1 - 5.

resp_timeout No Integer The timeout duration for callers to input keys after playing the IVR prompt (Unit: Second).

Valid value: 1 - 10.

Note: If no input is received after the timeout, the system will repeat the IVR prompt until the maximum number of times is reached. If there is still no input after the timeout, the call will be routed to the Timeout Destination.
digit_timeout No Integer The timeout duration between the caller inputting a key and the next key (Unit: Second).

Valid value: 1 - 10.

alert_info No String The "Alert-info" Header in the INVITE request to trigger the IP phone to play distinctive ringtones when receiving an incoming call from this IVR.
dial_ext_option No String Whether to allow callers to dial extensions via IVR.

Valid value:

  • disable: Prohibit callers from dialing any extensions.
  • all: Allow callers to dial all extensions.
  • allow: Allow callers to dial specified extensions.
  • restrict: Prohibit callers from dialing specified extensions.
dial_ext_list No Array <Allow_Ext_List> Extensions or extension groups that callers are allowed to call within the IVR.
Note: This parameter is required when dial_ext_option is set to allow.
restrict_dial_ext_list No Array <Restrict_Ext_List> Extensions or extension groups that callers are prohibited from calling within the IVR.
Note: This parameter is required when dial_ext_option is set to restrict.
enb_dial_call_number No Integer Whether to allow callers to directly dial ring group, queue, and conference room numbers via the IVR.

Valid value:

  • 0: Disallow.
  • 1: Allow.
dial_call_number_list No Array <Allow_Call_Number_List> The ring group, queue, and conference room numbers that callers are allowed to call via the IVR.
enb_dial_outb_routes No Integer Whether to allow callers to use outbound routes to make outbound calls from the IVR.

Valid value:

  • 0: Disallow.
  • 1: Allow.
dial_outb_route_list No Array <Allow_Route_List> The outbound route that callers are allowed to use within the IVR.
Note: This parameter is required when enb_dial_outb_routes is set to 1.
enb_dial_check_vm No Integer Whether to allow callers to check voicemail via IVR.

Valid value:

  • 0: Disallow.
  • 1: Allow.
prompt_manger_enb No Integer Whether to allow users to dial the feature code #9 to modify the IVR prompt.

Valid value:

  • 0: Disallow.
  • 1: Allow.
prompt_manger_password No String The password for modifying IVR prompts.
Note: This parameter is required when prompt_manger_enb is set to 1.
pressX_dest No String The destination type of key X.
Note: X refers to a specific number between 0 and 9.
Valid value:
  • end_call: Hang Up.
  • extension: Extension.
  • ext_vm: Extension Voicemail.
  • ivr: IVR.
  • ring_group: Ring Group.
  • queue: Queue.
  • group_vm: Group Voicemail.
  • conference: Conference.
  • dial_by_name: Dial by Name.
  • external_num: External Number.
  • play_greeting: Play Prompt and Exit.
  • play_prompt: Play Prompt and Return to IVR.
pressX_dest_prefix No String

This parameter defines different settings depending on the destination type of key X (pressX_dest).

Note: X refers to a specific number between 0 and 9.
  • When the destination type is external_num, this parameter defines the dial-out prefix of the external number.
  • When the destination type is play_greeting or play_prompt, this parameter defines the play count of the prompt. The valid value is 1 - 5.
pressX_dest_value No String The destination of key X. This parameter defines different settings depending on the destination type of key X (pressX_dest).
Note: X refers to a specific number between 0 and 9.
  • When the destination type is play_greeting or play_prompt, this parameter defines the custom prompt file name. E.g. demo.wav.
  • When the destination type is extension, ext_vm, ivr,ring_group, queue, group_vm, or conference, this parameter should be the unique ID of the destination.

    For example, the destination is the extension 2002, then this parameter should be set to the extension's ID 2.

  • When the destination type is external_num, this parameter defines the external number.
allow_out_recordX No Integer After a call has been routed to the destination of key X, stop recording the call.
Note: X refers to a specific number between 0 and 9.
Valid value:
  • 0: Disabled.
  • 1: Enabled.
press_hash_dest No String The destination type of key #.

Valid value:

  • end_call: Hang Up.
  • extension: Extension.
  • ext_vm: Extension Voicemail.
  • ivr: IVR.
  • ring_group: Ring Group.
  • queue: Queue.
  • group_vm: Group Voicemail.
  • conference: Conference.
  • dial_by_name: Dial by Name.
  • external_num: External Number.
  • play_greeting: Play Prompt and Exit.
  • play_prompt: Play Prompt and Return to IVR.
press_hash_dest_prefix No String This parameter defines different settings depending on the destination type of key #.
  • When the destination type is external_num, this parameter defines the dial-out prefix of the external number.
  • When the destination type is play_greeting or play_prompt, this parameter defines the play count of the prompt. The valid value is 1 - 5.
press_hash_dest_value No String The destination of key #. This parameter defines different settings depending on the destination type of key #.
  • When the destination type is play_greeting or play_prompt, this parameter defines the custom prompt file name. E.g. demo.wav.
  • When the destination type is extension, ext_vm, ivr,ring_group, queue, group_vm, or conference, this parameter should be the unique ID of the destination.

    For example, the destination is the extension 2002, then this parameter should be set to the extension's ID 2.

  • When the destination type is external_num, this parameter defines the external number.
allow_out_record_hash No Integer After a call has been routed to the destination of key #, stop recording the call.
Valid value:
  • 0: Disabled.
  • 1: Enabled.
press_star_dest No String The destination type of key *.

Valid value:

  • end_call: Hang Up.
  • extension: Extension.
  • ext_vm: Extension Voicemail.
  • ivr: IVR.
  • ring_group: Ring Group.
  • queue: Queue.
  • group_vm: Group Voicemail.
  • conference: Conference.
  • dial_by_name: Dial by Name.
  • external_num: External Number.
  • play_greeting: Play Prompt and Exit.
  • play_prompt: Play Prompt and Return to IVR.
press_star_dest_prefix No String This parameter defines different settings depending on the destination type of key *.
  • When the destination type is external_num, this parameter defines the dial-out prefix of the external number.
  • When the destination type is play_greeting or play_prompt, this parameter defines the play count of the prompt. The valid value is 1 - 5.
press_star_dest_value No String The destination of key *. This parameter defines different settings depending on the destination type of key *.
  • When the destination type is play_greeting or play_prompt, this parameter defines the custom prompt file name. E.g. demo.wav.
  • When the destination type is extension, ext_vm, ivr,ring_group, queue, group_vm, or conference, this parameter should be the unique ID of the destination.

    For example, the destination is the extension 2002, then this parameter should be set to the extension's ID 2.

  • When the destination type is external_num, this parameter defines the external number.
allow_out_record_star No Integer After a call has been routed to the destination of key *, stop recording the call.

Valid value:

  • 0: Disabled.
  • 1: Enabled.
timeout_dest No String The destination type of Response Timeout.
Note: Response Timeout occurs when the system has played the prompt tone repeatedly for the maximum number of times, but the caller has not taken any action within the specified time.

Valid value:

  • end_call: Hang Up.
  • extension: Extension.
  • ext_vm: Extension Voicemail.
  • ivr: IVR.
  • ring_group: Ring Group.
  • queue: Queue.
  • group_vm: Group Voicemail.
  • conference: Conference.
  • dial_by_name: Dial by Name.
  • external_num: External Number.
  • play_greeting: Play Prompt and Exit.
  • play_prompt: Play Prompt and Return to IVR.
timeout_dest_prefix No String This parameter defines different settings depending on the destination type of Response Timeout.
  • When the destination type is external_num, this parameter defines the dial-out prefix of the external number.
  • When the destination type is play_greeting or play_prompt, this parameter defines the play count of the prompt. The valid value is 1 - 5.
timeout_dest_value No String The destination of Response Timeout. This parameter defines different settings depending on the destination type of Response Timeout.
  • When the destination type is play_greeting or play_prompt, this parameter defines the custom prompt file name. E.g. demo.wav.
  • When the destination type is extension, ext_vm, ivr,ring_group, queue, group_vm, or conference, this parameter should be the unique ID of the destination.

    For example, the destination is the extension 2002, then this parameter should be set to the extension's ID 2.

  • When the destination type is external_num, this parameter defines the external number.
allow_out_record_timeout No Integer After a call has been routed to the destination of Response Timeout, stop recording the call.

Valid value:

  • 0: Disabled.
  • 1: Enabled.
invalid_dest No String The destination type of invalid input.

Valid value:

  • end_call: Hang Up.
  • extension: Extension.
  • ext_vm: Extension Voicemail.
  • ivr: IVR.
  • ring_group: Ring Group.
  • queue: Queue.
  • group_vm: Group Voicemail.
  • conference: Conference.
  • dial_by_name: Dial by Name.
  • external_num: External Number.
  • play_greeting: Play Prompt and Exit.
  • play_prompt: Play Prompt and Return to IVR.
invalid_dest_prefix No String This parameter defines different settings depending on the destination type of invalid input.
  • When the destination type is external_num, this parameter defines the dial-out prefix of the external number.
  • When the destination type is play_greeting or play_prompt, this parameter defines the play count of the prompt. The valid value is 1 - 5.
invalid_dest_value No String The destination of invalid input. This parameter defines different settings depending on the destination type of invalid input.
  • When the destination type is play_greeting or play_prompt, this parameter defines the custom prompt file name. E.g. demo.wav.
  • When the destination type is extension, ext_vm, ivr,ring_group, queue, group_vm, or conference, this parameter should be the unique ID of the destination.

    For example, the destination is the extension 2002, then this parameter should be set to the extension's ID 2.

  • When the destination type is external_num, this parameter defines the external number.
allow_out_record_invalid No Integer After a call has been routed to the destination of invalid input, stop recording the call.

Valid value:

  • 0: Disabled.
  • 1: Enabled.
Allow_Ext_List
Parameter Required Type Description
value Yes String The ID of the extension / extension group / organization that callers are allowed to call.
Note: You can use Get Menu Options to query ID of the desired extension, extension group, and organization.
type Yes String The type of the object that callers are allowed to call.

Valid value:

  • extension
  • ext_group
  • organization
Restrict_Ext_List
Parameter Required Type Description
value Yes String The ID of the extension / extension group / organization that callers are prohibited from calling.
Note: You can use Get Menu Options to query ID of the desired extension, extension group, and organization.
type Yes String The type of the object that callers are prohibited from calling.

Valid value:

  • extension
  • ext_group
  • organization
Allow_Call_Number_List
Parameter Required Type Description
value Yes String The ID of the ring group / queue / conference that callers are allowed to call via the IVR.
Note: You can use Get Menu Options to query ID of the desired ring group, queue, and conference.
type Yes String The type of the object that callers are allowed to call via the IVR.
  • ring_group
  • queue
  • conference
Allow_Route_List
Parameter Required Type Description
text No String The name of the outbound route that callers are allowed to use.
value Yes String The ID of the outbound route that callers are allowed to use.
Note: You can use Search Specific Outbound Routes to query the ID of the desired outbound route.

Response parameters

Parameter Type Description
errcode Integer Returned error code.
  • 0: Succeed.
  • Non-zero value: Failed.
Note: You can check the error code and error message in Error Code and Error Message.
errmsg String Returned message.
  • SUCCESS: Succeed.
  • FAILURE: Failed.

Examples

Request example

Update the following configurations for IVR with ID "1":
  • Replace the IVR name with "Voice Assistance".
  • Allow callers to dial the extension (ID: 85) via the IVR.
  • Change the press event of key # to "play the prompt twice and exit".
POST /openapi/v1.0/ivr/update?access_token=sRuPSzYcPflKgdwSVpA1lhxlVLw0q0z1 HTTP/1.1 
Host: 192.168.5.150:8088
Content-Type: application/json
{
    "id":1,
    "name": "Voice Assistance",
    "dial_ext_option": "allow",
    "dial_ext_list": [
       {
            "value": "85",
            "type": "extension"
        }
    ],
    "press_hash_dest": "play_greeting",
    "press_hash_dest_prefix": "2",
    "press_hash_dest_value": "IVR.wav"
}
Response example
HTTP/1.1 200 OK
{
    "errcode": 0,
    "errmsg": "SUCCESS"
}