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:
Add tasks of the queue task_scheduler
POST /client/{client_id}/task_scheduler/
Create the queue tasks
URL Parameters
Name | Type | Description |
---|
client_id | string | mandatory |
Request Parameters (JSON)
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 |
---|
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:
Update the task_scheduler
PUT /client/{client_id}/task_scheduler/{scheduler_id}
Update the task
URL Parameters
Название | Тип | Описание |
---|
scheduler_id
| string
| Обязательный |
client_id
| string
| Обязательный |
Параметры запроса (JSON)
Название | Тип | Описание |
---|
comment
| string
| Обновить комментарий |
status
| string
| Можно сделать 'on' (включить) , а может сделать 'off' (выключить). |
concurrent_task_limit
| integer
| Изменить ограничение на количество одновременных callback |
Поля ответа
Название | Тип | Описание |
---|
comment
| string
| Заданный комментарий |
status
| string
| Либо выключен 'off', либо включен 'on'. По умолчанию: off |
name
| string
| Заданное имя очереди при создании задачи |
concurrent_task_limit
| integer
| Ограничение на количество одновременных callback |
create_date_utc
| string
| Дата создания очереди (post) в utc в форматеYYYY-MM-DD HH:MM:SS |
id
| integer
| Resource id. |
Уточнить информацию по очереди:
Получить информацию о task_scheduler
GET /client/{client_id}/task_scheduler/{scheduler_id}
Получить информацию о очереди
Параметры URL
Название | Тип | Описание |
---|
scheduler_id
| string
| Обязательный |
client_id
| string
| Обязательный |
Поля ответа
Название | Тип | Описание |
---|
comment
| string
| Заданный комментарий |
status
| string
| Либо выключен 'off', либо включен 'on'. По умолчанию: off |
name
| string
| Заданное имя очереди при создании задачи |
concurrent_task_limit
| integer
| Ограничение на количество одновременных callback |
create_date_utc
| string
| Дата создания (post) очереди в utc в форматеYYYY-MM-DD HH:MM:SS |
id
| integer
| Resource id. |
Добавить задачу (или сразу несколько задачь) в очередь:
Добавить задачу или несколько задач в task_scheduler
Добавить задачи (может быть добавлена одна)
POST /client/{client_id}/task_scheduler/{scheduler_id}/tasks/
Параметры URL
Название | Тип | Описание |
---|
scheduler_id
| string
| Обязательный |
client_id
| string
| Обязательный |
Параметры запроса (JSON)
Название | Тип | Описание |
---|
tasks
| array of tasks
| Массив задач - обязательный параметр Должен содержать одну задачу или более |
Массив задач JSON:
Name | Type | Description |
---|
name
| string
| Имя задачи |
a_number
| string
| Номер, который будет вызван первым |
b_number
| string
| Номер, который будет вызван вторым |
extension_id
| integer
| Id добавочного, за счет которого будет совершаться вызов |
try_count
| integer
| Максимальное количество попыток callback. По умолчанию: 1 максимум: 50 |
try_again_pause
| string
| Пауза перед следующей попыткой обзвона (в секундах) |
url_before
| string
| URL, куда уйдет событие перед началом срабатывания задачи |
url_before_again
| string
| URL, куда уйдет событие перед повторной попыткой обзвона |
url_success
| string
| URL, куда уйдет событие в случае успеха задачи (успешное соединение А и Б номеров) |
url_after
| string
| URL, куда уйдет событие по результату задачи |
start_time_utc
| string
| Время начала старта задачи по utc в форматеYYYY-MM-DD HH:MM:SS (может быть указано кол-во секунд, через это время будет старт задачи) |
Поля ответа
Название | Тип | Описание |
---|
status
| string
| Одно из 'scheduled', 'executed', 'delayed', 'finished'. 'finished' - выполненная задача 'delayed' - отложена по try_again_pause 'executed' - задача была запущена По умолчанию, еще не выполненные со статусом: 'scheduled' |
a_number
| string
| Номер, который будет вызван первым |
b_number
| string
| Номер, который будет вызван вторым |
extension_id
| integer
| Id добавочного, за счет которого будет совершаться вызов |
scheduler_id
| integer
| id очереди |
finish_result
| string
| Либо успех: 'success', либо неуспех: 'failed'. |
cdr
| string
| uuid звонка, до обвзона это поле пустое, далее, по результату обзвона (status= ‘executed’ ) uuid можно использовать в ресурсе /client/{client_id}/call_history/{call_uuid} |
try_count
| integer
| Максимальное количество попыток callback |
try_again_pause
| string
| Пауза перед следующей попыткой обзвона (в секундах) |
start_time_utc
| integer
| Время начала старта задачи по utc в форматеYYYY-MM-DD HH:MM:SS |
url_before
| string
| URL, куда уйдет событие перед началом срабатывания задачи |
url_before_again
| string
| URL, куда уйдет событие перед повторной попыткой обзвона |
url_after
| string
| URL, куда уйдет событие по результату задачи |
url_success
| string
| URL, куда уйдет событие в случае успеха задачи (успешное соединение А и Б номеров) |
create_date_utc
| string
| Время создания задачи по utc в форматеYYYY-MM-DD HH:MM:SS |
id
| integer
| id задачи |
name
| string
| имя задачи |
finish_comment
| string
| Тут может быть уточнена причина неуспеха |
Уточнить параметры задачи:
Уточнить конкретную задачу в task_scheduler
GET /client/{client_id}/task_scheduler/{scheduler_id}/task/{task_id}
Параметры URL
Название | Тип | Описание |
---|
scheduler_id
| string
| Обязательный |
client_id
| string
| Обязательный |
task_id
| integer
| Обязательный |
Поля ответа
Название | Тип | Описание |
---|
status
| string
| Одно из 'scheduled', 'executed', 'delayed', 'finished'. 'finished' - выполненная задача 'delayed' - отложена по try_again_pause 'executed' - задача была запущена По умолчанию, еще не выполненные со статусом: 'scheduled' |
a_number
| string
| Номер, который будет вызван первым |
b_number
| string
| Номер, который будет вызван вторым |
extension_id
| integer
| Id добавочного, за счет которого будет совершаться вызов |
scheduler_id
| integer
| id очереди |
finish_result
| string
| Либо успех: 'success', либо неуспех: 'failed'. |
cdr
| string
| uuid звонка, до обвзона это поле пустое, далее, по результату обзвона (status= ‘executed’ ) uuid можно использовать в ресурсе /client/{client_id}/call_history/{call_uuid} |
try_count
| integer
| Максимальное количество попыток callback |
try_again_pause
| string
| Пауза перед следующей попыткой обзвона (в секундах) |
start_time_utc
| integer
| Время начала старта задачи по utc в форматеYYYY-MM-DD HH:MM:SS |
url_before
| string
| URL, куда уйдет событие перед началом срабатывания задачи |
url_before_again
| string
| URL, куда уйдет событие перед повторной попыткой обзвона |
url_after
| string
| URL, куда уйдет событие по результату задачи |
url_success
| string
| URL, куда уйдет событие в случае успеха задачи (успешное соединение А и Б номеров) |
create_date_utc
| string
| Время создания задачи по utc в форматеYYYY-MM-DD HH:MM:SS |
id
| integer
| id задачи |
name
| string
| имя задачи |
finish_comment
| string
| Тут может быть уточнена причина неуспеха |
По аналогии с ресурсами создания\управлениями можно:
Уточнить список всех очередей:
GET /client/{client_id}/task_scheduler/
Удалить конкретную очередь:
DELETE /client/{client_id}/task_scheduler/{scheduler_id}
Уточнить список задач в очереди:
GET /client/{client_id}/task_scheduler/{scheduler_id}/task/
И удалить конкретную задачу в очереди:
DELETE /client/{client_id}/task_scheduler/{scheduler_id}/task/{task_id}