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

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

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


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

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

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


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

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

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

    Пример 1. В BILLmanager настроено два шлюза для отправки уведомлений. В настройках первого шлюза для рассылки выбраны типы "Отправка счёта" и "Сообщение от провайдера". В настройках второго шлюза в поле "Типы уведомлений" ничего не выбрано. Через второй шлюз будут проходить все типы уведомлений, кроме тех, которые указаны в настройках первого шлюза.

    Пример 2. В BILLmanager для отправки уведомлений настроено два шлюза с id 10 и 15. Для обоих шлюзов выбраны одинаковые типы уведомлений. Уведомления будут отправляться через шлюз с меньшим id — 10. Если сообщения по какой-то причине не были переданы через шлюз с id 10, шлюз с id 15 не отправит эти сообщения.

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

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

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

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

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

ЛогированиеLink to Логирование

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

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

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

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

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