Отправка уведомлений в Telegram

Для того, чтобы отправлять push уведомления по различным событиям из заявки, необходимо перейти в меню "Диспетчер" и создать новое правило.

В зависимости от того, по каким действиям Вы хотите получать уведомления, необходимо выбрать обязательные и дополнительные условия, при выполнении которых будет осуществляться отправка уведомлений. 

 

 

В нашем примере уведомление будет отправляться каждый раз при поступлении новой заявки в системе. Как только правило будет создано, необходимо в действиях выбрать "Отправить вебхук" и заполнить информацию как на скриншоте.

 

Пример 1: Отправка личного сообщения от бота.

 

 

В поле URL необходимо вставить ссылку с токеном бота, через который будет осуществляться отправка:

https://api.telegram.org/bot*/sendMessage, где * - API ключ вашего бота.

 

В содержимом нужно будет указать шаблон, который будет отправлен при срабатывании правила. В поле с "chat_id" должен находиться Ваш уникальный id аккаунта в Telegram. Узнать id можно, например, обратившись к Telegram-боту @myidbot:

 

 

Содержимое шаблона можно выбирать на Ваше усмотрение, при помощи тегов. 

С примером содержимого можно ознакомиться ниже:

{
"parse_mode":"html",
"chat_id": "*****",
"text":"Поступила новая заявка {unique_id}. Содержимое: $strip_tags({answer_first})"
}

где:

1) ***** -  id пользователя (сотрудника), которому будет отправлено уведомление о поступлении заявки

2) $strip_tags({answer_first})" - тег answer_first с содержимым первого ответа в заявке. Тег обернули в $strip_tags() чтобы избежать ошибки от Telegram в случае отправки неподдерживаемых тегов.

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

 

Пример 2. Отправка уведомления в Telegram группу.

 

Правило составляется по аналогии с отправкой личных сообщений (пример 1). Единственное, что поменяется это параметр chat_id (нужно будет подставить id группы), который можно узнать так:

  • добавить Telegram бота @myidbot в нужную группу и прописать команду /getgroupid@myidbot - после чего он отобразит id текущей группы:

 

 

Пример содержимого вебхука будет выглядеть практически также:

{
"parse_mode":"html",
"chat_id": "-**********",
"text":"заявка: {link_staff}, id заявки: {ticket_id}"
}

 

Пример 3. Отправка уведомлений в Telegram-топики (topics/темы)

 

В HelpDeskEddy можно настроить отправку уведомлений в Telegram-топики (тематические ветки в чатах) с помощью вебхуков. Это позволяет автоматически отправлять сообщения в определённые топики Telegram-группы в зависимости от событий в системе, например, создания заявки с определённым названием. В этой статье мы рассмотрим, как настроить вебхуки для отправки уведомлений в топики Telegram, такие как "Срочные заявки" или "Новые заказы", на основе заголовка заявки в HelpDeskEddy.

Отправка уведомлений в Telegram-топики помогает:

  • Автоматизировать оповещения о новых заявках в соответствующие тематические ветки.

  • Улучшить организацию коммуникаций в команде, направляя уведомления в нужные топики.

  • Сократить время реакции на важные события, такие как срочные заявки или новые заказы.

 

Предварительные требования

  1. Telegram-бот: Создайте бота через @BotFather в Telegram и получите его токен (например, 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11).

  2. Группа с топиками: Убедитесь, что у вас есть Telegram-группа с включёнными топиками (темами). Бот должен быть добавлен в группу как администратор с правами на отправку сообщений.

  3. ID топиков: Определите ID топиков в группе, куда будут отправляться уведомления. Вы можете узнать ID топика, отправив сообщение в топик и использовав бота (например, @GetIDSBot) для получения thread_id.

  4. Доступ к HelpDeskEddy: У вас должны быть права администратора для настройки вебхуков в разделе "Диспетчер".

 

