Работа с Webhook

1. SantiouS 10.07.20 10:17 Сейчас в теме
Подскажите пожалуйста материалы (статьи/видео) для разбора получения обновлений 1с8 с помощью Webhook?
В конечной целе хотелось бы разобраться с данным вопросом для получения обновлений данных из АТС Binotel в 1с8.
По теме из базы знаний
Найденные решения
2. serg33rus 28 10.07.20 11:27 Сейчас в теме
А в чем проблема? Вебхук состоит из двух частей. Условно сервера, который генерит запрос по какому-то событию. И условно клиента, который это запрос отрабатывает.
Чтобы было проще, на примере бота телеграмм. В 1С поднимаем http-сервис. В настройках бота указываем вебхук на нашу 1С. И сервер телеграмм генерирует запросы к нашей 1С по http. А 1С эти запросы отрабатывает по тому алгоритму, который прописан в обработчике. Только надо смотреть внимательно какой запрос генерит сервер get или post, какие данные и в каком формате передает. Потому как тут возможно огромное количество вариантов. И их надо будет учитывать при создании http сервиса в 1С.
SantiouS; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. serg33rus 28 10.07.20 11:27 Сейчас в теме
А в чем проблема? Вебхук состоит из двух частей. Условно сервера, который генерит запрос по какому-то событию. И условно клиента, который это запрос отрабатывает.
Чтобы было проще, на примере бота телеграмм. В 1С поднимаем http-сервис. В настройках бота указываем вебхук на нашу 1С. И сервер телеграмм генерирует запросы к нашей 1С по http. А 1С эти запросы отрабатывает по тому алгоритму, который прописан в обработчике. Только надо смотреть внимательно какой запрос генерит сервер get или post, какие данные и в каком формате передает. Потому как тут возможно огромное количество вариантов. И их надо будет учитывать при создании http сервиса в 1С.
SantiouS; +1 Ответить
3. SantiouS 10.07.20 11:49 Сейчас в теме
(2) Я понимаю что мне нужно опубликовать 1с базу на веб сервере на первом этапе, но я бы ограничить доступ к своей БД всем, кроме век хука необходимого мне сервиса.
Я могу в веб сервере, либо брандмауере настроить, например, список ip адресов с которых могут обращаться к моеум веб серверу?
В общем виде мне нужно просто получать данные с вэб хука, мне не нужно что бы по ссылке могли войти в мою БД 1с.
4. serg33rus 28 10.07.20 11:58 Сейчас в теме
Да не вопрос. При публикации сними все галочки и оставь одну-единственную, напротив твоего http-сервиса. До кучи создай пользователя которому запрещен запуск всех видов 1с-клиента. И этого пользователя пропиши в default.vrd. И все. Кроме этого сервиса ничего не запустишь по этой публикации.
SantiouS; +1 Ответить
5. SantiouS 10.07.20 12:58 Сейчас в теме
(4)
default.vrd

Спасибо. Понял. То есть я:
1) ставлю и настраиваю вэб сервер.
2) публикую 1с на вэб сервере с установкой галочек как на скрине;
3) в папке публикации нахожу файл default.vrd и прописываю пользователя, которого предварительно должен создать в 1с8 (вот не понятно как прописать, какие права давать и зачем вообще єто?)
4) готово.

Подскажите по пункту 3 :)
6. serg33rus 28 10.07.20 13:58 Сейчас в теме
Все так. Скрина не вижу, но по смыслу понял. Оставь одну единственную галку напротив своего сервиса.
Когда создаешь пользователя, ты можешь (должен) установить ему права. Сними права с запуска клиентов (толстого, тонкого, веб). И тогда под этим клиентом войти в систему будет невозможно. В принципе этого тебе будет достаточно, чтобы обезопасить систему. А в файлике default.vrd пропиши в строке
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="Твоя база" ib="Путь к базе";usr=СозданныйПользователь;pwd=ПарольПользователя">
. В этом случае авторизация будет происходить автоматически под этим пользователем. Под другим нельзя будет залогиниться никоим образом.
Суть в том что если ты не пропишешь авторизацию, то при обращении будет запрашивать пароль и логин. 1. Тебе это не надо. 2. Нельзя будет указать какой-то другой логин и пароль. В принципе, если все правильно сделал в п.2, то в систему все-равно никто не войдет по этой ссылке, но когда все четко прописано, то и головной боли меньше.
Если чего, обращайся. Чем смогу, помогу.
SantiouS; +1 Ответить
7. SantiouS 10.07.20 14:40 Сейчас в теме
(6) Образно вот так (забыл прикрепить).
Спасибо за подсказки. До этого только работал с rest api от телеграм, но без веб хука (вручную мониторил телеграм), но видимо время пришло разобраться с веб хуком. (еще постил БД на апаче и игрался с мобильным приложением).
По сути можно создать пользователя и добавить ему одну роль (ключик) в котором не только возле тонкого клиента и т.д. клиентов убрать галки, а вообще нигде не давать права (пустой ключ). Далее прописав его в файле default.vrd доступ уже точно не будет получен.

На счёт предложения помощи большое спасибо, возможно напишу Вам при возникновении вопросов в ЛС (пока максимально постараюсь разобраться сам).

Верно я посыл понял :) ?
Прикрепленные файлы:
8. serg33rus 28 10.07.20 15:50 Сейчас в теме
Не-не. Веб-сервисы тоже снимай. Они в в данном случае на фиг не нужны. На закладке HTTP-сервисы должна стоять единственная галочка напротив ТВОЕГО htto-сервиса. Все остальное убрать. Для вебхука этого более чем достаточно. http-сервисы "по умолчанию" тоже убрать.
SantiouS; +1 Ответить
9. SantiouS 13.07.20 10:22 Сейчас в теме
(8) Направление понял. Очень помог, спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот