Разработка сервиса универсальных уведомлений

Цель проекта

Создать централизованный сервис (шину уведомлений), который принимает запросы через единый REST API эндпоинт и маршрутизирует сообщения в указанные каналы доставки.

Ключевые требования

API эндпоинт

  • Реализовать REST API эндпоинт /notify (метод POST).
  • Эндпоинт должен принимать в теле запроса параметры: тип сообщения и целевой канал доставки.

Поддерживаемые каналы интеграции

  • Telegram: Интеграция с Telegram-ботом для отправки сообщений в чаты или каналы.
  • Email (SMTP): Отправка электронных писем через внешний SMTP-сервер.
  • Внешний вебхук: Отправка данных (POST-запрос) на произвольный внешний URL, указанный в запросе.

Функциональность

  • Сервис должен анализировать входящий запрос и перенаправлять его в соответствующую интеграцию.
  • Необходима обработка ошибок (например, недоступность канала) и возврат понятных статусов ответа API.
  • Архитектура должна позволять в будущем добавлять новые каналы уведомлений.

Ожидаемый результат

Готовый, работающий сервис с документацией по использованию API. Код должен быть чистым, модульным и готовым к развертыванию.