УЧЕБНЫЙ HTTP API. Python 3, стандартная библиотека; без pip.
Windows: py -3 api-lab.py. Linux: python3 api-lab.py. По умолчанию порт 18081.
Затем во втором окне Windows: curl.exe -i --max-time 5 http://127.0.0.1:18081/api/orders
POST: curl.exe -i --max-time 5 -X POST http://127.0.0.1:18081/api/orders -H "Content-Type: application/json" -H "Idempotency-Key: order-1001" --data-binary "@order.json"
Linux: curl вместо curl.exe. Работать из папки с order.json.
Первый POST:201/id1. Тот же ключ+тело:200/X-Lab-Replayed:true/id1. GET:count1.
Другой amount_kopecks при том же ключе:409. Отрицательная сумма:422.
Отсутствующая страница:404. DELETE:405. Не-JSON Content-Type:415.
Остановка Ctrl+C. Все заказы и ключи только в RAM, после остановки теряются.
Привязка только127.0.0.1. Нет аутентификации, TLS, СУБД, вебхуков, OAuth, очередей, долговременной дедупликации и промышленной конкурентности. Не публиковать в Интернет. Не вводить реальные данные. Внешние сервисы не вызываются.
Максимум100 заказов, тело до4096байт. Это не промышленный сервер и не готовая интеграция с1С.
