{"info":{"_postman_id":"5db3e0b8-eb6d-4b6f-b536-2711c3b1d3b2","name":"Lamoda","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"34122323","collectionId":"5db3e0b8-eb6d-4b6f-b536-2711c3b1d3b2","publishedId":"2sA3JKcMYg","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2024-05-08T11:15:05.000Z"},"item":[{"name":"Список доступных товаров на складе","id":"ceb31912-9471-470d-ac36-1feba42c0f9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://127.0.0.1/api/storage/{id}","description":"<p>Пердназначен для получения остатков товаров на конкретном складе.</p>\n<p>В параметрах запроса необходимо передать:</p>\n<ul>\n<li>id - Уникальный идентификатор склада, по которому клиент хочет получить информацию.</li>\n</ul>\n<p>Необязательный параметр</p>\n<ul>\n<li>page - Указывает на текущую страницу просмотра данных. Один page представляет собой выборку длиной 5 записей. По умолчанию применяется значение page=1.</li>\n</ul>\n","urlObject":{"protocol":"http","path":["api","storage","{id}"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"77ab3669-562d-4447-b8a7-19a81001569f","name":"Валидный запрос","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1/api/storage/1"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:39:32 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"item_id\": \"uid-1\",\n        \"name\": \"Кроссовки\",\n        \"amount\": 20\n    },\n    {\n        \"item_id\": \"uid-2\",\n        \"name\": \"Футболка\",\n        \"amount\": 10\n    },\n    {\n        \"item_id\": \"uid-3\",\n        \"name\": \"Куртка\",\n        \"amount\": 15\n    },\n    {\n        \"item_id\": \"uid-4\",\n        \"name\": \"Туфли\",\n        \"amount\": 10\n    },\n    {\n        \"item_id\": \"uid-5\",\n        \"name\": \"Кофта\",\n        \"amount\": 91\n    }\n]"},{"id":"bc2e66f9-835d-43bf-813a-67e041bae62d","name":"Id, превышающий ограничение INT в SQL","originalRequest":{"method":"GET","header":[],"url":"http://127.0.0.1/api/storage/8938293894923"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:33:38 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        {\n            \"property\": \"\",\n            \"value\": 8938293894923,\n            \"message\": \"value should be between 1 and 2147483647\"\n        }\n    ]\n}"},{"id":"d6d4b241-3f7d-4cc5-a46a-ea4cf553a47b","name":"Пагинация","originalRequest":{"method":"GET","header":[],"url":{"raw":"http://127.0.0.1/api/storage/1?page=2","protocol":"http","host":["127","0","0","1"],"path":["api","storage","1"],"query":[{"key":"page","value":"2"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:40:44 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"[\n    {\n        \"item_id\": \"uid-6\",\n        \"name\": \"Шапка\",\n        \"amount\": 2\n    }\n]"}],"_postman_id":"ceb31912-9471-470d-ac36-1feba42c0f9b"},{"name":"Резервирование товаров","id":"2f7b1d0a-f6aa-40cb-ba9c-e5f2f475bf18","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation","description":"<p>Предназначен для создания резервации товаров.<br />В теле запроса необходимо передать массив, каждый элемент которого содержит следующие поля:</p>\n<ul>\n<li>item_id - Id товара, который планируется зарезервировать.</li>\n<li>require - Запрашиваемое для резервации количество товара.</li>\n</ul>\n<p>Каждая новая резервация имеет статус \"created\".<br />Возвращает reservation_uid, который в дальнейшем может использоваться для отмены резервации.</p>\n","urlObject":{"protocol":"http","path":["api","reservation"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"befde839-da8d-463d-893f-130f4b53abc2","name":"Валидный запрос","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\n    {\n        \"item_id\": \"uid-1\",\n        \"require\": 20\n    },\n    {\n        \"item_id\": \"uid-2\",\n        \"require\": 10\n    }\n]","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:20:54 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"{\n    \"reservation_id\": \"4b76bfd4db56d9ec\"\n}"},{"id":"49587769-a259-47b2-8f6e-83ac5cd6cc37","name":"Пустое тело запроса","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:24:22 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"{\n    \"exception\": {\n        \"message\": \"Request body is empty.\",\n        \"code\": 400\n    }\n}"},{"id":"556828bd-8af5-42a8-89c7-cebe80878f7c","name":"Несуществующий item_id","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\n    {\n        \"item_id\": \"uid-90\",\n        \"require\": 20\n    }\n]","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:25:18 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        {\n            \"property\": \"[item_id]\",\n            \"value\": \"uid-90\",\n            \"message\": \"item does not exists.\"\n        }\n    ]\n}"},{"id":"f413e18f-6a59-4787-b371-021c9cd6bbb9","name":"Попытка резервации количества больше чем есть","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\n    {\n        \"item_id\": \"uid-3\",\n        \"require\": 2000\n    }\n]","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:29:53 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"required amount is not in stock.\"\n}"},{"id":"78942317-f4f8-42d1-9657-b64578d7955f","name":"Попытка ввода отрицательного количества","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"[\n    {\n        \"item_id\": \"uid-1\",\n        \"require\": 20\n    },\n    {\n        \"item_id\": \"uid-2\",\n        \"require\": -10\n    }\n]","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:32:11 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        {\n            \"property\": \"[require]\",\n            \"value\": -10,\n            \"message\": \"value should be between 1 and 2147483647\"\n        }\n    ]\n}"}],"_postman_id":"2f7b1d0a-f6aa-40cb-ba9c-e5f2f475bf18"},{"name":"Отмена резервации","id":"bbce4315-01bc-49ca-988a-66d367394d93","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \"reservation_uid\": \"6b85c904be093542\",\n    \"item_id\": [\n        \"uid-2\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation","description":"<p>Предназначен для изменения статуса существующей резервации на статус 'cancelled'.</p>\n<p>Данный метод подразумевает, что клиент отменил ранее созданную резервацию. После получения резервацией статуса 'cancelled', все зарезервированные items в данной резервации и их количество будут возвращены на соответствующие склады, откуда были зарезервированны.</p>\n<p>В теле запроса допустимы такие параметры как:</p>\n<ul>\n<li>reservation_uid - Обязательный параметр.<br />  Уникальный идентификатор резервации, получаемый клиентом после ее создания POST запросом.<br />  Если был передан только он, происходит отмена резервации всех товаров, которые были зарезервированы в рамках одного POST запроса, вернувшего данный уникальный идентификатор.</li>\n<li>item_id - Необязательный параметр.<br />  Массив id товаров типа string, резервацию которых планируется отменить.<br />  При передаче такого параметра, отменяется резервация лишь тех товаров в рамках одной резервации, чьи id были переданы в массив.</li>\n</ul>\n<p>Возвращает сообщение об успешной отмене резервации или возникшие ошибки валидации передаваемых параметров, с их объяснением.</p>\n","urlObject":{"protocol":"http","path":["api","reservation"],"host":["127","0","0","1"],"query":[],"variable":[]}},"response":[{"id":"9befa24d-e75f-4479-b52e-472e07fe89b6","name":"Несуществующие ids","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \"reservation_uid\": \"7858e2bf410f013b\",\n    \"item_id\": [\n        \"uid-1\",\n        \"uid-2\",\n        \"uid-3\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:44:15 GMT"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        {\n            \"property\": \"[reservation_uid]\",\n            \"value\": \"7858e2bf410f013b\",\n            \"message\": \"item does not exists.\"\n        },\n        {\n            \"property\": \"[item_id][0]\",\n            \"value\": \"uid-1\",\n            \"message\": \"item does not exists.\"\n        },\n        {\n            \"property\": \"[item_id][1]\",\n            \"value\": \"uid-2\",\n            \"message\": \"item does not exists.\"\n        },\n        {\n            \"property\": \"[item_id][2]\",\n            \"value\": \"uid-3\",\n            \"message\": \"item does not exists.\"\n        }\n    ]\n}"},{"id":"ef96b7e4-5f8d-4483-b5e4-ce4eb72a55a1","name":"Отмена резервации по reservation_id","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \"reservation_uid\": \"fc2b9f41ccf80511\"\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:46:11 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Successfully cancelled reservation.\"\n}"},{"id":"e9a35c31-aad8-419d-9b68-e4f10370ff75","name":"Частичная отмена резервации, относительно item id","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\n    \"reservation_uid\": \"6b85c904be093542\",\n    \"item_id\": [\n        \"uid-2\"\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 10:47:26 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Successfully cancelled reservation.\"\n}"},{"id":"d997c77a-e7b9-4b20-b638-704b4de87719","name":"Пустое тело запроса","originalRequest":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"http://127.0.0.1/api/reservation"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.26.0"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.2.18"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Wed, 08 May 2024 11:00:11 GMT"},{"key":"X-Robots-Tag","value":"noindex"}],"cookie":[],"responseTime":null,"body":"{\n    \"exception\": {\n        \"message\": \"Request body is empty.\",\n        \"code\": 400\n    }\n}"}],"_postman_id":"bbce4315-01bc-49ca-988a-66d367394d93"}]}