Уведомления в Telegram позволяют отправлять клиентам информацию о зачислении платежа, открытии услуги, ответе в запросе и т.д. Подробнее см. Виды уведомлений.
В этой статье описано как подключить и настроить в BILLmanager уведомления клиентов через Telegram-бота.
Настройка со стороны Telegram
Создайте бота в Telegram. Для этого:
- Перейдите по ссылке https://t.me/BotFather или найдите в поиске Telegram — @BotFather.
- Запустите бота при помощи команды /start.
- Создайте своего бота командой /newbot. Придумайте название для бота и его пользователя.
- Сохраните имя бота и token из последнего сообщения.
Настройка со стороны BILLmanager
Шлюз сообщений
Настройте новый шлюз для исходящих сообщений:
- Перейдите в Интеграция → Шлюзы сообщений → кнопка Создать.
- Выберите Telegram.
- Выберите Провайдера, к которому будет привязаны Telegram-уведомления.
- Включите опцию Активировать после создания.
- Введите Имя бота в Telegram.
- Укажите Токен, который вы сохранили при создании бота.
- Введите в поле Ссылка для Webhook адрес вида
{BILLmanagerURL}/mancgi/telegram_webhook
для получения подтверждений от Telegram. Telegram будет посылать на этот адрес вебхуки о том, что клиент и бот связаны. Вы можете оставить поле пустым. В этом случае будет использоваться адрес сервера с BILLmanager. - Выберите Разметку сообщений от Telegram-бота:
- HTML;
- Markdown;
- MarkdownV2.
-
Пример настройки Telegram
Шаблоны сообщений
Настройте шаблоны сообщений для уведомлений через Telegram:
- Перейдите в Настройки → Шаблоны сообщений → Сообщения для мессенджеров.
- Заполните нужные вам шаблоны с использованием разметки, выбранной в настройках. По умолчанию шаблоны не заполнены. Для создания сообщений можно использовать те же переменные, что и при создании email-уведомлений.
<% function EscapeForMarkdown(data) { %>
<% if (!data || data == '') { return; }%>
<% return data.replace(/[_*[\]()~'>#+\-=|{}.!\\]/g, "\\$&") %>
<% } %>
*Платёж зачислен*
Здравствуйте, *_<%= EscapeForMarkdown(user.realname) %>_*\!
Уведомляем вас о зачислении оплаты по счёту номер *<%= payment.number %>* на сумму *<%= EscapeForMarkdown(payment.paymethodamount) %> <%= payment.currency.iso %>*\.
Текущий баланс лицевого счёта равен *<%= EscapeForMarkdown(subaccount.balance) %> <%= currency.iso %>*\.
Логирование
Лог взаимодействия биллинговой системы с Telegram записывается в файл /usr/local/mgr5/var/gwtelegram.log.
Подключение Telegram-уведомлений со стороны клиента
Клиент может выбрать в личном кабинете один или несколько каналов уведомлений. Чтобы получать уведомления через Telegram, клиент:
- В Личном кабинете переходит в меню Уведомления.
- Включает нужные уведомления в столбце messenger.
- В поле Telegram указывает свой логин из Telegram без @.
- Нажимает Сохранить.
-
Переходит в Telegram и пишет боту. После этого BILLmanager связывает бота и пользователя, и клиент может получать все нужные уведомления в мессенджере.