Телеграм, 1С http-сервис, webhook по SSL

31.10.21

Интеграция - Мессенджеры и боты

Как установить Телеграм webhook по HTTPS на 1С http-сервис используя самоподписанный (self signed) сертификат на IP адрес. Личный опыт.

Пару дней не мог установить webhook телеграм бота на HTTP-сервис 1С по протоколу HTТPS. Все что-то мешало... То телеграм не хотел сертификат принимать, то в IIS не получалось загрузить свой сертификат. По этому опубликую личный опыт как все таки у меня это получилось...

 

1. Качаем и устанавливаем OpenSSL. Генерируем сертификат. CN это внешний адрес вашего сервера на котором виден HTTP-сервис. "-days 9999" - 28 лет, что бы два раза не бегать )))

openssl req -newkey rsa:2048 -sha256 -nodes -keyout webhook.key -x509 -days 9999 -out webhook.cer -subj "/C=US/ST=State/L=Cyti/O=You Company/CN=IP_Адрес_сервера"

В итоге получим два файла webhook.key (приватный ключ) и webhook.cer (собственно сертификат).

2. Ищем в интернете утилиту pvk.exe авторства Dr Stephen N Henson. Конвертируем приватный ключ в формат PVK и устанавливаем пароль на ключ. Например 12345678

pvk -in webhook.key -out webhook.pvk –topvk

3. Создаем из файла сертификата и файла PVK сертификат PFX. 

pvk2pfx.exe -pvk webhook.pvk -spc webhook.cer -pfx webhook.pfx -pi 12345678 -po 12345678

4. Этот сертификат можно спокойно установить в IIS и забиндить SSL порт с этим сертификатом на порт 443.

5. Вешаем веб-хук телеграм бота на наш HTTP-сервис 1С. "Шаблон" и "Имя_bot" - это на случай если наш HTTP-сервис будет обслуживать несколько ботов.

curl -F "url=https://адрес_сервера:443/telegram_hs/hs/webhook/шаблон/имя_bot" -F "certificate=@webhook.cer" https://api.telegram.org/botТокенБота/setWebhook -k

6. Проверяем веб-хук.

https://api.telegram.org/botТокенБот/getWebhookInfo

 

 

has_custom_certificate = true - значит сертификат установлен.

7. Теперь нужно сделать так, чтобы телеграм мог достучаться до HTTP-сервиса без авторизации. Для этого заводим в 1С пользователя (например hs) с паролем (пусть 12345678). На сервере IIS где опубликованы веб-сервисы и HTTP-сервисы копируем публикацию C:\inetpub\wwwroot\myTest -> C:\inetpub\wwwroot\myTest_noauth. В диспетчере служб IIS преобразовываем новый каталог в приложение. Редактируем файл default.vrd примерно так:

 

 

т.е. выключаем все, кроме HTTP-сервиса "WebHook". У меня не опубликованы веб-сервисы, по этому их нет в файле. У вас могут быть, значит их тоже надо отключить. Как то так:

 

 

Ну вот и все вроде бы. Сообщения пользователей из бота прилетают в 1С. Вот эхо-бот на 1С отвечает пользователю.

 

P.S. Пункт 7 можно не делать, если веб-хук повесить сразу с указанием имени и пароля пользователя!

curl -F "url=https://hs:12345678@адрес_сервера:443/telegram_hs/hs/webhook/шаблон/имя_bot" -F "certificate=@webhook.cer" https://api.telegram.org/botТокенБота/setWebhook -k

Спасибо uno-c за подсказку!

телеграм вебхук самоподписанный telegram webhook self-signed

См. также

SALE! 25%

Конструктор ботов Телеграм, редакция 2

Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Развитие популярного решения для интеграции мессенджера Telegram с нашей любимой 1С.

15000 11250 руб.

18.06.2021    58713    291    255    

345

SALE! 25%

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов/Telegram

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С, есть сертификат 1С:Совместимо. Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 9900 руб.

27.12.2021    33296    80    157    

174

Легкий документооборот (+чат-бот для Telegram)

Документооборот и делопроизводство (СЭД) Мессенджеры и боты Учет документов Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 Платные (руб)

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    27795    25    48    

57

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    83638    40    191    

127

Интеграция 1С с телефонией и чатами WhatsApp и Telegram

Телефония, SIP Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Россия Управленческий учет Платные (руб)

Интеграция 1С с телефонией и чатами WhatsApp и Telegram автоматизирует работу оператора со звонками и чатами и добавит вашей 1С элементы CRM системы. Храните всю историю взаимоотношений в 1С, не теряйте звонки, скачивайте, прослушивайте в любое время из карточки клиента или журнала звонков, держите руку на пульсе, используя блок отчетов по звонкам. Интегрируйте вашу 1С и чатами WhatsApp и Telegram, общайтесь с клиентами с единого номера и в одном окне. Теперь чаты с клиентами хранятся в карточке партнера в 1С, а не в личных мобильных ваших менеджеров.

4100 руб.

28.04.2022    13859    11    6    

36

Отправка в Telegram отчетов, печатных форм, присоединённых файлов и произвольных вложений. Загрузка получателей. Хранение истории отправок.

Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Платные (руб)

Универсальное расширение для отправки (напрямую и через прокси) печатных форм, отчетов, присоединённых файлов, табличных документов и произвольных вложений в чат Telegram прямо из 1С. Ручная и автоматическая фоновая загрузка по расписанию идентификаторов получателей Telegram. Хранение истории отправок сообщений с ограничением по времени хранения и с автоматической очисткой по мере истечения срока хранения.

