Задача — заменить опрос на прямые уведомления о событиях. Как только на одной стороне происходит что-то значимое — оформлен заказ, подтверждена оплата, изменился статус, — вторая сторона должна получить сигнал в течение нескольких секунд. Нужен механизм, который отправляет запрос сразу в момент события, а на принимающей стороне — обработчик, который его примет, проверит и поставит в очередь.
Важно, чтобы решение было надёжным: если принимающий сервис временно недоступен, отправитель должен повторить попытку через нарастающие интервалы, а не терять событие. Также нужна защита от подделки запросов и от повторной обработки одного события. Хочу, чтобы исполнитель предусмотрел логи по обеим сторонам обмена для быстрого разбора сбоев.
Кратко, что нужно сделать:
— определить перечень событий и формат передаваемых данных для каждого из них
— настроить отправку подписанных запросов с повторами при сбоях
— реализовать приёмный обработчик с проверкой подлинности и защитой от дублей
— оставить понятное описание, как добавлять новые типы событий в будущем