Защищаем API от дубликатов, как настоящие помидоры!💪
Cитуация:
Клиент жмет "Заказать такси" -> сеть лаганула -> он жмет снова. В итоге API получает два запроса, и клиенту приезжает два такси. Клиент недоволен, деньги списались дважды, все в печали.😱
И после такого твой клиент ушел к конкурентам😢
Решение -
Idempotency-Key!Это уникальный ключ, который клиент отправляет в заголовке запроса. Если сервер уже обработал такой ключ, он просто вернет старый ответ, а не выполняет операцию заново.
POST /towiron/orders HTTP/1.1
Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000
Content-Type: application/json
{
"from": "улица Муминова, 7/2, Ташкент",
"to": "ул. Буюк Ипак Йули, 156Б, Ташкент",
}
- Если
ключ уже есть, возвращает ответ.
- Если
ключ новый, обрабатывает запрос и сохраняет результат.
Зачем это нужно?
✅ Защита от дубликатов (не списывает деньги дважды).
✅ Безопасные ретраи (клиент может повторить запрос без проблем).
В итоге: юзер доволен, ты спокоен, бизнес не теряет деньги. Внедряй
Idempotency-Key уже сегодня!👍
P.S.
отличная статья от яндекс