В верси. avtocall-13.0.23 добавилось API управление модулем обзвона. Здесь будет описаны методы API. Методы будут добавляться и расширяться со временем.
Включаем API в настройке модуля — указываем Bearer Token и адрес запроса.
Проверка доступности API
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"ping"}'
Ответ:
{"status":"success","message":"pong"}
Применить конфигурацию FreePBX(вызывается разово после внесения всех настроек.)
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"apply_configuration"}'
Ответ:
{"status":"success","message":"done"}
Вывести список очередей
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"queues"}'
Ответ:
{"status":"success","message":[{"extension":"800","descr":"основная"},{"extension":"8001","descr":"агенты"},{"extension":"801","descr":"test"},{"extension":"802","descr":"dynamic"}]}
Вывести список внутренних
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"extensions"}'
Ответ:
{"status":"success","message":[{"extension":"2001","name":"2001"},{"extension":"99","name":"VoiceMail"},{"extension":"200","name":"test EAGI"},{"extension":"201","name":"опер 201"},{"extension":"202","name":"юзер 202"},{"extension":"203","name":"тех 203"},{"extension":"301","name":"бух 301"}]}
Вывести список активных транков в FreePBX
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"trunks"}'
Ответ:
{"status":"success","message":[{"trunkid":"1","channelid":"test_client-002","name":"client-002","outcid":"client-002"},{"trunkid":"2","channelid":"as4","name":"as4","outcid":""}]}
Вывести список всех рассылок в модуле Avtocall
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"list_call_tasks"}'
Ответ:
{"status":"success","message":[{"id":4,"name":"test","max_call":1,"status":"0","sleep":2,"dial_timeoute":{"min":40,"max":40},"work_time":[{"day":"1","start_time":"09:00:00","stop_time":"20:00:00"},{"day":"2","start_time":"09:00:00","stop_time":"23:00:00"},{"day":"3","start_time":"09:00:00","stop_time":"20:00:00"},{"day":"5","start_time":"09:00:00","stop_time":"20:00:00"},{"day":"6","start_time":"09:00:00","stop_time":"20:00:00"},{"day":"7","start_time":"09:00:00","stop_time":"20:00:00"}],"postdest":"ext-queues,800,1","total_numbers":5,"trunks":["1"],"max_launch_count":0,"launch_count":0,"task_type":1,"call_active":0,"detect_vm_settings":{"detect_vm":"yes","recordtime_answer":7},"hangup_call_if_minwaitanswer":0,"show_trunk_name":"yes","max_cps":2,"trunk_regex_match":0}]}
Удалить рассылку (удаляются все связанные сущности — номера, статистика)
Запрос:
сurl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"delete_call_task","id":4}'
Ответ:
{"status":"success","message":"done"}
Создать рассылку
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"create_call_task","name":"NEW TEST2","postdest":"ext-queues,800,1", "trunks":["1"], "max_launch_count":1,"numbers":["8495000000",8495000001]}'
Ответ — возвращается id созданной рассылки
{"status":"success","message":{"id":13}}
postdest — куда направить вызов после ответа.
Для очереди 800 — ext-queues,800,1
Для ринг-группы 600 — ext-group,600,1
Для внутреннего 101 — from-did-direct,101,1
Запустить рассылку в работу(если запуск в рабочие часы — то происходит обычный запуск, если дается команда запустить рассылку в нерабочее время — то рассылка не запускается,а переходит в режим паузы в вебе, но по факту это режим выключен.)
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"start_call_task","id":10}'
Ответ:
{"status":"success","message":"done"}
Остановить рассылку.
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"stop_call_task","id":10}'
Ответ:
{"status":"success","message":"done"}
Получить статистику по рассылке
Запрос:
curl --header "Content-Type: application/json" --header 'Authorization: Bearer 73ada4390b8e2824187374bf82e' --location --request POST 'http://192.168.101.125/admin/modules/avtocall/api/index.php' --data '{"action":"stat_call_task","id":10}'
Ответ :
{"status":"success","message":[{"calldate":"2024-07-26 17:42:43","dst":"8495000000","duration":"10","billsec":"6","disposition":"ANSWER","isup_code":"16","uniqueid":"1722004963.165"},{"calldate":"2024-07-26 17:42:55","dst":"8495000001","duration":"0","billsec":"0","disposition":"BUSY","isup_code":"17","uniqueid":"1722004975.193"}]}