Документация BILLmanager 6

Настройка уведомлений через Telegram

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

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

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

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

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

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

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

Чтобы настроить шлюз, перейдите в ИнтеграцияШлюзы сообщений → кнопка Создать:

  1. Выберите Telegram.
  2. Выберите Провайдера, к которому будет привязаны Telegram-уведомления.
  3. Типы уведомлений — выберите типы уведомлений, которые будут отправлены через данный шлюз. Если для уведомления не настроен шлюз для отправки, оно будет отправлено через первый подходящий шлюз по способу отправки.

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

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

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

Настройте шаблоны сообщений для уведомлений через 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 %>*\.

Логирование

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

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

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

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