4800 руб.

26.12.2023    2213    1    0    

5
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Torin 741 31.10.21 10:02 Сейчас в теме
(0) Зачем мудрить с само подписанными? если можно получить сертификат через Buypass, ZeroSSL,Let's Encrypt
2. Goody 128 31.10.21 13:11 Сейчас в теме
(1)во первых срок действия ограничен, во вторых многие бесплатные требуют доменное имя.

Вообще-то никто не заставляет пользовать самоподписанный. Но вариант есть, о чем и статья.
3. aleksey2 86 01.11.21 09:08 Сейчас в теме
для 1С нужен именно такой серт-т (openssl)
4. Goody 128 01.11.21 12:36 Сейчас в теме
(3)Прости, не понял... Вопрос или утверждение? )))
5. Mikhail-Kobtsev 02.11.21 09:12 Сейчас в теме
автор, подскажи

твой HTTP сервис виден всему интернету?
6. Goody 128 02.11.21 12:53 Сейчас в теме
(5)Вопрос не понял... Если веб-сервис не будет виден "всему интернету", то как на него повесить веб-хук? :-)
Конечно же адрес веб-сервиса должен быть внешним. Доступ к нему - это немного другая тема...
Конкретно мой виден всему интернету.
Mikhail-Kobtsev; +1 Ответить
7. Mikhail-Kobtsev 02.11.21 13:58 Сейчас в теме
8. METAL 289 03.11.21 14:43 Сейчас в теме
Коллега, а можно вопрос - зачем это? В чём отличие от обычных ботов? Правильно ли понимаю, что webhook позволяет не опрашивать api по расписанию, а обрабатывать сообщение от пользователя по событию его получения, а не по расписанию и анализу обновлений через getUpdates?
9. Goody 128 03.11.21 19:20 Сейчас в теме
(8)абсолютно так
getUpdates это больше для отладки. Нормальный бот должен работать через вебхук. ;)
10. uno-c 235 04.11.21 14:11 Сейчас в теме
Теперь нужно сделать так, чтобы телеграм мог достучаться до HTTP-сервиса без авторизации
Моветон. Телеграм умеет делать basic auth на вебхуках.
11. Goody 128 04.11.21 14:22 Сейчас в теме
(10) А показать как заставить телеграм сделать basic auth не будет моветоном?
https://core.telegram.org/bots/api#setwebhook - что то не вижу я такой возможности, что-то новое придумали?
12. uno-c 235 04.11.21 14:23 Сейчас в теме
15. Goody 128 04.11.21 18:54 Сейчас в теме
(12) БЛИН! Как я о таком не подумал!!! :-)
Спасибо!
13. uno-c 235 04.11.21 14:29 Сейчас в теме
https://its.1c.ru/db/metod8dev/content/5977/hdoc
2. Выпуск самоподписанного сертификата
Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.

Этот способ не прошел или не пробовали?
14. Goody 128 04.11.21 15:14 Сейчас в теме
(13) Пробовал конечно. Но во первых срок жизни такого сертификата невелик, во вторых скормить его телеграму при установке вебхука не получилось. Уж как я только его не вертел )))
16. Punk 05.11.21 08:47 Сейчас в теме
Александр, спасибо за статью!
Решение нашлось 5 лет спустя, после того как интересовался этой темой. :)
Но лучше позже чем никогда!
Еще раз благодарю за статью!
17. Eldar_Umerov 26.08.22 16:48 Сейчас в теме
Подскажите пожаулуйста - где можно найти утилиту о которой говорится на шаге 2 (pvk.exe) или может есть другая актуальная утилита ? Заранее благодарен.
18. rumik007 29.08.22 09:46 Сейчас в теме
19. user1755044 28.09.22 04:37 Сейчас в теме
В Apache подобная настройка сертификата?
20. Goody 128 28.09.22 08:44 Сейчас в теме
(19) Ну если знаете как к апачу прикрутить сертификат, то скорее всего взлетит. )))
Я на апаче не проверял...
21. wrooom 173 01.10.22 13:35 Сейчас в теме
Я добавил в telegram сертификат, все хорошо. А как включить отладку?
22. Goody 128 01.10.22 16:56 Сейчас в теме
23. wrooom 173 01.10.22 17:30 Сейчас в теме
24. Goody 128 01.10.22 21:10 Сейчас в теме
(23) Это надо опубликовать веб сервисы 1С с включенной отладкой. В инете много инструкций по этому поводу.
25. wrooom 173 03.10.22 13:34 Сейчас в теме
(24) Заработало, если указать порты сервера отладки 1560:1591
27. lex1972 5 03.11.22 12:02 Сейчас в теме
Отличная статья! Спасибо.
28. hd2404 18.11.22 12:12 Сейчас в теме
подскажите пожалуйста, куда копать, настроил, хук работал неделю и перестал. я так понял телеграмм ругается на сертификат при вызове хука, хотя сертификат принял без проблем и работал же... удаление и переустановка хука с сертификатом не помогает, рестарт бота тоже, смена токена тоже.. на новом боте все аналогично, в общем тупик какой то.

getWebhookInfo:

url: https://адрес http сервиса
has_custom_certificate: Да
last_error_date: 18.11.2022 12:00:36
last_error_message: SSL error {error:0A000086:SSL routines::certificate verify failed}
pending_update_count :
ip_address :
max_connections: 100
29. пользователь 04.01.23 03:14
Сообщение было скрыто модератором.
...
30. user1371669 04.01.23 03:18 Сейчас в теме
(28)
Удалось решить вопрос?
Оставьте свое сообщение