Шаг 1: Настройка Telegram-бота

  1. Откройте Telegram и найдите @BotFather.

  2. Создайте нового бота с помощью команды /newbot, следуя инструкциям.

  3. Сохраните полученный токен бота.

  4. Добавьте бота в вашу Telegram-группу как администратора.

  5. Включите топики в группе (настройки группы → "Темы" → Включить).

  6. Создайте топики, например, "Срочные заявки" и "Новые заказы".

  7. Используйте бота, такого как @GetIDSBot, чтобы получить thread_id для каждого топика. Например:

    • Топик "Срочные заявки": thread_id = 123456.

    • Топик "Новые заказы": thread_id = 789012.

 

Шаг 2: Настройка вебхука в HelpDeskEddy

  1. Войдите в HelpDeskEddy и перейдите в модуль УправлениеДиспетчер.

  2. Нажмите Добавить правило для создания нового правила автоматизации.

  3. Условия:

    • В разделе "Обязательные условия" выберите поле "Заголовок заявки" и укажите условие, например, "содержит 'Срочная заявка'" или "содержит 'Новый заказ'".

    • При необходимости добавьте дополнительные условия (например, по приоритету или категории заявки).

  4. Действия:

    • Выберите действие Отправить вебхук.

    • Укажите URL вебхука Telegram API. Формат:

      https://api.telegram.org/bot<ВАШ_ТОКЕН_БОТА>/sendMessage

      Например:

      https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/sendMessage
    • В поле Параметры вебхука укажите JSON-данные для отправки сообщения в нужный топик. Пример для топика "Срочные заявки":

      {
        "chat_id": "-100123456789",
        "message_thread_id": "123456",
        "text": "Новая срочная заявка: {link_staff}, id заявки: {ticket_id}",
        "parse_mode": "HTML"
      }

      Для топика "Новые заказы":

      {
        "chat_id": "-100123456789",
        "message_thread_id": "789012",
        "text": "Новый заказ: {link_staff}, id заявки: {ticket_id}",
        "parse_mode": "HTML"
      }
      • chat_id: ID вашей Telegram-группы (например, -100123456789). Получите его через @GetIDSBot.

      • message_thread_id: ID топика, соответствующий нужной теме.

      • text: Текст уведомления. Используйте переменные HelpDeskEddy, в том числе {link_staff} для получения ссылки на заявку.

      • parse_mode: Укажите "HTML" или "Markdown" для форматирования текста, если требуется.

  5. Сохраните правило и протестируйте его, создав тестовую заявку с заголовком, например, "Срочная заявка".

 

Шаг 3: Создание дополнительных правил

Для каждого типа заявок создайте отдельное правило в "Диспетчере":

  • Для "Срочных заявок": Укажите условие "Название заявки содержит 'Срочная заявка'" и настройте вебхук с message_thread_id для топика "Срочные заявки".

  • Для "Новых заказов": Укажите условие "Название заявки содержит 'Новый заказ'" и настройте вебхук с message_thread_id для топика "Новые заказы".

  • По аналогии настройте правила для других категорий заявок и соответствующих топиков.

 

Шаг 4: Тестирование

  1. Создайте тестовую заявку в HelpDeskEddy с заголовком, например, "Срочная заявка #123".

  2. Проверьте, появилось ли уведомление в топике "Срочные заявки" в Telegram-группе.

  3. Повторите тест для заявки с заголовком "Новый заказ #456" и убедитесь, что уведомление отправлено в топик "Новые заказы".

  4. Если уведомления не приходят, проверьте:

    • Правильность токена бота и chat_id.

    • Корректность message_thread_id для топика.

    • Логи вебхуков в HelpDeskEddy (раздел "Диспетчер" → "Логи").

 

Полезные советы

  • Форматирование: Для выделения текста используйте HTML-теги (например, <b>текст</b>) или Markdown (**текст**) в поле text.

  • Ограничения Telegram: Убедитесь, что бот имеет права администратора в группе и топики включены.

  • Масштабирование: Для большого числа топиков создайте шаблон правил в "Диспетчере" и дублируйте их, изменяя только message_thread_id и условия.

 

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

Допустим, у вас есть Telegram-группа с chat_id = -100123456792 и топик "Срочные заявки" (message_thread_id = 8). Тогда ваше правило будет выглядеть приблизительно следующим образом:

 

Остальные правила можно реализовать по аналогии.