Уведомления в Telegram позволяют отправлять клиентам информацию о зачислении платежа, открытии услуги, ответе в запросе и т.д. Подробнее см. Виды уведомлений.

В этой статье описано как подключить и настроить в BILLmanager уведомления клиентов через Telegram-бота.

Настройка со стороны Telegram


Создайте бота в Telegram. Для этого:

  1. Перейдите по ссылке https://t.me/BotFather или найдите в поиске Telegram — @BotFather.
  2. Запустите бота при помощи команды /start.
  3. Создайте своего бота командой /newbot. Придумайте название для бота и его пользователя.
  4. Сохраните имя бота и token из последнего сообщения.

Настройка со стороны BILLmanager


Шлюз сообщений

Настройте новый шлюз для исходящих сообщений:

  1. Перейдите в ИнтеграцияШлюзы сообщений → кнопка Создать.
  2. Выберите Telegram.
  3. Выберите Провайдера, к которому будет привязаны Telegram-уведомления.
  4. Включите опцию Активировать после создания.
  5. Введите Имя бота в Telegram.
  6. Укажите Токен, который вы сохранили при создании бота.
  7. Введите в поле Ссылка для Webhook адрес вида {BILLmanagerURL}/mancgi/telegram_webhook для получения подтверждений от Telegram. Telegram будет посылать на этот адрес вебхуки о том, что клиент и бот связаны. Вы можете оставить поле пустым. В этом случае будет использоваться адрес сервера с BILLmanager.
  8. Выберите Разметку сообщений от Telegram-бота:
    • HTML;
    • Markdown;
    • MarkdownV2.
  9. Нажмите Завершить.
    Пример настройки Telegram 

    Пример настройки Telegram

Обратите внимание!

Одного бота можно использовать для разных провайдеров. Для этого для каждого провайдера создайте отдельный шлюз.

Шаблоны сообщений

Настройте шаблоны сообщений для уведомлений через Telegram:

  1. Перейдите в НастройкиШаблоны сообщенийСообщения для мессенджеров.
  2. Заполните нужные вам шаблоны с использованием разметки, выбранной в настройках. По умолчанию шаблоны не заполнены. Для создания сообщений можно использовать те же переменные, что и при создании 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 %>*\.

CODE

Логирование

Лог взаимодействия биллинговой системы с Telegram записывается в файл /usr/local/mgr5/var/gwtelegram.log.

Подключение Telegram-уведомлений со стороны клиента

Клиент может выбрать в личном кабинете один или несколько каналов уведомлений. Чтобы получать уведомления через Telegram, клиент:

  1. В Личном кабинете переходит в меню Уведомления.
  2. Включает нужные уведомления в столбце messenger.
  3. В поле Telegram указывает свой логин из Telegram без @.
  4. Нажимает Сохранить.

  5. Переходит в Telegram и пишет боту. После этого BILLmanager связывает бота и пользователя, и клиент может получать все нужные уведомления в мессенджере.

    Обратите внимание!

    В интерфейсе BILLmanager 6, чтобы узнать название бота, клиенту нужно посмотреть подсказку рядом с полем Telegram.