Доработать функционал вэб сервиса
Дано:
Сервис на Laravel (админ панель Orchid) позволяющий разсылать уведомления через телеграм/вайбер бот пользователям
Задача:
Реализовать на основе существующей логики функционал отправки "редирект ссылок" с опцией получения результата по вэбхуку:
1. В админ панели сервиса необходимо добавить сущность "Редирект ссылка" с возможностями настройки:
- Название ссылки
- Ссылка для редиректа (на сторонний сервис, который по факту выполнения условий пользователем на своей стороне отобъется вебхуком на наш сервис с результатом)
- Время жизни ссылки (по истечению времени ссылка становится недействительной)
- Время жизни обратного ответа (по истечению времени отправленное сообщение отмечается как проваленное)
2. В админ панели сервиса необходимо добавить сущность "Результат редиректа" с возможностями настройки:
- Ссылка на редирект
- Статус редиректа (успешно/провалено)
- Данные редиректа (поле для хранения данных, которые пришли по вебхуку)
3. Расширить текущий функционал отпарвки сообщений логикой отправки ссылок (уникальных для каждого пользователя) с возможностью получения результата по вэбхуку:
- При отправке сообщения пользователю на телеграм/вайбер добавляется кнопка "Перейти по ссылке" (или с текстом указанным при создании ссылки)
- При нажатии на кнопку пользователь переходит по редирект ссылке (редирект происходит на стороне нашего сервиса)
- Факт редиректа сохраняется в базе в сущности "Результат редиректа"
- После перехода по ссылке на стороннем сервисе выполняется условие и отправляется вебхук на наш сервис с результатом
- Результат сохраняется в базе данных в сущности "Результат редиректа"
4. По факту успешного результата редиректа пользователю начисляются бонусы (логика начисления бонусов уже реализована в сервисе)
Условия:
- Вся новая логика быть покрыта юнит тестами
- Все изменения вносятся через git
- Все действия должны сопровождаться логами на стороне сервиса