Описание 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"} ]}