Перейти к содержанию

01.1.4 Telegram

Версия 1.0.0
Количество листов

Оглавление

История изменений

№ Дата: Автор: RFC: Версия:

1. Telegram

Мессенджер Telegram используется для организации системы уведомлений, о событиях происходящих в сервисе.

Интеграция с сервисом осуществляется на основе API документации сервиса.

1_1 Переменные окружения

Переменная окружения Описание
TELEGRAM_BOT_TOKEN Токен бота для создания сообщений.
TELEGRAM_CHAT_ID Идентификатор чата в котором должны создаваться сообщения.

1.1 Очередь отправки сообщений в Телеграм

Очередь предназначена для отправки сообщений в Телеграм.

Очередь состоит из:

  1. Брокера сообщений который предназначен для хранения информации о сообщение которое должно быть отправлено.
  2. Обработчика сообщений.

Повторная отправка сообщения очереди

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

Настройки повторной отправки сообщений

Настройка Значение Описание
Первоначальная отсрочка 300000 Первоначальная отсрочка отправки сообщения в миллисекундах.
Количество попыток 5 Количество повторных попыток отправки сообщения
Множитель отсрочки 1

1.1_1 Параметры сообщения “Telegram message”

Название Ключ Значение
Текст сообщения text Значение определяется произошедшим событием.
01.1.4_1.1_1 Процедура отправки сообщения в Телеграм
  1. Наступает время обработки сообщения, брокер отправляет сообщение обработчику сообщений.
  2. Обработчик получает сообщение “Telegram message”.
  3. Выполняется логирование события с Payload:
  4. event - "received";
  5. title - “Telegram message”;
  6. data.text - Текст сообщения, который был получен в сообщении для которого была инициирована данная процедура.
  7. Выполняется запрос sendMessage к сервису “Телеграм” с параметрами:
  8. “chat_id” - согласно переменной окружения TELEGRAM_CHAT_ID:
  9. “text” - согласно значению ключа “text” сообщения “Telegram message”.
  10. Если запрос sendMessage к сервису “Телеграм” выполнен не успешно:
    1. Выполняется логирование события с Payload:
      1. title - “Telegram message”;
      2. error - “The request returned an error”;
      3. data.text - Текст сообщения, который был получен в сообщении для которого была инициирована данная процедура.
    2. Брокеру сообщений не возвращается информация о том что сообщение было обработано;
    3. Если сообщение “Telegram message” удаляется из очереди:
      1. Выполняется создание “Уведомления” с параметрами:
        1. Дата создания - согласно текущей дате;
        2. email - team@rippla.com;
        3. Тип - email;
        4. Идентификатор динамического шаблона - 15;
        5. Параметры уведомления:
        6. “environment” - определяется как строка, согласно окружению в котором выполняется процедура. Возможно одно из следующих значений:
          1. DEVELOPMENT;
          2. STAGE;
          3. PRODUCTION.
        7. “emailBody” : согласно 01.1.4_1.1_1.1;
        8. Статус - “new”.
      2. В очередь “Отправка email-уведомлений через сервис Sendgrid” добавляется сообщение “Email-уведомление” с параметрами:
        1. Идентификатор уведомления - идентификатор уведомления которое было создано на этапе “5_a_iii_1” данной процедуры.
  11. Если запрос sendMessage к сервису “Телеграм” выполнен успешно брокеру сообщений возвращается информация о том что сообщение было обработано.

01.1.4_1.1_1.1 Определение параметра уведомления emailBody
Параметр уведомления “emailBody” формируется как строка в формате HTML.

Пример:

\<p>‼️There was a problem when sending a Telegram message, please inform the technical support.\</p>