Беру задачи на настройку вебхуков — связки, при которой один сервис сам сообщает другому о случившемся событии вместо того, чтобы тот раз за разом ходил и спрашивал, а что нового. Разница ощутима: вместо проверки каждые пять или десять минут система получает сигнал в момент события — оплата прошла, статус заказа изменился, пользователь отписался — и реагирует без задержки и без лишних запросов, которые просто нагружают сервер впустую.
За что берусь конкретно. Если у вас есть своя платформа и нужно рассылать её события во внешние сервисы — настрою исходящие вызовы с подписью, чтобы получатель мог убедиться в подлинности запроса. Если, наоборот, нужно принимать чужие события — разверну обработчик на вашей стороне: с проверкой подлинности входящего запроса, разбором тела и записью результата туда, куда нужно вашей логике.
Отдельное внимание уделяю устойчивости: сети падают, серверы перезагружаются, и любой получатель рано или поздно окажется недоступен в момент отправки. Поэтому строю очередь повторных попыток с увеличивающейся паузой между ними, слежу, чтобы одно и то же событие не обработалось дважды при повторной доставке, и подключаю запись неудачных попыток в отдельный журнал. В конце передаю описание того, какие эндпоинты за что отвечают и как устроена проверка подписи, чтобы дальше с этим мог работать любой разработчик на вашей стороне.
Коротко о результате:
— события долетают за секунды, без периодических проверок;
— подпись и проверка подлинности с обеих сторон;
— повторные попытки и защита от дублей;
— журнал сбоев и краткая документация по итогам.
За что берусь конкретно. Если у вас есть своя платформа и нужно рассылать её события во внешние сервисы — настрою исходящие вызовы с подписью, чтобы получатель мог убедиться в подлинности запроса. Если, наоборот, нужно принимать чужие события — разверну обработчик на вашей стороне: с проверкой подлинности входящего запроса, разбором тела и записью результата туда, куда нужно вашей логике.
Отдельное внимание уделяю устойчивости: сети падают, серверы перезагружаются, и любой получатель рано или поздно окажется недоступен в момент отправки. Поэтому строю очередь повторных попыток с увеличивающейся паузой между ними, слежу, чтобы одно и то же событие не обработалось дважды при повторной доставке, и подключаю запись неудачных попыток в отдельный журнал. В конце передаю описание того, какие эндпоинты за что отвечают и как устроена проверка подписи, чтобы дальше с этим мог работать любой разработчик на вашей стороне.
Коротко о результате:
— события долетают за секунды, без периодических проверок;
— подпись и проверка подлинности с обеих сторон;
— повторные попытки и защита от дублей;
— журнал сбоев и краткая документация по итогам.