# Viento API ###### tags: `Viento` - **Endpoints:** - **staging:** https://viento.syberland.ru/api/1s - **production:** `todo` - **API key:** - **staging:** abcde12345 - **production:** `todo` > Передаем ключ как get параметер `api_key` :::danger цены передаются целыми числами (в копейках) ::: :::warning :warning: стандартные коды ошибок (401 и т.п.) тут не описываем ::: ## Информация о пользователе - **Path:** /user/{uuid} - **Method:** GET - **Parameters:** - uuid `string` _uuid пользователя_ - **Request body:** null - **Responces:** - 200: информация о пользователе - uuid `string` _uuid пользователя_ - role `string` _роль пользователя_ - 404: пользователь с данным uuid не найден ## Создание нового заказа - **Path:** /order - **Method:** POST - **Request body:** - uuid `string` uuid заказа - number `string` номер заказа - comment `text` комментарий - user `object` - uuid `string` _uuid пользователя, создающего заказ_ - name `string` _ФИО пользователя_ - client `object` - uuid `string` _uuid клиента_ - inn `string` _ИНН клиента_ - ogrn `string` _ОГРН клиента_ - name `string` _Наименование клиента_ - manager_uuid `string` _uuid менеджера клиента_ - goods `array` - good `object` - uuid `string` _uuid товара_ - article `string` _Артикул товара_ - name `string` _Наименование товара_ - qty `integer` _Количество товара_ - for_assembly_qty `integer` _Количество товара на сборку_ ***** - stock_qty `integer` _Количество товара на складе_ - reserved_qty `integer` _Зарезервированное количество товара на складе под этот заказ_ - reserved_qty_total `integer` _Зарезервированное количество товара на складе_ - price_per_item `integer` _Цена за штуку_ - price_total `integer` _Стоимость_ - nesting `string` _Вложимость_ уточнить формат - **Responces:** - 201: заказ создан - 403: у данного пользователя нет прав на создание заказа - 422: ошибка при валидации входных параметров ::: spoiler ### Примеры ### ***Url для теста***: https://viento.syberland.ru/api/order?api_key=abcde12345 ***JSON для request body***: ``` { "uuid": "e5308e14-cbe6-11ea-8435-fa83dbaf764d", "number": "223", "user": { "uuid": "06257aec-571c-3c4a-a238-ebfda5e259ef", "name": "Иванов И.П." }, "client": { "inn": "6230112711", "name": "ТД Инструментальные технологии ООО" }, "goods": [ { "uuid": "d03efaf0-f506-11e7-88a9-00155d000a00", "name": "DB130-05-00.400U0-WJ30UU", "qty": 5, "stock_qty": 5, "price_per_item": 100, "price_total": 500, "nesting": 4 }, ... { "uuid": "64ace21c-efc3-11e3-b3a1-14dae9b74559", "name": "Рулон нетканного волокна NTR115x10MT Gr.AM-I", "qty": 2, "stock_qty": 1, "price_per_item": 350, "price_total": 700, "nesting": 4 } ] } ``` ::: ## Список текущих заказов - **Path:** /order - **Method:** GET - **Request body:** null - **Responces:** - 200: список заказов - `array` - order `object` - uuid `string` _uuid заказа_ - status `string` _Статус заказа_ ::: spoiler ### Примеры ### ***Url для теста***: https://viento.syberland.ru/api/order?api_key=abcde12345 ***Response body JSON***: ``` { "data": [ { "uuid": "06257aec-571c-3c4a-a238-ebfda5e259ef", "status": "готов к отгрузке", }, { "uuid": "a344a51d-12be-3b7e-87cc-38314411c4f4", "status": "ожидание доукомплектации", }, { "uuid": "4f6b227c-20d3-3834-9553-11669bcac123", "status": "сборка завершена", } ] } ``` ::: ## Информация по заказу - **Path:** /order/{uuid} - **Method:** GET - **Parameters:** - uuid `string` _uuid заказа_ - **Request body:** null - **Responces:** - 200: информация о заказе - uuid `string` _uuid заказа_ - status `string` _Статус заказа_ - goods `array` - good `object` - uuid `string` _uuid товара_ - qty `integer` _Количество товара_ - collected_qty `integer` _Собранное количество товара_ - 404: заказ с данным uuid не найден ::: spoiler ### Примеры ### ***Url для теста***: https://viento.syberland.ru/api/order/e5308e14-cbe6-11ea-8435-fa83d7baf768i7678/order?api_key=abcde12345 ***Response body JSON***: ``` { "data": { "uuid": "8a7949e7-4971-3a86-83b4-4c2fdd4ec3a4", "status": "не хватает позиций", "goods": [ { "uuid": "2a713b18-7c03-32bb-9be0-2a668de9286f", "qty": "13", "collected_qty": "7" }, { "uuid": "2f77baac-788e-3f98-b391-d60ff4a3ecce", "qty": "531", "collected_qty": "360" }, { "uuid": "1e1e0139-2593-35c0-883e-6f8e128562e0", "qty": "304", "collected_qty": "195" } ] } } ``` ::: ## Загрузка документа Загружаем PDF-файл (УПД, ТТН) сервер - **Path:** /upload - **Method:** POST - **Request body:** - file `file` pdf файл - **Responces:** - 201: загружен - file `string` _имя файла на сервере_ - 422: ошибка при загрузке файла ::: spoiler ### Пример ответа при корректной загрузке ***Response body JSON***: ``` { "data": { "file": "docs\/svgndJ2JhqgArmFbxy8z8x2WZFEXDrjZdByfdi9U.pdf" } } ``` ::: ## Перевод заказа в статус "Ожидание доукомплектации" - **Path:** /wait - **Method:** POST - **Request body:** - uuid `string` uuid заказа - user `object` - uuid `string` _uuid пользователя, редактирующего заказ_ - name `string` _ФИО пользователя_ - **Responces:** - 204: статус заказа изменен - 403: у данного пользователя нет прав на изменение данного заказа - 409: неверный статус заказа _(должен быть 'Сборка некомплектна')_ - 422: ошибка при валидации входных параметров ## Перевод заказа в статус "Согласовано к отгрузке" - **Path:** /ready - **Method:** POST - **Request body:** - uuid `string` uuid заказа - user `object` - uuid `string` _uuid пользователя, редактирующего заказ_ - name `string` _ФИО пользователя_ - goods `array` - good `object` - uuid `string` _uuid товара_ - name `string` _Наименование товара_ - qty `integer` _Количество товара_ - price_per_item `integer` _Цена за штуку_ - price_total `integer` _Стоимость_ - files `array` _файлы должны быть предварительно загружены на сервер!_ - upd `string` _имя файла УПД на сервере_ - ttn `string` _имя файла ТТН на сервере_ - **Responces:** - 204: статус заказа изменен - 403: у данного пользователя нет прав на изменение данного заказа - 409: неверный статус заказа _(должен быть 'Заказ собран')_ - 422: ошибка при валидации входных параметров ## Перевод заказа в статус "Согласовано к отгрузке некомплект" - **Path:** /ready_incomplete - **Method:** POST - **Request body:** - uuid `string` uuid заказа - user `object` - uuid `string` _uuid пользователя, редактирующего заказ_ - name `string` _ФИО пользователя_ - goods `array` - good `object` - uuid `string` _uuid товара_ - name `string` _Наименование товара_ - qty `integer` _Количество товара_ - price_per_item `integer` _Цена за штуку_ - price_total `integer` _Стоимость_ - files `array` _файлы должны быть предварительно загружены на сервер!_ - upd `string` _имя файла УПД на сервере_ - ttn `string` _имя файла ТТН на сервере_ - **Responces:** - 204: статус заказа изменен - 403: у данного пользователя нет прав на изменение данного заказа - 409: неверный статус заказа _(должен быть 'Сборка некомплектна')_ - 422: ошибка при валидации входных параметров