Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Данный API предназначен для интеграции внешней торговой системы с сервером заказов УКМ 5. Подробное описание функционала и настроек сервера заказов приведены в соответствующей статье.

{ "openapi" : "3.0.1", "info" : { "title" : "Сервер заказов" }, "security" : [ ], "paths" : { "/api/v1.0/order/{number}" : { "get" : { "tags" : [ "Order" ], "summary" : "Получение заказа с сервера", "description" : "Получить по номеру содержимое заказа и его статус с сервера", "operationId" : "getOrder", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Заказ успешно получен", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } } } }, "500" : { "description" : "Ошибка получения заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } }, "put" : { "tags" : [ "Order" ], "summary" : "Изменение заказа", "description" : "Изменить состав ранее загруженного заказа по номеру", "operationId" : "putOrder", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } } } }, "responses" : { "200" : { "description" : "Заказ успешно изменён", "content" : { "text/html(UTF-8)" : { "schema" : { "$ref" : "#/components/schemas/Order" } } } }, "400" : { "description" : "Неправильный номер заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } }, "500" : { "description" : "Ошибка изменения заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } }, "delete" : { "tags" : [ "Order" ], "summary" : "Удаление заказа", "description" : "Удалить заказ по номеру", "operationId" : "deleteOrder", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Заказ успешно удалён", "content" : { "*/*" : { } } }, "500" : { "description" : "Ошибка удаления заказа", "content" : { "*/*" : { } } } } } }, "/api/v1.0/order/{number}/status" : { "get" : { "tags" : [ "Order" ], "summary" : "Получение статусa заказа с сервера", "description" : "Получить по номеру статус заказа с сервера", "operationId" : "getOrderStatus", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Статус заказа успешно получен", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } }, "500" : { "description" : "Ошибка получения статуса заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } }, "post" : { "tags" : [ "Order" ], "summary" : "Изменение статуса заказа", "description" : "Изменить статус заказа по номеру", "operationId" : "postOrder", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "newStatus", "in" : "query", "description" : "Возможные значения: 'WaitsPrepayment' (ожидает предоплаты), 'Prepaid' (предоплата получена), 'WaitsPurchase' (oжидает выкупа), 'Purchased' (Выкуплен), 'WaitsPrepaymentReturn' (ожидает возврата предоплаты), 'PrepaymentReturned' (предоплата возвращена), 'WaitsReturn' (ожидает возврата), 'Returned' (возвращён)", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Статус заказа успешно изменён", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } }, "500" : { "description" : "Ошибка изменения статуса заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } } }, "/api/v1.0/order/{number}/pickstatus" : { "post" : { "tags" : [ "Order" ], "summary" : "Изменение статуса сборки заказа", "description" : "Изменить статус сборки заказа по номеру", "operationId" : "postOrderPickStatus", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { "name" : "newStatus", "in" : "query", "description" : " Возможные значения: 'NotPicked' (Не собран), 'Picking' (собирается), 'Complete' (Сформирован), 'ApprovedByBuyer' (Согласовано с Покупателем)", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Статус сборки заказа успешно изменён", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } }, "500" : { "description" : "Ошибка изменения статуса сборки заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } } }, "/api/v1.0/order/{number}/items" : { "get" : { "tags" : [ "Order" ], "summary" : "Получение состава заказа с сервера", "description" : "Получить содержимое заказа по номеру", "operationId" : "getOrderItems", "parameters" : [ { "name" : "number", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Состав заказа успешно получен", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ItemSeq" } } } }, "500" : { "description" : "Ошибка получения состава заказа", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } } }, "/api/v1.0/orders/{storeId}" : { "get" : { "tags" : [ "Orders" ], "summary" : "Получение списка не собранных заказов для магазина с сервера", "description" : "Получить список не собранных заказов для конкретного магазина", "operationId" : "getOrders", "parameters" : [ { "name" : "storeId", "in" : "path", "description" : "Номер магазина", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "Список успешно получен", "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/HeaderSeq" } } } }, "500" : { "description" : "Ошибка получения", "content" : { "text/html(UTF-8)" : { "schema" : { "type" : "string" } } } } } } }, "/api/v1.0/order" : { "post" : { "tags" : [ "LoadOrder" ], "summary" : "Загрузка заказа на сервер", "description" : "Загрузить содержимое заказа и его статус из интернет-магазина или от внешней системы на сервер заказов", "operationId" : "postLoad", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/Order" } } } }, "responses" : { "200" : { "description" : "Заказ успешно загружен", "content" : { "*/*" : { "schema" : { "type" : "string" } } } }, "500" : { "description" : "Ошибка загрузки заказа", "content" : { "*/*" : { "schema" : { "type" : "string" } } } } } } } }, "components" : { "schemas" : { "SeqPickItem" : { "required" : [ "traversableAgain" ], "type" : "array", "properties" : { "traversableAgain" : { "type" : "boolean" }, "empty" : { "type" : "boolean" } }, "description" : "Товары", "items" : { "$ref" : "#/components/schemas/PickItem" } }, "HeaderSeq" : { "type" : "object", "properties" : { "orderHeaders" : { "required" : [ "traversableAgain" ], "type" : "array", "properties" : { "traversableAgain" : { "type" : "boolean" }, "empty" : { "type" : "boolean" } }, "description" : "3аказы", "items" : { "$ref" : "#/components/schemas/OrderHeader" } } }, "description" : "Список заголовков заказа" }, "OrderHeader" : { "required" : [ "number", "status", "storeId", "type" ], "type" : "object", "properties" : { "number" : { "type" : "string", "description" : "Номер заказа" }, "description" : { "type" : "string", "description" : "Описание заказа - любая дополнительная информация" }, "type" : { "type" : "string", "description" : "Тип заказа. Возможные значения: 'Sale', 'Return'" }, "status" : { "type" : "string", "description" : "Статус заказа. Возможные значения: 'WaitsPrepayment' (ожидает предоплаты), 'Prepaid' (предоплата получена), 'WaitsPurchase' (oжидает выкупа), 'Purchased' (Выкуплен), 'WaitsPrepaymentReturn' (ожидает возврата предоплаты), 'PrepaymentReturned' (предоплата возвращена), 'WaitsReturn' (ожидает возврата), 'Returned' (возвращён), 'Cancelled' (отменен)" }, "storeId" : { "type" : "string", "description" : "Магазин, в котором будет получен заказ" }, "loyaltyCard" : { "type" : "string", "description" : "Карта клиента" }, "registrationDate" : { "type" : "string", "description" : "Дата/время регистрации заказа" }, "deliveryDate" : { "type" : "string", "description" : "Дата/время доставки заказа" }, "buyerName" : { "type" : "string", "description" : "ФИО покупателя" }, "buyerPhoneNumber" : { "type" : "string", "description" : "Моб.тел. покупателя" }, "pickingStatus" : { "type" : "string", "description" : "Статус сборки. Возможные значения: 'NotPicked' (Не собран), 'Picking' (собирается), 'Complete' (Сформирован), 'ApprovedByBuyer' (Согласовано с Покупателем)" }, "pickerId" : { "type" : "string", "description" : "Идентификатор сборщика заказа" } }, "description" : "Заголовок заказа" }, "Payment" : { "required" : [ "amount", "type" ], "type" : "object", "properties" : { "type" : { "type" : "string", "description" : "Тип платежа. Возможные значения: 'Cash', 'Card'" }, "amount" : { "type" : "number", "description" : "Сумма платежа", "format" : "double" }, "rrn" : { "type" : "string", "description" : "RRN (только для оплат картой)" }, "authCode" : { "type" : "string", "description" : "Код авторизации (только для оплат картой)" } }, "description" : "Платежи заказа" }, "Item" : { "required" : [ "discountPolicy", "position", "quantity", "sku" ], "type" : "object", "properties" : { "position" : { "type" : "integer", "description" : "Номер позиции в заказе", "format" : "int32" }, "sku" : { "type" : "string", "description" : "Артикул" }, "quantity" : { "type" : "number", "description" : "Количество", "format" : "double" }, "price" : { "type" : "object", "description" : "Цена", "default" : "0" }, "minPrice" : { "type" : "object", "description" : "Минимальная цена", "default" : "0" }, "discountPolicy" : { "type" : "string", "description" : "Политика применения скидок: None - скидки не применяются, Bonuses - применяется только оплата бонусами, Front - применяются только фронтальные скидки, All - применяются любые скидки" }, "kiz" : { "type" : "string", "description" : "КИЗ для позиции" } }, "description" : "Позиция заказа" }, "ItemSeq" : { "type" : "object", "properties" : { "orderItems" : { "required" : [ "traversableAgain" ], "type" : "array", "properties" : { "traversableAgain" : { "type" : "boolean" }, "empty" : { "type" : "boolean" } }, "description" : "Товары", "items" : { "$ref" : "#/components/schemas/PickItem" } } }, "description" : "Список позиций заказа для сборки" }, "PickItem" : { "required" : [ "quantity", "sku" ], "type" : "object", "properties" : { "sku" : { "type" : "string", "description" : "Артикул" }, "quantity" : { "type" : "number", "description" : "Количество", "format" : "double" }, "price" : { "type" : "object", "description" : "Цена", "default" : "0" } }, "description" : "Позиция заказа для сборки" }, "Order" : { "required" : [ "items", "number", "status", "storeId", "type" ], "type" : "object", "properties" : { "number" : { "type" : "string", "description" : "Номер заказа" }, "description" : { "type" : "string", "description" : "Описание заказа - любая дополнительная информация" }, "type" : { "type" : "string", "description" : "Тип заказа. Возможные значения: 'Sale', 'Return'" }, "status" : { "type" : "string", "description" : "Статус заказа. Возможные значения: 'WaitsPrepayment' (ожидает предоплаты), 'Prepaid' (предоплата получена), 'WaitsPurchase' (oжидает выкупа), 'Purchased' (Выкуплен), 'WaitsPrepaymentReturn' (ожидает возврата предоплаты), 'PrepaymentReturned' (предоплата возвращена), 'WaitsReturn' (ожидает возврата), 'Returned' (возвращён), 'Cancelled' (отменен)" }, "storeId" : { "type" : "string", "description" : "Магазин, в котором будет получен заказ" }, "loyaltyCard" : { "type" : "string", "description" : "Карта клиента" }, "items" : { "required" : [ "traversableAgain" ], "type" : "array", "properties" : { "traversableAgain" : { "type" : "boolean" }, "empty" : { "type" : "boolean" } }, "description" : "Товары", "items" : { "$ref" : "#/components/schemas/Item" } }, "payments" : { "type" : "array", "properties" : { "traversableAgain" : { "type" : "boolean" }, "empty" : { "type" : "boolean" } }, "description" : "Оплаты", "items" : { "$ref" : "#/components/schemas/Payment" } }, "registrationDate" : { "type" : "string", "description" : "Дата/время регистрации заказа" }, "deliveryDate" : { "type" : "string", "description" : "Дата/время доставки заказа" }, "buyerName" : { "type" : "string", "description" : "ФИО покупателя" }, "buyerPhoneNumber" : { "type" : "string", "description" : "Моб.тел. покупателя" }, "pickingStatus" : { "type" : "string", "description" : "Статус сборки. Возможные значения: 'NotPicked' (Не собран), 'Picking' (собирается), 'Complete' (Сформирован), 'ApprovedByBuyer' (Согласовано с Покупателем)" }, "pickerId" : { "type" : "string", "description" : "Идентификатор сборщика заказа" } }, "description" : "Заказ" } } } }