|
1C + OkTell HTTP API | ☑ | ||
---|---|---|---|---|
0
DosBot
11.07.18
✎
06:24
|
Добрый день.
Имеется: 1) Сервер OkTell'а с включенным встроенным web-сервером (http://wiki.oktell.ru/Серверный_HTTP_интерфейс). 2) Адноэска: Медицина. Больница, редакция 1.4 (1.4.2.1). Платформа 8.3.9.2170 Хочу по ссылке выше выполнить тривиальную вещь: позвонить некому абоненту из 1С через ОкТелл. Для этого выполняю код: ... HTTPСоединение = Новый HTTPСоединение(ДанныеПодключения.Адрес, ДанныеПодключения.Порт,,,,10); ЗапросПозвонить = "http://ИмяПользователя:Пароль@192.168.XX.XX:4055/execsvcscript?name=SvcScript1&startparam1=221&startparam2=НОМЕРТЕЛЕФОНА&async=0&timeout=10"; HTTPЗапрос = Новый HTTPЗапрос(ЗапросПозвонитьСкрипт); Результат = HTTPСоединение.Получить(HTTPЗапрос); ... В итоге всё, что я получаю - это код ошибки 404. Сначала грешил на криво написанный скрипт на самом сервер OkTell. Но самая простая команда из той же вики октелла: http://ИмяПользователя:Пароль@192.168.XX.XX:4055/getversion даёт тот же результат Дальнейшая медитация в вики октелла на эту тему ясности не добавила. В OkTell у пользователя, по данным которого отправляю запрос стоит настройка "Возможность исполнять методы Web-Api" = истина. ЧЯДНТ? |
|||
1
DosBot
11.07.18
✎
06:25
|
Очапятка:
ЗапросПозвонитьСкрипт => ЗапросПозвонить |
|||
2
DosBot
11.07.18
✎
07:52
|
Кто-нибудь вообще развлекался с "Http-API" Oktell? :(
|
|||
3
Остап Сулейманович
11.07.18
✎
08:30
|
(0) С этим адресом : 192.168.XX.XX все в порядке?
Это замылено для форума или так реально в коде забито? |
|||
4
DosBot
11.07.18
✎
08:38
|
(3) замылино специально. В коде все норм (о чём говорит наличие ответа от сервера)
|
|||
5
Остап Сулейманович
11.07.18
✎
08:42
|
(4) Какой смысл мылить адрес из внутренней подсети?
|
|||
6
DosBot
11.07.18
✎
09:10
|
(5) да никакого - просто писал адрес по памяти, не на рабочем месте (не вспомнил последние цифры)
|
|||
7
DosBot
11.07.18
✎
10:07
|
апну
|
|||
8
DosBot
09.10.18
✎
12:43
|
В общем, разобрался в чем беда. Оказывается в настройках пользователей ОкТелла небыло присвоено роли "Пользователь".
Теперь медитирую вот над чем: Как "слепить простенький Софтфон" или "взять бесплатный готовый, работающий с софтовой АТСкой". ... Вот есть статья по настройке софтфона в ОкТелле: http://wiki.oktell.ru/Подключение_IP_телефонов_и_софтфонов Опять же, есть функция веб-интерфейса ОкТелла wp_autocallstart (http://wiki.oktell.ru/Серверный_HTTP_интерфейс). Теперь, как связать одно с другим? Как получить список свободных линий, выполнить звонок (изменив статус линии и тп)? Где можно увидеть пример и порядок взаимодействия софтфона с сервером ОкТелла? Что, ему, серверу ОкТелла надо, чтобы выполнить звонок через wp_autocallstart? |
|||
9
DosBot
09.10.18
✎
12:48
|
Собственно, код который организует сейчас телефонный звонок:
... HTTPСоединение = Новый HTTPСоединение(ДанныеПодключения.Адрес, ДанныеПодключения.Порт, Логин, Пароль,,10); ЗапросПозвонитьСкрипт = "/execsvcscript?name=SvcScript1&startparam1="+ВнутреннийНомер+"&startparam2="+НомерТелефона+"&async=0&timeout=10"; HTTPЗапрос = Новый HTTPЗапрос(ЗапросПозвонитьСкрипт); Результат = HTTPСоединение.Получить(HTTPЗапрос); ... При этом должно быть запущено (!) стороннее приложение ОкТелл клиента т.к. скрипт выполняется методами этого приложения... поэтому хочу собственно то что в (8) чтобы без всяких ОкТелл клиентов... |
|||
10
palsergeich
09.10.18
✎
13:20
|
Нц начнем с того что 404 - страница не найдена, стандартный HTTP ответ если что то не так с адресом
|
|||
11
palsergeich
09.10.18
✎
13:24
|
Я бы сделал так
HTTPСоединение = Новый HTTPСоединение(ДанныеПодключения.Адрес, ДанныеПодключения.Порт,,,,10); HTTPСоединение.Пользователь = ИмяПользователя; HTTPСоединение.Пароль = Пароль; HTTPСоединение.Порт = 4055; ЗапросПозвонить = "execsvcscript?name=SvcScript1&startparam1=221&startparam2=НОМЕРТЕЛЕФОНА&async=0&timeout=10";; HTTPЗапрос = Новый HTTPЗапрос(ЗапросПозвонитьСкрипт); Результат = HTTPСоединение.Получить(HTTPЗапрос); |
|||
12
palsergeich
09.10.18
✎
13:27
|
ТОчнее Вот Так
Я бы сделал так HTTPСоединение = Новый HTTPСоединение(192.168.XX.XX, 4055,,,,10); HTTPСоединение.Пользователь = ИмяПользователя; HTTPСоединение.Пароль = Пароль; ЗапросПозвонить = "execsvcscript?name=SvcScript1&startparam1=221&startparam2=НОМЕРТЕЛЕФОНА&async=0&timeout=10";; HTTPЗапрос = Новый HTTPЗапрос(ЗапросПозвонитьСкрипт); Результат = HTTPСоединение.Получить(HTTPЗапрос); |
|||
13
palsergeich
09.10.18
✎
13:28
|
Просто код в (0) безсмысленен - вы логинетесь на одном сервере и пытаетесь передать невалдный запрос в него
|
|||
14
DosBot
09.10.18
✎
13:38
|
(13) Да. То что правильно и работает в итоге в (9)
|
|||
15
DosBot
09.10.18
✎
13:41
|
Вопрос в вот в чём: как сделать исходящий вызов через функцию wp_autocallstart.
Только что проверил: она работает, но только когда включено приложение Oktell client.. :( |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |