Как правильно в api реализовать систему уведомлений на сайт и в тг бота?
Добрый день, хотелось бы получить ответ на вопрос или хотя бы совет/рекомендацию на следующий вопрос.
Имеется api, которое выполняет свою задачу, собирает и отдает данные. Сейчас подключаю к нему платежную систему, от которой на определенный вебхук приходит запрос об успешной оплате. Сейчас api, сайт и telegram bot это три разных приложения, мне нужно сделать что-бы уведомление отправлялось на сайт пользователю и в телеграм бота. Как это правильно сделать?
Должно ли api заниматься отправкой уведомления в телеграм или оно не должно знать о существовании тг бота и сайта? А складывать допустим уведомления в базу данных или в какую-либо очередь задач и от туда уже сайт и бот будут сами запрашивать новые уведомления? В общем как правильно выстраивают взаимодействие между приложениями в таком случае?
Главное - минимизировать зависимость разных сервисов друг от друга.
Можете свести все их взаимодействие к одному запросу (от API к сайту или наоборот) - нормально.
Как это будет организовано внутри - не так важно, тут уже можно отталкиваться от условий использования.
Например, API желательно откликаться быстро, а не создавать задержку, обращаясь к сайту.
Например, пользователи на сайте могут настраивать время, когда они не хотят получать ТГ...
Тут уж никаких универсальных "правильных" решений быть не может.
API у тебя должно быть ориентированно лишь на обработку запросов и возврат данных. По хорошему тебе нужно чтобы твоя апишка после получения уведомления об оплате добавляла этот увед в очередь задач, а уже твой сайт и тг бот могут регулярно проверять ее на наличие новых уведомлений, рекомендую ознакомиться с RabbitMQ либо же Kafka
Api - это свод правил для общения между ресурсами. Своего рода язык. Сделал запрос - получил ответ, а что там творится в между запросом и ответом ваша реализация. А сразу отправлять сообщение или в очередь ставить зависит от конкретной ситуации