{
  "openapi": "3.1.0",
  "info": {
    "title": "Документация по SelSup API",
    "description": "API SelSup — программный интерфейс для работы с сервисом SelSup. Даёт возможность работать со всеми функциями SelSup из вашей системы. Для использования API добавьте новый токен на странице:https://selsup.ru/application/integration/api. Добавленный токен необходимо передавать во всех запросах к API SelSup, в заголовке Authorization.",
    "contact": {
      "name": "Support Team",
      "email": "admin@selsup.ru"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://selsup.ru/dogovor-offerta/"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.selsup.ru/",
      "description": "Production server"
    }
  ],
  "tags": [
    {
      "name": "Склад",
      "description": "Управление структурой склада - создание складов, ячеек, стелажей, проходов и тп. Поиск ячеек на складе. Получение складов маркетплейсов"
    }
  ],
  "paths": {
    "/api/warehouse/{warehouseId}": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить склад со списком проходов",
        "description": "Возвращает склад клиента по идентификатору со списком проходов",
        "operationId": "warehouseId",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Warehouse"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Склад"
        ],
        "summary": "Изменить склад",
        "description": "Редактирует склад клиента",
        "operationId": "patchWarehouse",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Warehouse"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Warehouse"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Склад"
        ],
        "summary": "Удалить склад",
        "description": "Помечает склад удаленным",
        "operationId": "deleteWarehouse",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "restore",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/shelf": {
      "put": {
        "tags": [
          "Склад"
        ],
        "summary": "Создание или обновление полки",
        "description": "Позволяет создать или обновить полку на складе",
        "operationId": "putShelf",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Shelf"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Shelf"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/rack": {
      "put": {
        "tags": [
          "Склад"
        ],
        "summary": "Создание или обновление стеллажа",
        "description": "Позволяет создать или обновить стеллаж на складе",
        "operationId": "putRack",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Rack"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Rack"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/passage": {
      "put": {
        "tags": [
          "Склад"
        ],
        "summary": "Создание или обновление прохода",
        "description": "Позволяет создать или обновить проход на складе",
        "operationId": "putPassage",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Passage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Passage"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/cell": {
      "put": {
        "tags": [
          "Склад"
        ],
        "summary": "Создание или обновление ячейки",
        "description": "Позволяет создать или обновить ячейку на складе",
        "operationId": "putCell",
        "parameters": [
          {
            "name": "passageId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "rackId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "shelfId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Cell"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Cell"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/shelf/{shelfId}/copy": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Копировать полку на складе",
        "description": "Копирует полку со всей внутренней структурой",
        "operationId": "shelfCopy",
        "parameters": [
          {
            "name": "shelfId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Shelf"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/removeServiceWarehouse": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Удалить привязку склада к складу маркетплейса",
        "operationId": "removeServiceWarehouse",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceWarehouse"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/warehouse/rack/{rackId}/copy": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Копировать стеллаж на складе",
        "description": "Копирует стеллаж со всей внутренней структурой",
        "operationId": "rackCopy",
        "parameters": [
          {
            "name": "rackId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Rack"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/passage/{passageId}/copy": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Копировать проход на складе",
        "description": "Копирует проход со всей внутренней структурой",
        "operationId": "passageCopy",
        "parameters": [
          {
            "name": "passageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Passage"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/getCellsByFilter": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить ячейки по фильтру",
        "description": "Позволяет получить список ячеек по id склада, прохода, стеллажа или полки. Фильтр принимает один параметр",
        "operationId": "getCellsByFilter",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CellFilter"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Cell"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/createServiceWarehouse": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Добавить связь склада SelSup к складу маркетплейса",
        "description": "Позволяет установить связь склада SelSup со складом маркетплейса для передачи остатков на этот склад. Обязательные поля: name, externalId, warehouseId, service, organizationId. Связь со складом проставляется через warehouse/getWarehouseOfService - метод, который непосредственно получает склады с маркетплейсов. Внимание особенность: для WB и Ozon обязательно все склады должны быть связаны со складом маркетплейса или со специальным складом SelSup с флажком не передавать остатки, иначе остатки на этом складе будут обнулены",
        "operationId": "createServiceWarehouse",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceWarehouse"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceWarehouse"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/": {
      "post": {
        "tags": [
          "Склад"
        ],
        "summary": "Создать склад",
        "description": "Создает новый склад клиента",
        "operationId": "createNewWarehouse",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Warehouse"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Warehouse"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/{warehouseId}/sort": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Сортировка ячеек определенного склада",
        "operationId": "warehouseSort",
        "parameters": [
          {
            "name": "warehouseId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/warehouse/shelf/{shelfId}": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить полку со списком ячеек",
        "operationId": "shelf",
        "parameters": [
          {
            "name": "shelfId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Shelf"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Склад"
        ],
        "summary": "Удалить полку",
        "description": "Удаление полки со всеми ячейками",
        "operationId": "deleteShelf",
        "parameters": [
          {
            "name": "shelfId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/warehouse/service": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить список складов FBO маркетплейсов",
        "description": "Возвращает информацию о складах FBO маркетплейсов",
        "operationId": "getServiceWarehouses",
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          {
            "name": "externalName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Warehouse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/rack/{rackId}": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить стеллаж со списком полок",
        "operationId": "rack",
        "parameters": [
          {
            "name": "rackId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Rack"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Склад"
        ],
        "summary": "Удалить стеллаж",
        "description": "Удаление стеллажа с полками и ячейками",
        "operationId": "deleteRack",
        "parameters": [
          {
            "name": "rackId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/warehouse/passage/{passageId}": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить проход со списком стеллажей",
        "operationId": "passage",
        "parameters": [
          {
            "name": "passageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Passage"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Склад"
        ],
        "summary": "Удалить проход",
        "description": "Удаление прохода вместе со стеллажами, полками и ячейками",
        "operationId": "deletePassage",
        "parameters": [
          {
            "name": "passageId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/warehouse/list": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Список складов",
        "operationId": "list",
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "description": "Выбрать склады, у которых есть связи с определенным сервисом",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Warehouse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/getWarehousesByService": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить список складов FBO маркетплейсов",
        "description": "Возвращает информацию о складах FBO маркетплейсов",
        "operationId": "getWarehousesByService",
        "parameters": [
          {
            "name": "service",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          {
            "name": "externalName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Warehouse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/getWarehouseOfService": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получение списка складов маркетплейса нужной организации",
        "operationId": "getWarehouseOfService",
        "parameters": [
          {
            "name": "organizationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "service",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WarehouseOfService"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/getWarehouseBalancesWithPrices": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить остатки в закупочных ценах и в розничных ценах по каждому маркетплейсу для каждого склада",
        "operationId": "getWarehouseBalancesWithPrices",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WarehouseBalancesWithPrices"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/getServiceWarehouse": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить привязки к складам маркетплейсов",
        "description": "Позволяет получить список установленных связей склада SelSup со складом маркетплейсов или сервисов",
        "operationId": "getServiceWarehouse",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ServiceWarehouse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/getRegionWarehousesByService": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить список регионов складов",
        "operationId": "getRegionWarehousesByService",
        "parameters": [
          {
            "name": "services",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/findCell": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Поиск ячейки по штрих-коду",
        "description": "Возвращает ячейку по ее штрих-коду или ошибку,если ячейку не удалось найти",
        "operationId": "findCell",
        "parameters": [
          {
            "name": "barcode",
            "in": "query",
            "description": "Штрих-код ячейки",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Cell"
                }
              }
            }
          }
        }
      }
    },
    "/api/warehouse/cell/{cellId}": {
      "get": {
        "tags": [
          "Склад"
        ],
        "summary": "Получить ячейку",
        "description": "Возвращает информацию о ячейке хранения на складе по идентификатору",
        "operationId": "cell",
        "parameters": [
          {
            "name": "cellId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Cell"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Склад"
        ],
        "summary": "Удалить ячейку",
        "description": "Удаляет ячейку на складе. Возникает исключение, если к ячейке привязаны товары и удаление невозможно",
        "operationId": "deleteCell",
        "parameters": [
          {
            "name": "cellId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Address": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "postCode": {
            "type": "string"
          },
          "country": {
            "$ref": "#/components/schemas/Country"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "regionId": {
            "type": "integer",
            "format": "int32"
          },
          "street": {
            "type": "string"
          },
          "house": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "locality": {
            "type": "string"
          },
          "building": {
            "type": "string"
          },
          "flat": {
            "type": "string"
          },
          "short": {
            "type": "string"
          },
          "addressId": {
            "$ref": "#/components/schemas/Address",
            "writeOnly": true
          },
          "full": {
            "type": "string"
          }
        }
      },
      "Cell": {
        "type": "object",
        "description": "Ячейка хранения товара на складе, в которой может храниться один или несколько товаров",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Идентификатор ячейки",
            "readOnly": true
          },
          "warehouseId": {
            "type": "integer",
            "format": "int64",
            "description": "Склад к которому относится ячейка"
          },
          "passageId": {
            "type": "integer",
            "format": "int32",
            "description": "Проход на складе, к которому относится ячейка. Может соджержать название этажа и пр"
          },
          "shelfId": {
            "type": "integer",
            "format": "int32",
            "description": "Полка стеллажа, к которой относится ячейка"
          },
          "rackId": {
            "type": "integer",
            "format": "int32",
            "description": "Стеллаж, к которому относится ячейка"
          },
          "name": {
            "type": "string",
            "description": "Название ячейки. По умолчанию формируется автоматически"
          },
          "fullName": {
            "type": "string",
            "description": "Полное название ячейки из названий прохода, стелажа, полки и ячейки"
          },
          "sortName": {
            "type": "string",
            "description": "Название для сортировки ячейки из названий прохода, стелажа, полки и ячейки"
          },
          "barcode": {
            "type": "string",
            "description": "Уникальный в рамках клиента штрих-код ячейки для идентификации ячейки с помощью сканера штрих-кода. Присваивается автоматически при создании ячейки"
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак того, что ячейка удалена"
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "description": "Ширина ячейки для определения товаров, которые можно положить в нее"
          },
          "height": {
            "type": "integer",
            "format": "int32",
            "description": "Высота ячейки для определения товаров, которые можно положить в нее"
          },
          "depth": {
            "type": "integer",
            "format": "int32",
            "description": "Глубина ячейки для определения товаров, которые можно положить в нее"
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Клиент которому принадлежит ячейка. Проставляется автоматически",
            "readOnly": true
          },
          "lastInventoryId": {
            "type": "integer",
            "format": "int32",
            "description": "Идентификатор последней инвентаризации",
            "readOnly": true
          },
          "type": {
            "type": "string",
            "description": "Тип ячейки: NORMAL, NO_PLACE - не разложенные, REFUND - для возвратов",
            "enum": [
              "NORMAL",
              "NO_PLACE",
              "REFUND"
            ]
          }
        }
      },
      "Country": {
        "type": "object",
        "description": "Страна",
        "properties": {
          "countryId": {
            "type": "integer",
            "format": "int32",
            "description": "Идентификатор страны"
          },
          "name": {
            "type": "string",
            "description": "Название страны"
          },
          "code2": {
            "type": "string",
            "description": "Двухбуквенный код страны"
          },
          "code3": {
            "type": "string",
            "description": "Трехбуквенный код страны"
          },
          "names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "printName": {
            "type": "string"
          }
        }
      },
      "Organization": {
        "type": "object",
        "description": "Данные об организации",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор организации. Проставляется автоматически",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Полное наименование организации"
          },
          "shortName": {
            "type": "string"
          },
          "taxType": {
            "type": "string",
            "description": "Система налогооблажения",
            "enum": [
              "YSN",
              "YSN_CONSUMPTION",
              "OSNO",
              "SELF_EMPLOYED"
            ]
          },
          "taxRate": {
            "type": "integer",
            "format": "int32",
            "description": "Ставка налога, если она отличается от стандартной"
          },
          "taxNds": {
            "type": "integer",
            "format": "int32",
            "description": "Ставка налога, если она отличается от стандартной"
          },
          "enableNewTaxCalculation": {
            "type": "boolean",
            "description": "Включить расчет налогов по новым правилам"
          },
          "useNdsCostPrice": {
            "type": "boolean",
            "description": "Учитывать входящий НДС в себестоимости"
          },
          "inn": {
            "type": "string",
            "description": "ИНН"
          },
          "kpp": {
            "type": "string",
            "description": "КПП. Проставляется только для ООО"
          },
          "bank": {
            "type": "string",
            "description": "Название банка"
          },
          "bik": {
            "type": "string",
            "description": "БИК счета организации"
          },
          "corrBill": {
            "type": "string",
            "description": "Номер корреспондентского счета"
          },
          "billNumber": {
            "type": "string",
            "description": "Номер счета организации"
          },
          "stampPath": {
            "type": "string",
            "description": "Ссылка на изображение печати организации",
            "readOnly": true
          },
          "stampUrl": {
            "type": "string",
            "description": "Ссылка на изображение печати организации",
            "readOnly": true
          },
          "stampSize": {
            "type": "integer",
            "format": "int32",
            "description": "Размер в байтах изображения печати организации",
            "readOnly": true
          },
          "stampWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Ширина изображения печати организации",
            "readOnly": true
          },
          "stampHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Высота изображения печати организации",
            "readOnly": true
          },
          "signaturePath": {
            "type": "string",
            "description": "Фото подписи директора организации",
            "readOnly": true
          },
          "signatureUrl": {
            "type": "string",
            "description": "Фото подписи директора организации",
            "readOnly": true
          },
          "signatureSize": {
            "type": "integer",
            "format": "int32",
            "description": "Размер файла в байтах подписи директора организации",
            "readOnly": true
          },
          "signatureWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Ширина изображения подписи директора",
            "readOnly": true
          },
          "signatureHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Высота изображения подписи директора",
            "readOnly": true
          },
          "ipPerson": {
            "$ref": "#/components/schemas/Person",
            "description": "Руководитель организации или ИП"
          },
          "form": {
            "type": "string",
            "description": "Организационно правовая форма",
            "enum": [
              "OOO",
              "IP",
              "SELF_EMPLOYED"
            ]
          },
          "ip": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "address": {
            "$ref": "#/components/schemas/Address",
            "description": "Адресс организации"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Номер телефона"
          },
          "addressFull": {
            "type": "string",
            "description": "Полный адрес",
            "readOnly": true
          }
        },
        "required": [
          "form",
          "inn",
          "name"
        ]
      },
      "Passage": {
        "type": "object",
        "description": "Проход на складе",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "warehouseId": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "racks": {
            "type": "array",
            "description": "Стелажи этого прохода",
            "items": {
              "$ref": "#/components/schemas/Rack"
            }
          }
        }
      },
      "Person": {
        "type": "object",
        "description": "Сотрудник",
        "properties": {
          "personId": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "description": "Имя сотрудника",
            "maxLength": 255
          },
          "lastName": {
            "type": "string",
            "description": "Фамилия сотрудника",
            "maxLength": 255
          },
          "surName": {
            "type": "string",
            "description": "Отчество сотрудника",
            "maxLength": 255
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "position": {
            "$ref": "#/components/schemas/PersonPosition",
            "description": "Должность сотрудника"
          },
          "versionId": {
            "type": "integer",
            "format": "int64",
            "description": "Поле нужно передавать при изменении,для предотвращения одновременной перезаписи",
            "readOnly": true
          },
          "createdUser": {
            "type": "string",
            "description": "Проставляется автоматически. Пользователь создавший сотрудника",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Проставляется автоматически. Дата создания сотрудника",
            "readOnly": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак удаления сотрудника",
            "readOnly": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "description": "Связь сотрудника с пользователем",
            "readOnly": true
          },
          "hasChanges": {
            "type": "boolean"
          },
          "fullName": {
            "type": "string",
            "description": "Полные ФИО",
            "readOnly": true
          },
          "shortName": {
            "type": "string",
            "description": "Фамилия и инициалы",
            "readOnly": true
          }
        },
        "required": [
          "firstName",
          "lastName",
          "position"
        ]
      },
      "PersonPosition": {
        "type": "object",
        "description": "Должность",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор должности. Проставляется автоматически",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Название должности",
            "maxLength": 255
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак удаления должности",
            "readOnly": true
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "defaultJobId": {
            "type": "integer",
            "format": "int64",
            "description": "Работа по умолчанию для должности"
          },
          "createdUser": {
            "type": "string",
            "description": "Пользователь, который создал должность",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата создания должности",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "Rack": {
        "type": "object",
        "description": "Стеллаж на складе",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "warehouseId": {
            "type": "integer",
            "format": "int64"
          },
          "passageId": {
            "type": "integer",
            "format": "int32"
          },
          "deleted": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "shelves": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Shelf"
            }
          }
        }
      },
      "Region": {
        "type": "object",
        "properties": {
          "regionId": {
            "type": "integer",
            "format": "int32"
          },
          "countryId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "regionSynonyms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegionSynonym"
            }
          }
        }
      },
      "RegionSynonym": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "synonym": {
            "type": "string"
          },
          "service": {
            "type": "string"
          }
        }
      },
      "ServiceWarehouse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Проставляется автоматически при создании",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Название внешнего склада, можно подставлять ID"
          },
          "externalId": {
            "type": "string",
            "description": "Идентификатор склада во внешней системе для связи остатков"
          },
          "warehouseId": {
            "type": "integer",
            "format": "int64",
            "description": "Склад SelSup"
          },
          "service": {
            "type": "string",
            "description": "Сервис для которого устанавливается связь",
            "enum": [
              "NONE",
              "WILDBERRIES",
              "OZON",
              "YANDEX_MARKET",
              "FAMILIYA",
              "NATIONAL_CATALOG",
              "ALIEXPRESS",
              "OTHER",
              "MOY_SKLAD",
              "SBER_MEGA_MARKET",
              "CISLINK",
              "ONE_C",
              "AVITO",
              "LEROY_MERLIN",
              "DETMIR",
              "KAZAN_EXPRESS",
              "EVOTOR",
              "WEBASYST",
              "AMAZON",
              "EBAY",
              "SIMALAND",
              "INSALES",
              "LAMODA",
              "OZON_PERFORMANCE",
              "WALMART",
              "GOOGLE",
              "YANDEX_DISC",
              "EMAIL",
              "WOOCOMMERCE",
              "MAGNIT",
              "OPENCART",
              "M_VIDEO",
              "TAKEALOT",
              "UZUM",
              "SHOPIFY"
            ]
          },
          "organizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Организация SelSup"
          },
          "serviceOrganizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор организации во внешней системе"
          }
        },
        "required": [
          "externalId",
          "name",
          "organizationId",
          "service",
          "warehouseId"
        ]
      },
      "Shelf": {
        "type": "object",
        "description": "Полка на складе",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "warehouseId": {
            "type": "integer",
            "format": "int64"
          },
          "rackId": {
            "type": "integer",
            "format": "int32"
          },
          "deleted": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "cells": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Cell"
            }
          }
        }
      },
      "Warehouse": {
        "type": "object",
        "description": "Сущность склада клиента или маркетплейсов",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "description": "Название склада"
          },
          "service": {
            "type": "string",
            "description": "Маркетплейс к которому относится склад или null если склад клиента",
            "enum": [
              "NONE",
              "WILDBERRIES",
              "OZON",
              "YANDEX_MARKET",
              "FAMILIYA",
              "NATIONAL_CATALOG",
              "ALIEXPRESS",
              "OTHER",
              "MOY_SKLAD",
              "SBER_MEGA_MARKET",
              "CISLINK",
              "ONE_C",
              "AVITO",
              "LEROY_MERLIN",
              "DETMIR",
              "KAZAN_EXPRESS",
              "EVOTOR",
              "WEBASYST",
              "AMAZON",
              "EBAY",
              "SIMALAND",
              "INSALES",
              "LAMODA",
              "OZON_PERFORMANCE",
              "WALMART",
              "GOOGLE",
              "YANDEX_DISC",
              "EMAIL",
              "WOOCOMMERCE",
              "MAGNIT",
              "OPENCART",
              "M_VIDEO",
              "TAKEALOT",
              "UZUM",
              "SHOPIFY"
            ]
          },
          "organizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Организация склада для реквизитов в накладных и тп"
          },
          "fboOrganizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Организация, к которой относится данный склад (FBO)"
          },
          "noPlaceCellId": {
            "type": "integer",
            "format": "int32",
            "description": "Ячейка, которая ставится для товаров из приемки на склад, которые пока не разместили на складе"
          },
          "noPlaceCell": {
            "$ref": "#/components/schemas/Cell",
            "description": "Ячейка, которая ставится для товаров из приемки на склад, которые пока не разместили на складе"
          },
          "refundCellId": {
            "type": "integer",
            "format": "int32",
            "description": "Ячейка, которая ставится для товаров из возвратов, которые пока не разместили на складе"
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "description": "Приоритет в резервировании остатков на этом складе. Используется для схемы работы с несколькими складами"
          },
          "useForOrder": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "externalName": {
            "type": "string",
            "description": "Внешнее название склада - в частности в различных выгрузках и API маркетплейсов"
          },
          "notSyncStocks": {
            "type": "boolean",
            "description": "Не передавать остатки на этом складе. Связями со складами маркетплейсов помечаются склады, на которые не нужно передавать остатки, иначе они будут обнулены"
          },
          "ignoreOrders": {
            "type": "boolean",
            "description": "Не импортировать заказы с этого склада. Позволяет не загружать заказы FBS с этого склада"
          },
          "passages": {
            "type": "array",
            "description": "Список проходов со стелажами, полками и ячейками в случае склада клиента",
            "items": {
              "$ref": "#/components/schemas/Passage"
            }
          },
          "warehouseServices": {
            "type": "array",
            "description": "Связи нашего склада со складами маркетплейса",
            "items": {
              "$ref": "#/components/schemas/ServiceWarehouse"
            }
          },
          "deliveries": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "deleted": {
            "type": "boolean"
          },
          "caption": {
            "type": "string",
            "description": "Бренд который указываеться на ветрине"
          },
          "durationHours": {
            "type": "integer",
            "format": "int32",
            "description": "Информация о сроках комплектации заказа"
          },
          "reservationDays": {
            "type": "integer",
            "format": "int32",
            "description": "Количество дней резерва заказа"
          },
          "schedule": {
            "type": "string",
            "description": "График работы"
          },
          "urAddress": {
            "type": "string",
            "description": "Юридический адрес для указания грузополучателя в УПД-2(У ОЗОНА)"
          },
          "city": {
            "type": "string",
            "description": "Город склада"
          },
          "longitude": {
            "type": "number",
            "format": "double",
            "description": "Долгота"
          },
          "latitude": {
            "type": "number",
            "format": "double",
            "description": "Ширина"
          },
          "warehouseServiceId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор склада на маркетплейсе"
          },
          "warehouseType": {
            "type": "string",
            "description": "Тип склада FBS/FBO/FBS_FBO"
          },
          "description": {
            "type": "string",
            "description": "Описание склада"
          },
          "inn": {
            "type": "integer",
            "format": "int64",
            "description": "ИНН склада"
          },
          "kpp": {
            "type": "integer",
            "format": "int64",
            "description": "КПП  склада"
          },
          "paymentAccount": {
            "type": "string",
            "description": "Р/С склада"
          },
          "telephone": {
            "type": "string",
            "description": "Телефон склада"
          },
          "regionName": {
            "type": "string",
            "deprecated": true,
            "description": "Регион расположения склада"
          },
          "region": {
            "$ref": "#/components/schemas/Region",
            "description": "Регион расположения склада"
          },
          "regionId": {
            "type": "integer",
            "format": "int32",
            "description": "Идентификатор региона из warehouser"
          },
          "isPrepayOnline": {
            "type": "boolean",
            "description": "Наличие предоплаты"
          },
          "isCash": {
            "type": "boolean",
            "description": "Наличие оплаты наличными"
          },
          "isCard": {
            "type": "boolean",
            "description": "Наличие оплаты картой"
          },
          "isGoodsActive": {
            "type": "boolean",
            "description": "Ассортимент магазина отображаеться на платформе ГУДС"
          },
          "orgId": {
            "$ref": "#/components/schemas/Warehouse",
            "writeOnly": true
          },
          "address": {
            "type": "string",
            "description": "Фактический адрес склада"
          }
        }
      },
      "CellFilter": {
        "type": "object",
        "properties": {
          "cellId": {
            "type": "integer",
            "format": "int32"
          },
          "shelfId": {
            "type": "integer",
            "format": "int32"
          },
          "rackId": {
            "type": "integer",
            "format": "int32"
          },
          "passageId": {
            "type": "integer",
            "format": "int32"
          },
          "warehouseId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WarehouseOfService": {
        "type": "object",
        "description": "Склад внешнего сервиса",
        "properties": {
          "id": {
            "description": "Идентификатор склада"
          },
          "name": {
            "type": "string",
            "description": "Название склада"
          }
        }
      },
      "WarehouseBalancesWithPrices": {
        "type": "object",
        "description": "Отчет по остаткам на складах с ценами",
        "properties": {
          "warehouseId": {
            "type": "integer",
            "format": "int64"
          },
          "quantity": {
            "type": "integer",
            "format": "int32"
          },
          "distinctQuantity": {
            "type": "integer",
            "format": "int64"
          },
          "purchasePrice": {
            "type": "number",
            "format": "double"
          },
          "additionalExpensesAmount": {
            "type": "number",
            "format": "double"
          },
          "wildberriesRetailPrice": {
            "type": "number",
            "format": "double"
          },
          "ozonRetailPrice": {
            "type": "number",
            "format": "double"
          },
          "yandexMarketRetailPrice": {
            "type": "number",
            "format": "double"
          },
          "aliexpressRetailPrice": {
            "type": "number",
            "format": "double"
          },
          "sberMegaMarketRetailPrice": {
            "type": "number",
            "format": "double"
          },
          "retailPriceByMarketplace": {
            "type": "number",
            "format": "double"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}