The scheduler allows to set the callback task at a specific time in the future. The system allows to create several schedulers which can be called as a "task queue".
In each task queue is possible to enable or disable the task execution.
The scheduler queue is created by the following resource:
POST /client/{client_id}/task_scheduler/
Create the queue tasks
URL Parameters
Name
Type
Description
Name
Type
Description
client_id
string
mandatory
Request Parameters (JSON)
Name
Type
Description
Name
Type
Description
comment
string
Update the comment
status
string
Can change to 'on' (switch on) or change to 'off' (switch off)
name
string
A task name
concurrent_task_limit
integer
Change the limit on the number of simultaneous callback
Response field
Name
Type
Description
Name
Type
Description
comment
string
The specified comment
status
string
Either it is switched off 'off' or is switched on 'on'. By default is off
name
string
The specified queue name when creating a task
concurrent_task_limit
integer
The limit on the number of simultaneous callback
create_date_utc
string
The date of queue creation (post) in utc in the format YYYY-MM-DD HH:MM:SS
id
integer
Resource ID
The queue parameters can be updated:
PUT /client/{client_id}/task_scheduler/{scheduler_id}
Update the task
URL Parameters
Name
Type
Description
Name
Type
Description
scheduler_id
string
Mandatory
client_id
string
Mandatory
Request Parameters (JSON)
Name
Type
Description
Name
Type
Description
comment
string
Update the comment
status
string
Can change to 'on' (switch on) or change to 'off' (switch off)
concurrent_task_limit
integer
Change the limit on the number of simultaneous callback
Request field
Name
Type
Description
Name
Type
Description
comment
string
The specified comment
status
string
Either it is switched off 'off' or is switched on 'on'. By default is off
name
string
The specified queue name when creating a task
concurrent_task_limit
integer
The limit on the number of simultaneous callback
create_date_utc
string
The date of queue creation (post) in utc in the format YYYY-MM-DD HH:MM:SS
id
integer
Resource ID
Clarify the information on the queue:
GET /client/{client_id}/task_scheduler/{scheduler_id}
Get the information regarding the queue
URL Parameters
Name
Type
Description
Name
Type
Description
scheduler_id
string
Mandatory
client_id
string
Mandatory
Request field
Name
Type
Description
Name
Type
Description
comment
string
The specified comment
status
string
Either it is switched off 'off' or is switched on 'on'. By default is off
name
string
The specified queue name when creating a task
concurrent_task_limit
integer
The limit on the number of simultaneous callback
create_date_utc
string
The date of queue creation (post) in utc in the format YYYY-MM-DD HH:MM:SS
id
integer
Resource ID
sched_task_count
integer
Count of sheduled tasks
task_count
integer
Count of all tasks
last_call_date
string
The date of last call in the queue in utc in the format YYYY-MM-DD HH:MM:SS
Add a task (or several tasks at once) to the queue:
Add tasks (one can be added)
POST /client/{client_id}/task_scheduler/{scheduler_id}/tasks/
URL Parameters
Name
Type
Description
Name
Type
Description
scheduler_id
string
Mandatory
client_id
string
Mandatory
Request Parameters (JSON)
Name
Type
Description
Name
Type
Description
tasks
array of tasks
Array of tasks - the required parameter
Must contain one or more tasks
The array of tasks JSON:
Name
Type
Description
Name
Type
Description
name
string
A task name
a_number
string
The number that will be called first
b_number
string
The number that will be called second
callback_params
object
A set of optional callback parameters + extended_a_numbers.
ID of the extension at the expense of which the call will be made
try_count
integer
The maximum number of callback attempts. By default: 1 maximum 50
try_again_pause
integer
Pause before next dialing attempt (in seconds)
try_count_caller
integer
Maximum number of attempts to call the first number (“a_number”, “extended_a_numbers”). If set to 0, then only the “try_count” counter is used. If after establishing a connection with the first number the second call could not be made, then “try_count_caller“ continues to decrease from the value it had after establishing a connection with the first number. Once it reaches 0, the task no longer tries to repeat itself, regardless of the “try_count” value
try_again_pause_caller
integer
Used if “try_count_caller“>0: pause (in seconds) before next attempt to establish connection with “a_number”. Maximum value is 864000
url_before
string
URL where the event will go before the task starts
url_before_again
string
URL where the event will go before trying to call again
url_success
string
URL where the event will go if the task is successful (successful connection of A and B numbers)
url_after
string
URL where the event will go by the result of the task
start_time_utc
string
The time of the start task by utc in the format YYYY-MM-DD HH: MM: SS
(the number of seconds can be specified, after this time the task will start)
callback_params
object
A set of optional callback parameters + extended_a_numbers, except for a_number, b_number, variables
extended_a_numbers - list of additional a_numbers Format:
Variables for callback. Maximum size of each variable's value - 200 characters.
attempts_src_ani_numbers
list
Ordered list of src_ani for callback by task attempts. Taken in the order of attempts.
attempts_dst_ani_numbers
list
Ordered list of dst_ani for callback by task attempts. Taken in the order of attempts.
interval_timezone
string
Time zone for the interval from the scheduler of a specific task.
Respond field
Name
Type
Description
Name
Type
Description
status
string
One of 'scheduled', 'executed', 'delayed', 'finished'.
'finished' -completed task
'delayed' - delayed by try_again_pause
'executed' - he task has been started
Default, not yet completed with status: 'scheduled'
a_number
string
The number that will be called first
b_number
string
The number that will be called second
extension_id
integer
ID of the extension, due to which the call will be made
scheduler_id
integer
Queue ID
finish_result
string
Either it is success: 'success' or is failure: 'failed'
cdr
string
uuid of the call, before the call, this field is empty, then, based on the call result (status = ‘executed’), uuid can be used in the resource /client/{client_id}/call_history/{call_uuid}
try_count
integer
try_again_pause
integer
try_count_caller
integer
try_again_pause_caller
integer
start_time_utc
integer
url_before
string
url_before_again
string
url_after
string
url_success
string
create_date_utc
string
Time of the task creation by utc in the format YYYY-MM-DD HH: MM: SS
id
integer
Task ID
name
string
finish_comment
string
Here the reason of the failure can be clarified
callback_params
object
variables
object
attempts_src_ani_numbers
list
attempts_dst_ani_numbers
list
interval_timezone
string
Clarify the task parameters:
GET /client/{client_id}/task_scheduler/{scheduler_id}/task/{task_id}
URL Parameters
Name
Type
Description
Name
Type
Description
scheduler_id
string
Mandatory
client_id
string
Mandatory
task_id
integer
Mandatory
Respond field
Name
Type
Description
Name
Type
Description
Name
Type
Description
Name
Type
Description
status
string
One of 'scheduled', 'executed', 'delayed', 'finished', 'delayed_asr', 'delayed_concurrent_task', 'delayed_interval'.
'finished' -completed task
'delayed' - delayed by try_again_pause
'delayed_asr' - delayed due to high number of failed calls (ASR)
'delayed_concurrent_task' - delayed due to the set limit on the task_scheduler concurrent_task_limit
'delayed_interval' - delayed due to task_scheduler interval
'executed' - he task has been started
Default, not yet completed with status: 'scheduled'
a_number
string
The number that will be called first
b_number
string
The number that will be called second
extension_id
integer
Extension ID, due to which the call will be made
scheduler_id
integer
Queue ID
finish_result
string
Either it is success: 'success' or is failure: 'failed'
cdr
string
uuid of the call, before the call, this field is empty, then, based on the call result (status = ‘executed’), uuid can be used in the resource /client/{client_id}/call_history/{call_uuid}
try_count
integer
The maximum number of callback attempts
try_again_pause
string
Pause before the next call attempt (in seconds)
start_time_utc
integer
Start time of the start task by utc in the format YYYY-MM-DD HH: MM: SS
url_before
string
URL where the event will go before the task starts
url_before_again
string
URL where the event will go before trying to call again
url_after
string
URL where the event will go by the result of the task
url_success
string
URL where the event will go if the task is successful (successful connection of A and B numbers)
create_date_utc
string
Time of the task creation by utc in the format YYYY-MM-DD HH: MM: SS
id
integer
Task ID
name
string
Task name
finish_comment
string
Here the reason of the failure can be clarified
callback_params
object
A set of optional callback parameters. Currently available: extended_a_numbers, caller_id_name and caller_id_number.
extended_a_numbers - list of additional a_number numbers
variables
object
Variables for callback. Maximum size of each variable's value - 200 characters.
attempts_src_ani_numbers
list
Ordered list of src_ani for callback by task attempts. Taken in the order of attempts.
attempts_dst_ani_numbers
list
Ordered list of dst_ani for callback by task attempts. Taken in the order of attempts.
interval_timezone
string
Time zone for the interval from the scheduler of a specific task.
By analogy with the creation of resources\controls, you can: