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

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

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


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

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

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


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

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

  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. Нажмите Завершить.

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

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

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

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