Описание проекта
Нужно реализовать резервный канал: если отправка письма не удалась, система должна автоматически продублировать это уведомление через SMS. Дублировать нужно не всё подряд, а только согласованный список критичных типов событий — иначе расходы на SMS станут неоправданными.
Отдельное требование — контроль бюджета. SMS ощутимо дороже письма, поэтому нужны лимиты: сколько сообщений можно отправить пользователю в сутки, какой месячный бюджет на весь канал, и что происходит при достижении лимита (событие логируется, но SMS не уходит). Хочу видеть статистику по сообщениям и расходам, а также возможность быстро отключить канал через настройку, без правки кода.
Что нужно сделать:
— интеграция с API SMS-шлюза;
— проверка статуса доставки письма и логика решения об отправке SMS;
— список критичных типов уведомлений для дублирования;
— дневные и месячные лимиты расходов с уведомлением у порога;
— отчёт по сообщениям и стоимости.