Описание web API

 

Оглавление:

1. Общее описание

2. Модуль "автообзвон"

 

1. Общее описание:

Web api доступен начиная с версии pbxunit 1.2.6

Запрос к web api происходит путем отправки http запроса методом POST по адресу http://<адрес сервера>/pbxunit/api/

В запросе необходимо передать переменные:

key - секретный ключ, он хранится в конфигурационном файле web-интерфейса в переменной $_AST_CONFIG['APIKey']

$_AST_CONFIG['APIKey'] = 'secretkey';

Внимание! В целях безопасности измените ключ после установки.

comm - команда

params - параметры в формате JSON

 

В ответ на запрос придет ответ в формате JSON

{"code":код ответа,"code_text":"текст ответа","values":{значения}}

варианты code:

200 OK - Запрос выполнен

401 Unauthorized - Неавторизованный доступ

400 Bad Request - Неверный формат запроса

403 Forbidden - Доступ запрещен

 

2. Модуль "автообзвон"

Команда ac_job_add - добавление задания

параметры, блок params:

camp_id (обязательный) - id кампании автообзвона

phones (обязательный) - список телефонов, разделенных знаком ";"

worksh_id - id анкеты

task_name - название задания

tts_text - текст для генератора речи, фразы разделяются знаком ";"

пример:

comm ac_job_add

params {"camp_id": "8", "phones": "79120000000", "worksh_id": "test", "task_name": "test"}

ответ {"code":200,"code_text":"OK","values":{"insert_id":1502162}}

возвращает id добавленного задания в переменной insert_id

 

Команда ac_job_pause - поставить задание на паузу

параметры, блок params:

job_id (обязательный) - id задания автообзвона

пример:

comm ac_job_pause

params {"job_id": "1401041"}

ответ {"code":200,"code_text":"OK","values":{"change_id":"1401041"}}

возвращает id измененного задания в переменной change_id

 

Команда ac_job_run - возобновить работу задания

параметры, блок params:

job_id (обязательный) - id задания автообзвона

пример:

comm ac_job_run

params {"job_id": "1401041"}

ответ {"code":200,"code_text":"OK","values":{"change_id":"1401041"}}

возвращает id измененного задания в переменной change_id

 

Команда ac_job_del - удаляет задание автообзвона

параметры, блок params:

job_id (обязательный) - id задания автообзвона

пример:

comm ac_job_del

params {"job_id": "1401041"}

ответ {"code":200,"code_text":"OK","values":{"change_id":"1401041"}}

возвращает id измененного задания в переменной change_id

 

Команда ac_job_get_status - получить статус задания

параметры, блок params:

job_id (обязательный) - id задания автообзвона

пример:

comm ac_job_get_status

params {"job_id": "1502159"}

ответ {"code":200,"code_text":"OK","values":{"id":"1502159","worksh_id":"1005576","phones":"9120000001;9120000002","name":""\u0410\u041b\u0422\u0410\u0419\u042d\u041d\u0415\u0420\u0413\u041e\u041f\u0420\u0418\u0412\u041e\u0414" \u041e\u041e\u041e","result_date":"0000-00-00 00:00:00","result":"","status":"Inqueue","attempts_cnt":"0","answered_cnt":"0","listened_cnt":"0","noanswer_cnt":"0","busy_cnt":"0","failed_cnt":"0"}}

 

Команда ac_jobs_search_status - поиск заданий по параметрам

параметры, блок params:

camp_id (обязательный) - id кампании автообзвона

limit (необязательный) - лимит строк возвращаемого результата (по-умолчанию 1000 строк)

job_id (необязательный) - id задания автообзвона

worksh_id (необязательный) - поиск по полю "Столбец ИД"

result (необязательный) - поиск по Результату задания, варианты:

1 - Принят

2 - Не принят

3 - Занято

4 - Неудача

status (необязательный) - поиск по Статусу задания, варианты:

Inwork - В работе

Finished - Завершено

Inqueue - В очереди

пример:

comm ac_jobs_search_status

params {"camp_id": "7", "status":"Inqueue"}

ответ {"code":200,"code_text":"OK","values_ar":[

{"id":"1401050","worksh_id":"1","phones":"79120000001","name":"Test1","result_date":"2018-09-10 11:56:20","result":"Busy","status":"Inqueue","attempts_cnt":"216","answered_cnt":"107","listened_cnt":"95","noanswer_cnt":"17","busy_cnt":"56","failed_cnt":"27"},{"id":"1401051","worksh_id":"2","phones":"79120000002","name":"Test2","result_date":"2018-09-07 10:33:47","result":"Answered","status":"Inqueue","attempts_cnt":"184","answered_cnt":"115","listened_cnt":"97","noanswer_cnt":"4","busy_cnt":"14","failed_cnt":"33"},{"id":"1502175","worksh_id":"3","phones":"79120000003","name":"Test1","result_date":"2018-09-17 18:45:54","result":"Busy","status":"Inqueue","attempts_cnt":"10","answered_cnt":"3","listened_cnt":"2","noanswer_cnt":"3","busy_cnt":"3","failed_cnt":"0"},{"id":"1502176","worksh_id":"4","phones":"79120000004","name":"\u0422\u0435\u0441\u0442 1","result_date":"2018-10-25 10:40:20","result":"Answered","status":"Inqueue","attempts_cnt":"2","answered_cnt":"1","listened_cnt":"1","noanswer_cnt":"0","busy_cnt":"1","failed_cnt":"0"},{"id":"1502177","worksh_id":"5","phones":"79120000005","name":"test","result_date":"2018-10-30 23:43:38","result":"Answered","status":"Inqueue","attempts_cnt":"5","answered_cnt":"5","listened_cnt":"5","noanswer_cnt":"0","busy_cnt":"0","failed_cnt":"0"} ]}

 

Команда poll_search_res - поиск результатов опроса по параметрам

Команда доступна начиная с версии 1.2.9

параметры, блок params:

poll_id (обязательный) - id опроса

limit (необязательный) - лимит строк возвращаемого результата (по-умолчанию 1000 строк)

id (необязательный) - внутренний id результата опроса

quest_id (необязательный) - id результата вопроса

autocall_id (необязательный) - id задания автообзвона, при котором произошел вопрос

autocallcampaing_id (необязательный) - id кампании автообзвона, при которой произошел вопрос

res (необязательный) - числовой результат вопроса

phone (необязательный) - номер телефона по которому произошел вопрос

пример:

comm poll_search_res

params {"poll_id": "7", "quest_id":"14", "autocallcampaing_id":"7"}

ответ {"code":200,"code_text":"OK","values_ar":

[{"id":"39","date":"2018-02-03 21:32:40","phone":"79120000001","poll_id":"7","quest_id":"14","autocall_id":"1401033","autocallcampaing_id":"7","res":"1"},{"id":"40","date":"2018-02-03 21:33:14","phone":"79120000001","poll_id":"7","quest_id":"14","autocall_id":"1401034","autocallcampaing_id":"7","res":"0"},{"id":"41","date":"2018-02-04 11:43:15","phone":"79120000001","poll_id":"7","quest_id":"14","autocall_id":"1401034","autocallcampaing_id":"7","res":"0"},{"id":"42","date":"2018-02-04 11:44:18","phone":"79120000001","poll_id":"7","quest_id":"14","autocall_id":"1401034","autocallcampaing_id":"7","res":"1"},{"id":"43","date":"2018-02-04 11:45:12","phone":"79120000001","poll_id":"7","quest_id":"14","autocall_id":"1401034","autocallcampaing_id":"7","res":"0"} ]}