# Открытое API для продавцов (0.0.1)

## Ping

*Методы проверки состояния api.*

## Проверка API

> Возвращает тип ответа по параметру say.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Ping","description":"Методы проверки состояния api"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[],"paths":{"/apiseller/ping/check":{"get":{"tags":["Ping"],"summary":"Проверка API","operationId":"post.ping.check","description":"Возвращает тип ответа по параметру say.\n","parameters":[{"in":"query","name":"say","required":false,"schema":{"type":"string","enum":["hello","error400","error401","error403","error404","error409","error429","error500"]},"description":"### Какой ответ получить\n| Тип запроса | Описание           | Действие                    |\n|-------------|--------------------|-----------------------------|\n|   hello     | Кампания активна   | обычный ответ сервера (200) |\n|   error400  | Ошибка клиента 400 | имитация ошибки клиента 400 |\n|   error401  | Ошибка клиента 401 | имитация ошибки клиента 401 |\n|   error403  | Ошибка клиента 403 | имитация ошибки клиента 403 |\n|   error404  | Ошибка клиента 404 | имитация ошибки клиента 404 |\n|   error429  | Ошибка клиента 429 | имитация ошибки клиента 429 |\n|   error500  | Ошибка сервера 500 | имитация ошибки сервера 500 |\n"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"say":{"type":"string","description":"Ответ сервера"}},"required":["say"]}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}},"components":{"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}}}}
```

## Shop

*Информация о магазинах или складах холдинга.*

## Просмотр списка магазинов

> Возвращает список магазинов для холдинга или один магазин - для остальных случаев.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Shop","description":"Информация о магазинах или складах холдинга"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ShopStatus":{"type":"string","enum":["moderation","active","disabled"],"description":"Статус магазина:\n| Статус     | Описание      |\n|------------|---------------|\n| moderation | На модерации  |\n| active     | Активен       |\n| disabled   | Деактивирован |\n"},"ShopId":{"type":"integer","format":"int32","description":"Идентификатор магазина платформы Flowwow"},"PagingRequest":{"type":"object","description":"Управление пагинацией в отдаваемой коллекции\n","properties":{"page":{"type":"integer","description":"Номер страницы. Нумерация начинается с 0.","minimum":0,"default":0},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10,"description":"Количество элементов в ответе. Максимум — 50, минимум — 1."}}},"ShopItem":{"type":"object","description":"Магазин на платформе Flowwow","properties":{"shopId":{"$ref":"#/components/schemas/ShopId"},"name":{"type":"string","description":"Название магазина на платформе Flowwow"},"status":{"$ref":"#/components/schemas/ShopStatus"},"address":{"type":"string","description":"Адрес Магазина на платформе Flowwow"},"currency":{"type":"string","description":"Валюта магазина в формате ISO 4217."},"isVerified":{"type":"boolean","description":"Магазин верифицирован на платформе Flowwow?"},"workingDays":{"type":"array","items":{"type":"string","enum":["1","2","3","4","5","6","7"]},"description":"Рабочие дни (если источник не задан — пустой массив)."}},"required":["shopId","name","status"]},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/shops":{"post":{"tags":["Shop"],"summary":"Просмотр списка магазинов","operationId":"shops","description":"Возвращает список магазинов для холдинга или один магазин - для остальных случаев.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"allOf":[{"type":"object","required":["status"],"properties":{"status":{"$ref":"#/components/schemas/ShopStatus"},"shopIds":{"type":"array","description":"Список идентификаторов магазинов","minItems":1,"maxItems":1000,"items":{"$ref":"#/components/schemas/ShopId"}}}},{"$ref":"#/components/schemas/PagingRequest"}]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"shops":{"type":"array","items":{"$ref":"#/components/schemas/ShopItem"}},"total":{"type":"integer","description":"Общее количество магазинов"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Products

*Добавление, просмотр, изменение и управление отображением товаров.*

## Получение информации о товарах магазина

> Возвращает список товаров магазина с возможностью фильтрации.\
> Поддерживается пагинация.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"RangeGroupId":{"type":"integer","description":"Идентификатор категории товаров","minimum":1},"ProductType":{"type":"integer","enum":[1,2,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `2` — готовый товар,\n* `3` — дополнительный товар.\n"},"ProductShortDto":{"type":"object","description":"Краткая информация о товаре","additionalProperties":false,"required":["offerId","productId","isActive","type","categoryId","subCategoryId","name","description","url","available","stock","minOrder","price","discount","currencyCode","images","productionTime","shipmentTime","canRent","originalId","isDeliveryPost","isStarred","vat"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"type":{"$ref":"#/components/schemas/ProductType"},"categoryId":{"$ref":"#/components/schemas/RangeGroupId"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":500,"description":"Название товара"},"description":{"type":"string","nullable":true,"maxLength":20000,"description":"Подробное описание товара"},"url":{"type":"string","maxLength":20000,"description":"URL страницы товара на Flowwow со стороны покупателей"},"available":{"type":"integer","minimum":0,"description":"Доступность товара"},"stock":{"type":"integer","minimum":0,"description":"Количество товара на складе"},"minOrder":{"type":"integer","minimum":0,"description":"Минимальный заказ"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"currencyCode":{"$ref":"#/components/schemas/CurrencyCode"},"images":{"type":"array","description":"Ссылки на изображения","items":{"type":"string","format":"uri"}},"productionTime":{"type":"integer","minimum":0,"description":"Время производства товара в минутах"},"shipmentTime":{"type":"integer","minimum":0,"description":"Время доставки товара в минутах"},"canRent":{"type":"integer","enum":[0,1,2],"description":"* `0` — владелец запретил аренду \n* `1` — владелец разрешил аренду \n* `2` — Flowwow запретил аренду\n","default":0},"originalId":{"type":"integer","format":"int32","minimum":0,"default":0,"description":"ID товара оригинала. Если отличен от 0 - текущий товар - арендован"},"isDeliveryPost":{"type":"boolean","description":"Доставляется ли по почте","default":false},"isStarred":{"type":"boolean","description":"Со звездочкой ли товар. Активнее продвигается магазином","default":false},"vat":{"type":"string","default":"0","description":"Процентная ставка НДС у товара"}}},"isActive":{"type":"boolean","description":"Активен ли товар"},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"CurrencyCode":{"type":"string","description":"Код валюты магазина (ISO 4217).","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPD","XPF","XPT","YER","ZAR","ZMK","ZMW","ZWL"]},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products":{"post":{"tags":["Products"],"summary":"Получение информации о товарах магазина","operationId":"products/list","description":"Возвращает список товаров магазина с возможностью фильтрации.\nПоддерживается пагинация.\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"offerIds":{"type":"array","description":"Список идентификаторов товаров в системе магазина","minItems":1,"maxItems":1000,"items":{"$ref":"#/components/schemas/OfferId"}},"productIds":{"type":"array","description":"Идентификаторы товаров в системе Flowwow","minItems":1,"maxItems":1000,"items":{"$ref":"#/components/schemas/ProductId"}},"categoryIds":{"type":"array","description":"Идентификаторы категорий в системе Flowwow","minItems":1,"maxItems":1000,"items":{"$ref":"#/components/schemas/RangeGroupId"}},"type":{"$ref":"#/components/schemas/ProductType"},"page":{"type":"integer","description":"Номер страницы. Нумерация начинается с 0.","minimum":0,"default":0},"limit":{"type":"integer","description":"Количество элементов в ответе. Минимум — 1, максимум — 1000, по умолчанию — 10.","minimum":1,"maximum":1000,"default":10}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Список товаров","items":{"$ref":"#/components/schemas/ProductShortDto"}},"total":{"type":"integer","description":"Общее количество товаров (без учёта пагинации)"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Создание товаров

> Создаёт новый товар в каталоге магазина на Flowwow. \
> \
> \*\*Ограничения:\*\* \
> \- Готовые товары (\`productType=2\`) не могут быть созданы через API. \
> \- Основной товар (\`productType=1\`) — требует указания \`subCategoryId\`. \
> \- Дополнительный товар (\`productType=3\`) — не требует \`subCategoryId\`. \
> \
> \*\*Свойства товара:\*\* \
> Набор обязательных и допустимых полей зависит от подкатегории. \
> Актуальную схему свойств, включая зависимости между атрибутами (\`dependsOn\`), необходимо получать через \`POST /apiseller/categories/subCategoryProperties\` — это единственный источник истины. \
> Атрибут \`dependsOn\` носит информационный характер и не передаётся в запросе на создание. \
> \
> \*\*Изображения:\*\* \
> Загружаются асинхронно по переданным URL. Первое появление в интерфейсе Flowwow может занять до 30 минут.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"OfferCreateRequest":{"type":"object","additionalProperties":false,"required":["products"],"properties":{"products":{"type":"array","description":"Массив товаров для создания. Максимум 500 товаров за один запрос.\nТовары обрабатываются независимо: ошибка в одном не влияет на остальные.\n","minItems":1,"maxItems":500,"items":{"$ref":"#/components/schemas/OfferCreateItem"}}}},"OfferCreateItem":{"type":"object","additionalProperties":false,"required":["offerId","productType","name","price","images"],"description":"Данные одного товара для создания.\n\n**Поля подкатегории:**\nПомимо перечисленных ниже базовых полей, каждый товар может содержать\nдополнительные поля, зависящие от подкатегории (`subCategoryId`).\nАктуальный набор полей, их типы и ограничения необходимо получать через\n`POST /apiseller/categories/subCategoryProperties`.\n\n**Обязательные поля для всех типов товаров:** `offerId`, `productType`, `name`, `price`.\n\n**Дополнительно для основного товара** (`productType=1`): обязательно `subCategoryId`.\nОстальные обязательные поля зависят от подкатегории — получите их через\n`POST /apiseller/categories/subCategoryProperties`.\n\n**Для дополнительного товара** (`productType=3`): поле `subCategoryId` не передаётся.\n\n**Взаимоисключающие поля:**\nНекоторые поля нельзя передавать одновременно. Информация об этом содержится\nв атрибуте `dependsOn` в ответе `subCategoryProperties`. Само поле `dependsOn`\nв запросе не передаётся — это только информационный атрибут.\n\nПримеры взаимоисключений:\n- `stock` и `productionTime` — передаётся либо количество на складе, либо время изготовления\n- `approximateWeight` и группа `postWidth`/`postHeight`/`postLength`/`postWeight` —\n  передаётся либо примерный вес, либо точные габариты для почты\n\n**Изображения:**\nПоле `images` принимает массив URL. Изображения загружаются асинхронно.\n\n**Именование полей:** все поля передаются в формате camelCase.\n\n**Дубли offerId:** все дубли по `offerId` обработаны не будут.\n","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productType":{"type":"integer","enum":[1,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `3` — дополнительный товар.\n"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":255,"description":"Название товара."},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"description":{"type":"string","nullable":true,"maxLength":5000,"description":"Описание товара."},"images":{"type":"array","description":"Массив URL изображений товара. Загружаются асинхронно.\nПорядок в массиве соответствует порядку отображения.\n","items":{"type":"string","format":"uri"}},"vat":{"type":"string","description":"Ставка НДС. Если не передана — устанавливается значение по умолчанию для холдинга магазина."},"stock":{"type":"integer","minimum":1,"description":"Количество товара на складе, шт.\n**Взаимоисключающее с `productionTime`** — передаётся либо `stock`, либо `productionTime`.\n"},"productionTime":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Время изготовления товара.\n**Взаимоисключающее с `stock`** — передаётся либо `productionTime`, либо `stock`.\n"},"minOrderCount":{"type":"integer","minimum":1,"description":"Минимальное количество единиц в заказе."},"height":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Высота товара."},"width":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Ширина товара."},"volume":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Объём или вес товара."},"isPostDelivery":{"type":"boolean","description":"Доступна ли почтовая доставка для этого товара."},"postWidth":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Ширина упаковки для почтовой доставки (точный размер).\n**Взаимоисключающее с `approximateWeight`.**\n"},"postHeight":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Высота упаковки для почтовой доставки (точный размер).\n**Взаимоисключающее с `approximateWeight`.**\n"},"postLength":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Длина упаковки для почтовой доставки (точный размер).\n**Взаимоисключающее с `approximateWeight`.**\n"},"postWeight":{"allOf":[{"$ref":"#/components/schemas/MeasureValue"}],"description":"Вес упаковки для почтовой доставки (точный вес).\n**Взаимоисключающее с `approximateWeight`.**\n"},"approximateWeight":{"type":"integer","description":"Примерный вес для почтовой доставки (выбирается из диапазонов).\n**Взаимоисключающее с группой** `postWidth` / `postHeight` / `postLength` / `postWeight`.\nДопустимые значения — из `values` в ответе `subCategoryProperties`.\n"},"isAdultsOnly":{"type":"boolean","description":"Товар предназначен для лиц старше 18 лет."},"manufacturerName":{"type":"string","description":"Название производителя."},"manufacturerAddress":{"type":"string","description":"Адрес производителя."},"importerName":{"type":"string","description":"Наименование импортёра."},"importerAddress":{"type":"string","description":"Адрес импортёра."},"material":{"type":"array","description":"Материалы, из которых изготовлен товар.","items":{"type":"string"}},"consist":{"type":"array","description":"Состав товара. Применяется для подкатегорий, где товар имеет составные части\n(например, букеты из конфет, подарочные наборы).\n","items":{"$ref":"#/components/schemas/ConsistItem"}},"thematicSelections":{"type":"array","description":"Тематические подборки. Передаётся массив `id` подборок из `values`\nв ответе `subCategoryProperties`.\n","items":{"type":"integer"}},"quantityInPackage":{"type":"integer","minimum":1,"description":"Количество единиц товара в упаковке."},"gender":{"type":"integer","description":"Для кого предназначен товар (пол). Допустимые значения — из `values`\nв ответе `subCategoryProperties`.\n"},"textDimensions":{"type":"string","description":"Доступные размеры в виде текста. Например \"S, M, L, XL\" или \"39, 40, 41\"."},"kilocalories":{"type":"integer","description":"Калорийность, ккал."},"proteins":{"type":"integer","description":"Белки, гр."},"fats":{"type":"integer","description":"Жиры, гр."},"carbohydrates":{"type":"integer","description":"Углеводы, гр."},"regionOfOrigin":{"type":"string","description":"Регион происхождения товара. Например \"Фуцзянь, Китай\"."},"brand":{"type":"string","description":"Бренд товара."},"composition":{"type":"string","description":"Состав продукта текстом (например, для косметики)."},"author":{"type":"string","description":"Автор (для книг)."},"year":{"type":"integer","description":"Год издания или выпуска (для книг, альбомов)."},"baloonType":{"type":"integer","description":"Тип шаров. Допустимые значения — из `values` в ответе `subCategoryProperties`.\n"},"certificatePurpose":{"type":"integer","description":"Назначение сертификата. Допустимые значения — из `values`\nв ответе `subCategoryProperties`.\n"},"certificateType":{"type":"array","description":"Тип сертификата (multiselect). Передаётся массив `id` из `values`\nв ответе `subCategoryProperties`.\n","items":{"type":"integer"}}}},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"MeasureValue":{"type":"object","description":"Значение с единицей измерения.\nИспользуется для полей типа `measure` (высота, вес, время изготовления и т.д.).\n","additionalProperties":false,"required":["val","measure"],"properties":{"val":{"type":"number","description":"Числовое значение."},"measure":{"type":"integer","description":"Идентификатор единицы измерения. Допустимые значения для каждого поля\nуказаны в массиве `measure` в ответе `subCategoryProperties`.\n"}}},"ConsistItem":{"type":"object","description":"Один элемент состава товара.\nИспользуется для полей типа `consist`.\n","additionalProperties":false,"required":["name","quantity","measure"],"properties":{"name":{"type":"string","maxLength":255,"description":"Название составной части. Должно быть уникальным в рамках состава."},"quantity":{"type":"integer","minimum":1,"description":"Количество данной составной части."},"measure":{"type":"integer","description":"Идентификатор единицы измерения количества. Допустимые значения указаны\nв массиве `measure` поля `consist` в ответе `subCategoryProperties`.\n"}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/create":{"post":{"tags":["Products"],"summary":"Создание товаров","operationId":"post.products.create","description":"Создаёт новый товар в каталоге магазина на Flowwow. \n\n**Ограничения:** \n- Готовые товары (`productType=2`) не могут быть созданы через API. \n- Основной товар (`productType=1`) — требует указания `subCategoryId`. \n- Дополнительный товар (`productType=3`) — не требует `subCategoryId`. \n\n**Свойства товара:** \nНабор обязательных и допустимых полей зависит от подкатегории. \nАктуальную схему свойств, включая зависимости между атрибутами (`dependsOn`), необходимо получать через `POST /apiseller/categories/subCategoryProperties` — это единственный источник истины. \nАтрибут `dependsOn` носит информационный характер и не передаётся в запросе на создание. \n\n**Изображения:** \nЗагружаются асинхронно по переданным URL. Первое появление в интерфейсе Flowwow может занять до 30 минут.\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferCreateRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Результат выполнения операции создания товаров","properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"summary":{"type":"object","description":"Краткая статистика по кол-ву обработанных записей","properties":{"total":{"type":"integer","default":0,"description":"Общее кол-во обработанных записей"},"success":{"type":"integer","default":0,"description":"Кол-во успешно обработанных записей"},"failed":{"type":"integer","default":0,"description":"Кол-во записей с ошибками"}}},"data":{"type":"array","description":"Массив идентификаторов товаров без ошибок","items":{"type":"object","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"}}}},"errors":{"type":"array","description":"Массив товаров с ошибками, элементы ответа те же, что были в запросе в offerId и product","items":{"type":"object","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"product":{"type":"object","description":"Свойства товара из запроса, с которыми пытались создать товар"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение товаров

> Обновляет товар в каталоге магазина на Flowwow. \
> \
> При обновлении необходимо передавать все актуальные поля товара (частичное обновление не поддерживается). \
> \
> \*\*Ограничения:\*\* \
> \- Изменение \`productType\` и \`subCategoryId\` через API запрещено. \
> \- Готовые товары (\`productType=2\`) не могут быть созданы или изменены через API. \
> \- Для основного товара (\`productType=1\`) поле \`subCategoryId\` обязательно. \
> \- Для дополнительного товара (\`productType=3\`) поле \`subCategoryId\` не требуется. \
> \
> \*\*Свойства товара:\*\* \
> Набор обязательных и допустимых полей зависит от подкатегории. \
> Актуальную схему свойств, включая зависимости между атрибутами (\`dependsOn\`), необходимо получать через \`POST /apiseller/categories/subCategoryProperties\` — это единственный источник истины. \
> Атрибут \`dependsOn\` носит информационный характер и не передаётся в запросе на обновление.\
> \
> \*\*Изображения:\*\* \
> Загружаются асинхронно по переданным URI. Первое появление в интерфейсе Flowwow может занять до 30 минут.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"OfferUpdateRequest":{"type":"object","additionalProperties":false,"required":["products"],"properties":{"products":{"type":"array","description":"Массив товаров для изменения. Максимум 500 товаров за один запрос.\nТовары обрабатываются независимо: ошибка в одном не влияет на остальные.\n","minItems":1,"maxItems":500,"items":{"$ref":"#/components/schemas/OfferUpdateItem"}}}},"OfferUpdateItem":{"type":"object","additionalProperties":false,"required":["offerId","productType","name","price","images"],"description":"Данные одного товара для обновления.\n\n**Необходимо передавать все поля товара** — частичное обновление не поддерживается.\nПоля, не переданные в запросе, будут считаться пустыми.\n\n**Ограничения:**\n- `productType` и `subCategoryId` изменить нельзя — они должны совпадать с текущими значениями товара.\n- Товар идентифицируется по `offerId`. Если товар с таким `offerId` не найден — вернётся ошибка.\n\nОстальные правила — те же, что и при создании (взаимоисключения, camelCase, изображения).\n","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productType":{"type":"integer","enum":[1,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `3` — дополнительный товар.\n"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":255,"description":"Название товара."},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"description":{"type":"string","nullable":true,"maxLength":5000,"description":"Описание товара."},"images":{"type":"array","description":"Массив URL изображений товара. Загружаются асинхронно.\nПорядок в массиве соответствует порядку отображения.\n","items":{"type":"string","format":"uri"}},"vat":{"type":"string","description":"Ставка НДС. Если не передана — устанавливается значение по умолчанию для холдинга магазина."},"stock":{"type":"integer","minimum":1,"description":"Количество товара на складе, шт.\n**Взаимоисключающее с `productionTime`** — передаётся либо `stock`, либо `productionTime`.\n"},"productionTime":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Время изготовления товара.\n**Взаимоисключающее с `stock`** — передаётся либо `productionTime`, либо `stock`.\n"},"minOrderCount":{"type":"integer","minimum":1,"description":"Минимальное количество единиц в заказе."},"height":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Высота товара."},"width":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Ширина товара."},"volume":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Объём или вес товара."},"isPostDelivery":{"type":"boolean","description":"Доступна ли почтовая доставка для этого товара."},"postWidth":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Ширина упаковки для почтовой доставки (точный размер).\n**Взаимоисключающее с `approximateWeight`.**\n"},"postHeight":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Высота упаковки для почтовой доставки (точный размер).\n**Взаимоисключающее с `approximateWeight`.**\n"},"postLength":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Длина упаковки для почтовой доставки (точный размер).\n**Взаимоисключающее с `approximateWeight`.**\n"},"postWeight":{"allOf":[{"$ref":"#/components/schemas/schemas-MeasureValue"}],"description":"Вес упаковки для почтовой доставки (точный вес).\n**Взаимоисключающее с `approximateWeight`.**\n"},"approximateWeight":{"type":"integer","description":"Примерный вес для почтовой доставки (выбирается из диапазонов).\n**Взаимоисключающее с группой** `postWidth` / `postHeight` / `postLength` / `postWeight`.\nДопустимые значения — из `values` в ответе `subCategoryProperties`.\n"},"isAdultsOnly":{"type":"boolean","description":"Товар предназначен для лиц старше 18 лет."},"manufacturerName":{"type":"string","description":"Название производителя."},"manufacturerAddress":{"type":"string","description":"Адрес производителя."},"importerName":{"type":"string","description":"Наименование импортёра."},"importerAddress":{"type":"string","description":"Адрес импортёра."},"material":{"type":"array","description":"Материалы, из которых изготовлен товар.","items":{"type":"string"}},"consist":{"type":"array","description":"Состав товара. Применяется для подкатегорий, где товар имеет составные части\n(например, букеты из конфет, подарочные наборы).\n","items":{"$ref":"#/components/schemas/ConsistItem"}},"thematicSelections":{"type":"array","description":"Тематические подборки. Передаётся массив `id` подборок из `values`\nв ответе `subCategoryProperties`.\n","items":{"type":"integer"}},"quantityInPackage":{"type":"integer","minimum":1,"description":"Количество единиц товара в упаковке."},"gender":{"type":"integer","description":"Для кого предназначен товар (пол). Допустимые значения — из `values`\nв ответе `subCategoryProperties`.\n"},"textDimensions":{"type":"string","description":"Доступные размеры в виде текста. Например \"S, M, L, XL\" или \"39, 40, 41\"."},"kilocalories":{"type":"integer","description":"Калорийность, ккал."},"proteins":{"type":"integer","description":"Белки, гр."},"fats":{"type":"integer","description":"Жиры, гр."},"carbohydrates":{"type":"integer","description":"Углеводы, гр."},"regionOfOrigin":{"type":"string","description":"Регион происхождения товара. Например \"Фуцзянь, Китай\"."},"brand":{"type":"string","description":"Бренд товара."},"composition":{"type":"string","description":"Состав продукта текстом (например, для косметики)."},"author":{"type":"string","description":"Автор (для книг)."},"year":{"type":"integer","description":"Год издания или выпуска (для книг, альбомов)."},"baloonType":{"type":"integer","description":"Тип шаров. Допустимые значения — из `values` в ответе `subCategoryProperties`.\n"},"certificatePurpose":{"type":"integer","description":"Назначение сертификата. Допустимые значения — из `values`\nв ответе `subCategoryProperties`.\n"},"certificateType":{"type":"array","description":"Тип сертификата (multiselect). Передаётся массив `id` из `values`\nв ответе `subCategoryProperties`.\n","items":{"type":"integer"}}}},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"schemas-MeasureValue":{"type":"object","additionalProperties":false,"required":["val","measure"],"properties":{"val":{"type":"number","description":"Значение"},"measure":{"type":"integer","description":"Идентификатор единицы измерения"}}},"ConsistItem":{"type":"object","description":"Один элемент состава товара.\nИспользуется для полей типа `consist`.\n","additionalProperties":false,"required":["name","quantity","measure"],"properties":{"name":{"type":"string","maxLength":255,"description":"Название составной части. Должно быть уникальным в рамках состава."},"quantity":{"type":"integer","minimum":1,"description":"Количество данной составной части."},"measure":{"type":"integer","description":"Идентификатор единицы измерения количества. Допустимые значения указаны\nв массиве `measure` поля `consist` в ответе `subCategoryProperties`.\n"}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/update":{"post":{"tags":["Products"],"summary":"Изменение товаров","operationId":"post.products.update","description":"Обновляет товар в каталоге магазина на Flowwow. \n\nПри обновлении необходимо передавать все актуальные поля товара (частичное обновление не поддерживается). \n\n**Ограничения:** \n- Изменение `productType` и `subCategoryId` через API запрещено. \n- Готовые товары (`productType=2`) не могут быть созданы или изменены через API. \n- Для основного товара (`productType=1`) поле `subCategoryId` обязательно. \n- Для дополнительного товара (`productType=3`) поле `subCategoryId` не требуется. \n\n**Свойства товара:** \nНабор обязательных и допустимых полей зависит от подкатегории. \nАктуальную схему свойств, включая зависимости между атрибутами (`dependsOn`), необходимо получать через `POST /apiseller/categories/subCategoryProperties` — это единственный источник истины. \nАтрибут `dependsOn` носит информационный характер и не передаётся в запросе на обновление.\n\n**Изображения:** \nЗагружаются асинхронно по переданным URI. Первое появление в интерфейсе Flowwow может занять до 30 минут.\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferUpdateRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Результат выполнения операции создания товаров","properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"summary":{"type":"object","description":"Краткая статистика по кол-ву обработанных записей","properties":{"total":{"type":"integer","default":0,"description":"Общее кол-во обработанных записей"},"success":{"type":"integer","default":0,"description":"Кол-во успешно обработанных записей"},"failed":{"type":"integer","default":0,"description":"Кол-во записей с ошибками"}}},"data":{"type":"array","description":"Массив товаров с краткой информацией по ним без ошибок","items":{"type":"object","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"}}}},"errors":{"type":"array","description":"Массив товаров с ошибками, элементы ответа те же, что были в запросе в offerId и product","items":{"type":"object","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"product":{"type":"object","description":"Свойства товара из запроса, с которыми пытались изменить товар"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Связывание с товарами из магазина продавца

> Связывает товары из магазина продавца на маркетплейсе Flowwow с товарами из информационной системы продавца по идентификаторам.\
> Если товар с указанным productId не существует у магазина в системе Flowwow, будет возвращена ошибка для этого товара.\
> Если внутри одного запроса присутствуют пары с одинаковым offerId или productId, все такие пары считаются некорректными и не обрабатываются.\
> Частичная обработка для конфликтующих пар не выполняется, каждая из них будет возвращена в массиве errors.\
> Если прислать пары ID, которые уже были ранее привязаны, то такие пары изменены не будут.\
> Готовые товары на Flowwow нельзя привязывать, при попытке связывания, такие товары найдены не будут.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"ProductShortDto":{"type":"object","description":"Краткая информация о товаре","additionalProperties":false,"required":["offerId","productId","isActive","type","categoryId","subCategoryId","name","description","url","available","stock","minOrder","price","discount","currencyCode","images","productionTime","shipmentTime","canRent","originalId","isDeliveryPost","isStarred","vat"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"type":{"$ref":"#/components/schemas/ProductType"},"categoryId":{"$ref":"#/components/schemas/RangeGroupId"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":500,"description":"Название товара"},"description":{"type":"string","nullable":true,"maxLength":20000,"description":"Подробное описание товара"},"url":{"type":"string","maxLength":20000,"description":"URL страницы товара на Flowwow со стороны покупателей"},"available":{"type":"integer","minimum":0,"description":"Доступность товара"},"stock":{"type":"integer","minimum":0,"description":"Количество товара на складе"},"minOrder":{"type":"integer","minimum":0,"description":"Минимальный заказ"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"currencyCode":{"$ref":"#/components/schemas/CurrencyCode"},"images":{"type":"array","description":"Ссылки на изображения","items":{"type":"string","format":"uri"}},"productionTime":{"type":"integer","minimum":0,"description":"Время производства товара в минутах"},"shipmentTime":{"type":"integer","minimum":0,"description":"Время доставки товара в минутах"},"canRent":{"type":"integer","enum":[0,1,2],"description":"* `0` — владелец запретил аренду \n* `1` — владелец разрешил аренду \n* `2` — Flowwow запретил аренду\n","default":0},"originalId":{"type":"integer","format":"int32","minimum":0,"default":0,"description":"ID товара оригинала. Если отличен от 0 - текущий товар - арендован"},"isDeliveryPost":{"type":"boolean","description":"Доставляется ли по почте","default":false},"isStarred":{"type":"boolean","description":"Со звездочкой ли товар. Активнее продвигается магазином","default":false},"vat":{"type":"string","default":"0","description":"Процентная ставка НДС у товара"}}},"isActive":{"type":"boolean","description":"Активен ли товар"},"ProductType":{"type":"integer","enum":[1,2,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `2` — готовый товар,\n* `3` — дополнительный товар.\n"},"RangeGroupId":{"type":"integer","description":"Идентификатор категории товаров","minimum":1},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"CurrencyCode":{"type":"string","description":"Код валюты магазина (ISO 4217).","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPD","XPF","XPT","YER","ZAR","ZMK","ZMW","ZWL"]},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/offersMappings":{"post":{"tags":["Products"],"summary":"Связывание с товарами из магазина продавца","operationId":"products/offersMappings","description":"Связывает товары из магазина продавца на маркетплейсе Flowwow с товарами из информационной системы продавца по идентификаторам.\nЕсли товар с указанным productId не существует у магазина в системе Flowwow, будет возвращена ошибка для этого товара.\nЕсли внутри одного запроса присутствуют пары с одинаковым offerId или productId, все такие пары считаются некорректными и не обрабатываются.\nЧастичная обработка для конфликтующих пар не выполняется, каждая из них будет возвращена в массиве errors.\nЕсли прислать пары ID, которые уже были ранее привязаны, то такие пары изменены не будут.\nГотовые товары на Flowwow нельзя привязывать, при попытке связывания, такие товары найдены не будут.\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"offers":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","description":"Связь товара магазина с товаром Flowwow.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"}},"required":["offerId","productId"],"additionalProperties":false},"description":"Связи товара магазина с товаром Flowwow."}},"required":["offers"],"additionalProperties":false}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"shopId":{"type":"integer","description":"ID запрошенного магазина, в рамках только данного магазина производится работа с парами offerId и productId"},"summary":{"type":"object","description":"Сводная статистика обработанных записей","properties":{"total":{"type":"integer","description":"Общее количество обработанных записей (success + failed)"},"success":{"type":"integer","description":"Количество успешно обработанных записей (created + updated + relinked + unchanged)"},"failed":{"type":"integer","description":"Количество записей с какими-либо ошибками при обработке"},"created":{"type":"integer","description":"Количество созданных связей"},"updated":{"type":"integer","description":"Количество измененных записей без изменения связи пар"},"relinked":{"type":"integer","description":"Количество измененных связей пар"},"unchanged":{"type":"integer","description":"Количество неизмененных записей и связей"}}},"data":{"type":"array","description":"Набор товаров с сокращенной информацией","items":{"$ref":"#/components/schemas/ProductShortDto"}},"errors":{"type":"array","description":"Набор товаров с ошибками","items":{"type":"object","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"message":{"type":"string","description":"Сообщение об ошибке"}}}}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Скрытие товаров

> Делает товары невидимыми на витрине и недоступными для продажи без возврата их из архива.\
> Если в результате выполнения запроса в магазине были скрыты все товары, магазин принудительно\
> переводится в статус неактивного.\
> У скрываемых товаров снимается метка «ТОП-18».<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"ChangeStatusRequest":{"type":"object","properties":{"offers":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","description":"Идентификаторы товаров в системе продавца.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"}},"required":["offerId"],"additionalProperties":false},"description":"Идентификаторы товаров в системе продавца."}},"required":["offers"],"additionalProperties":false},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ChangeStatusResponse":{"type":"object","required":["shopId","data","errors"],"properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ValidProductStatusResponseDto"},"description":"Товары с успешно измененным статусом или без ошибок"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/InvalidProductStatusResponseDto"},"description":"Товары с ошибками"}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ValidProductStatusResponseDto":{"type":"object","description":"Успешная попытка скрытия/открытия одного товара","required":["offerId","productId","isActive","updated"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"updated":{"$ref":"#/components/schemas/Updated"}}},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isActive":{"type":"boolean","description":"Активен ли товар"},"Updated":{"type":"boolean","description":"Были ли изменены данные у товара"},"InvalidProductStatusResponseDto":{"type":"object","description":"Попытка скрытия/открытия одного товара с ошибкой","required":["offerId","productId","isActive","message"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/hide":{"post":{"tags":["Products"],"summary":"Скрытие товаров","operationId":"products/hide","description":"Делает товары невидимыми на витрине и недоступными для продажи без возврата их из архива.\nЕсли в результате выполнения запроса в магазине были скрыты все товары, магазин принудительно\nпереводится в статус неактивного.\nУ скрываемых товаров снимается метка «ТОП-18».\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeStatusRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeStatusResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Открытие товаров

> Делает товары видимыми на витрине и доступными к продаже без перевода их в архив.\
> Если у товара заданы свойства минимального количества для заказа и доступного количества, то для открытия товара\
> доступное количество должно быть больше либо равно минимальному количеству для заказа.\
> Для товаров из оптовых категорий доступное количество рассчитывается как произведение: доступное количество × количество в упаковке.\
> Если до выполнения запроса в магазине не было ни одного открытого товара и в результате запроса\
> появился хотя бы один открытый обычный или готовый товар, магазин переводится в статус активного\
> (при соблюдении остальных условий активности магазина).\
> Подтверждение наличия товаров менеджером через данный эндпоинт не производится.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"ChangeStatusRequest":{"type":"object","properties":{"offers":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","description":"Идентификаторы товаров в системе продавца.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"}},"required":["offerId"],"additionalProperties":false},"description":"Идентификаторы товаров в системе продавца."}},"required":["offers"],"additionalProperties":false},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ChangeStatusResponse":{"type":"object","required":["shopId","data","errors"],"properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"type":"array","items":{"$ref":"#/components/schemas/ValidProductStatusResponseDto"},"description":"Товары с успешно измененным статусом или без ошибок"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/InvalidProductStatusResponseDto"},"description":"Товары с ошибками"}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ValidProductStatusResponseDto":{"type":"object","description":"Успешная попытка скрытия/открытия одного товара","required":["offerId","productId","isActive","updated"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"updated":{"$ref":"#/components/schemas/Updated"}}},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isActive":{"type":"boolean","description":"Активен ли товар"},"Updated":{"type":"boolean","description":"Были ли изменены данные у товара"},"InvalidProductStatusResponseDto":{"type":"object","description":"Попытка скрытия/открытия одного товара с ошибкой","required":["offerId","productId","isActive","message"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/unhide":{"post":{"tags":["Products"],"summary":"Открытие товаров","operationId":"products/unhide","description":"Делает товары видимыми на витрине и доступными к продаже без перевода их в архив.\nЕсли у товара заданы свойства минимального количества для заказа и доступного количества, то для открытия товара\nдоступное количество должно быть больше либо равно минимальному количеству для заказа.\nДля товаров из оптовых категорий доступное количество рассчитывается как произведение: доступное количество × количество в упаковке.\nЕсли до выполнения запроса в магазине не было ни одного открытого товара и в результате запроса\nпоявился хотя бы один открытый обычный или готовый товар, магазин переводится в статус активного\n(при соблюдении остальных условий активности магазина).\nПодтверждение наличия товаров менеджером через данный эндпоинт не производится.\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeStatusRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeStatusResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Перенос товара в архив

> Переносит один товар в архив<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isArchived":{"type":"boolean","description":"Архивирован ли товар"},"Updated":{"type":"boolean","description":"Были ли изменены данные у товара"},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/archive":{"post":{"tags":["Products"],"summary":"Перенос товара в архив","operationId":"post.products.archive","description":"Переносит один товар в архив\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Идентификатор товара в системе продавца","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Результат выполнения операции переноса товара в архив","properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isArchived":{"$ref":"#/components/schemas/isArchived"},"updated":{"$ref":"#/components/schemas/Updated"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Возврат товара из архива

> Возвращает один товар из архива<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Products","description":"Добавление, просмотр, изменение и управление отображением товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isArchived":{"type":"boolean","description":"Архивирован ли товар"},"Updated":{"type":"boolean","description":"Были ли изменены данные у товара"},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/products/unarchive":{"post":{"tags":["Products"],"summary":"Возврат товара из архива","operationId":"post.products.unarchive","description":"Возвращает один товар из архива\n","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Идентификатор товара в системе продавца","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Результат выполнения операции возврата товара из архива","properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isArchived":{"$ref":"#/components/schemas/isArchived"},"updated":{"$ref":"#/components/schemas/Updated"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Stocks

*Остатки товаров на складах магазина.*

## Просмотр остатков по товарам

> Возвращает информацию по остаткам в магазине продавца

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Stocks","description":"Остатки товаров на складах магазина"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"StocksRequest":{"type":"object","required":["offers"],"properties":{"offers":{"type":"array","minItems":1,"maxItems":1000,"description":"Информация о товарах на складах.","items":{"type":"object","required":["offerId"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"}}}}}},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"StocksResponse":{"type":"object","required":["shopId","data","errors"],"properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"stock":{"$ref":"#/components/schemas/StockCount"}}}},"errors":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","description":"Информация об ошибках получения.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"stock":{"$ref":"#/components/schemas/StockCount"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"StockCount":{"type":"integer","format":"int32","minimum":0,"description":"Количество товара в наличии без учёта зарезервированных товаров."},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/stocks/get":{"post":{"tags":["Stocks"],"summary":"Просмотр остатков по товарам","operationId":"stocks/get","description":"Возвращает информацию по остаткам в магазине продавца","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StocksRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StocksResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение остатков по товарам

> Изменяет информацию по остаткам в магазине продавца. Товар скрывается при изменении остатка с > 0 на 0. Если в результате выполнения запроса в магазине были скрыты все товары, магазин принудительно переводится в статус неактивного. У скрываемых товаров снимается метка «ТОП-18». Скрытие товара без изменения его остатков производится с помощью запроса \`POST /apiseller/products/hide\`

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Stocks","description":"Остатки товаров на складах магазина"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"UpdateStocksRequest":{"type":"object","properties":{"offers":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","description":"Информация об остатках одного товара на одном из складов.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"stock":{"$ref":"#/components/schemas/StockCount"}},"required":["offerId","stock"],"additionalProperties":false},"description":"Данные об остатках товаров."}},"required":["offers"],"additionalProperties":false},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"StockCount":{"type":"integer","format":"int32","minimum":0,"description":"Количество товара в наличии без учёта зарезервированных товаров."},"UpdateStocksResponse":{"type":"object","description":"Информация об остатках одного товара на одном из складов.","properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","description":"Информация об обновленных остатков.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"stock":{"$ref":"#/components/schemas/StockCount"},"updated":{"$ref":"#/components/schemas/Updated"}}}},"errors":{"type":"array","minItems":0,"maxItems":1000,"items":{"type":"object","description":"Информация об ошибках обновления.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"stock":{"$ref":"#/components/schemas/StockCount"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"Updated":{"type":"boolean","description":"Были ли изменены данные у товара"},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/stocks/put":{"put":{"tags":["Stocks"],"summary":"Изменение остатков по товарам","operationId":"stocks/put","description":"Изменяет информацию по остаткам в магазине продавца. Товар скрывается при изменении остатка с > 0 на 0. Если в результате выполнения запроса в магазине были скрыты все товары, магазин принудительно переводится в статус неактивного. У скрываемых товаров снимается метка «ТОП-18». Скрытие товара без изменения его остатков производится с помощью запроса `POST /apiseller/products/hide`","parameters":[{"$ref":"#/components/parameters/ShopId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStocksRequest"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStocksResponse"}}}},"400":{"$ref":"#/components/responses/400"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Prices

*Цены товаров.*

## Получение цен и скидок у товаров

> Возвращает информацию по ценам и скидкам товаров в магазине

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Prices","description":"Цены товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"PricesGetRequest":{"type":"object","properties":{"offers":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","description":"Получение цены/скидки для товара. Можно передать и установить только цену или только скидку, или оба атрибута каждого товара","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"}},"required":["offerId"]}}},"required":["offers"],"additionalProperties":false},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"PricesGetResponseData":{"type":"array","items":{"type":"object","description":"Цены, скидки и валюты товаров","required":["offerId","productId","price","discount","currencyCode"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"currencyCode":{"$ref":"#/components/schemas/CurrencyCode"}}}},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"CurrencyCode":{"type":"string","description":"Код валюты магазина (ISO 4217).","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPD","XPF","XPT","YER","ZAR","ZMK","ZMW","ZWL"]},"PricesGetResponseErrors":{"type":"array","items":{"type":"object","description":"Товары с ошибками","required":["offerId","productId","message"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/prices/get":{"post":{"tags":["Prices"],"summary":"Получение цен и скидок у товаров","operationId":"post.price.get","parameters":[{"$ref":"#/components/parameters/ShopId"}],"description":"Возвращает информацию по ценам и скидкам товаров в магазине","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricesGetRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"$ref":"#/components/schemas/PricesGetResponseData"},"errors":{"$ref":"#/components/schemas/PricesGetResponseErrors"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение цен и скидок у товаров

> Изменяет цены и/или скидки у товаров в магазине

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Prices","description":"Цены товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"PricesSetRequest":{"type":"object","properties":{"offers":{"type":"array","minItems":1,"maxItems":1000,"items":{"type":"object","description":"Установка цены/скидки для товара.","properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"}},"anyOf":[{"required":["price"]},{"required":["discount"]}]}}},"required":["offers"],"additionalProperties":false},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"PricesSetResponse":{"type":"object","description":"Результаты изменения цены/скидки для товаров","required":["shopId"],"properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"type":"array","items":{"type":"object","description":"Результат изменения цены/скидки для товара","required":["offerId","productId","price","discount","updated"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"updated":{"$ref":"#/components/schemas/Updated"}}}},"errors":{"type":"array","items":{"type":"object","description":"Ошибки изменения.","required":["offerId","productId","price","discount","message"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"message":{"$ref":"#/components/schemas/ErrorMessage"}}}}}},"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"Updated":{"type":"boolean","description":"Были ли изменены данные у товара"},"ErrorMessage":{"type":"string","description":"Сообщение об ошибке"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/prices/put":{"put":{"tags":["Prices"],"summary":"Изменение цен и скидок у товаров","operationId":"post.price.put","parameters":[{"$ref":"#/components/parameters/ShopId"}],"description":"Изменяет цены и/или скидки у товаров в магазине","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricesSetRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricesSetResponse"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Categories

*Информация о категориях и подкатегориях товаров.*

## Дерево категорий и подкатегорий товаров

> Возвращает иерархическое дерево активных категорий (групп) с их подкатегориями (типами).\
> Результат фильтруется по стране магазина — недоступные в стране категории и подкатегории не включаются.\
> Результат не пагинируется (отдаётся целиком).\
> \
> \### Поле \`chestnyZnakMarkingRequirement\`\
> Поле отдаётся \*\*только для магазинов из Российской Федерации\*\*.\
> Указывает требование маркировки товаров системой «Честный Знак»:\
> \
> \| Значение     | Описание                                                             |\
> \|--------------|----------------------------------------------------------------------|\
> \| \`never\`      | Маркировка не требуется для товаров данной подкатегории               |\
> \| \`selectable\` | Магазин сам решает, нужна ли маркировка для конкретного товара        |\
> \| \`always\`     | Все товары данной подкатегории обязательно должны быть промаркированы |\
> \
> Для магазинов из других стран поле не включается в ответ.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Categories","description":"Информация о категориях и подкатегориях товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"RangeGroupItem":{"type":"object","description":"Данные об одной категории","additionalProperties":false,"required":["categoryId","name","isDeliveryPhotoRequired","isPostcardEnabled","subCategories"],"properties":{"categoryId":{"$ref":"#/components/schemas/RangeGroupId"},"name":{"type":"string","description":"Название категории"},"isDeliveryPhotoRequired":{"type":"boolean","description":"Обязательно должно быть фото до доставки в заказе с товаром из этой подкатегории"},"isPostcardEnabled":{"type":"boolean","description":"Бренд-открытка Flowwow включена в заказ с товаром из этой подкатегории"},"subCategories":{"type":"array","description":"Дочерние подкатегории данной категории","items":{"$ref":"#/components/schemas/RangeTypeItem"}}}},"RangeGroupId":{"type":"integer","description":"Идентификатор категории товаров","minimum":1},"RangeTypeItem":{"type":"object","description":"Данные об одной подкатегории","additionalProperties":false,"required":["subCategoryId","name","isPostDelivery","isAdultsOnlyDefault"],"properties":{"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","description":"Название подкатегории"},"isPostDelivery":{"type":"boolean","description":"Товары из данной подкатегории могут доставляться почтой"},"isAdultsOnlyDefault":{"type":"boolean","description":"Все товары из данной подкатегории обязательно являются товарами для взрослых"},"chestnyZnakMarkingRequirement":{"type":"string","enum":["never","selectable","always"],"description":"Требование маркировки в системе \"Честный Знак\" для товаров из данной подкатегории. Актуально только для РФ.\nВозможные значения:\n  * `never` — товары из данной подкатегории никогда не маркируются\n  * `selectable` — требование маркировки определяется продавцом на уровне товара\n  (при создании/редактировании товара нужно явно установить флаг «нужна маркировка» или «не нужна»;\n  значение по умолчанию — «не нужна» (`false`))\n  * `always` — товары из данной подкатегории всегда маркируются\n"}}},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/categories/tree":{"post":{"tags":["Categories"],"summary":"Дерево категорий и подкатегорий товаров","operationId":"post.categories.tree","description":"Возвращает иерархическое дерево активных категорий (групп) с их подкатегориями (типами).\nРезультат фильтруется по стране магазина — недоступные в стране категории и подкатегории не включаются.\nРезультат не пагинируется (отдаётся целиком).\n\n### Поле `chestnyZnakMarkingRequirement`\nПоле отдаётся **только для магазинов из Российской Федерации**.\nУказывает требование маркировки товаров системой «Честный Знак»:\n\n| Значение     | Описание                                                             |\n|--------------|----------------------------------------------------------------------|\n| `never`      | Маркировка не требуется для товаров данной подкатегории               |\n| `selectable` | Магазин сам решает, нужна ли маркировка для конкретного товара        |\n| `always`     | Все товары данной подкатегории обязательно должны быть промаркированы |\n\nДля магазинов из других стран поле не включается в ответ.\n","parameters":[{"name":"shopId","in":"query","required":true,"schema":{"type":"integer","format":"int32","minimum":1},"description":"Идентификатор магазина. Передаётся как GET-параметр.\nПример: ?shopId=260\n"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["shopId","data"],"properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"data":{"type":"array","items":{"$ref":"#/components/schemas/RangeGroupItem"},"description":"Массив категорий с вложенными подкатегориями"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Свойства подкатегории

> Возвращает список свойств для одной подкатегории товаров.

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Categories","description":"Информация о категориях и подкатегориях товаров"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"schemas-ShopId":{"type":"integer","description":"Идентификатор магазина.","minimum":1,"format":"int32"},"RangeTypeItem":{"type":"object","description":"Данные об одной подкатегории","additionalProperties":false,"required":["subCategoryId","name","isPostDelivery","isAdultsOnlyDefault"],"properties":{"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","description":"Название подкатегории"},"isPostDelivery":{"type":"boolean","description":"Товары из данной подкатегории могут доставляться почтой"},"isAdultsOnlyDefault":{"type":"boolean","description":"Все товары из данной подкатегории обязательно являются товарами для взрослых"},"chestnyZnakMarkingRequirement":{"type":"string","enum":["never","selectable","always"],"description":"Требование маркировки в системе \"Честный Знак\" для товаров из данной подкатегории. Актуально только для РФ.\nВозможные значения:\n  * `never` — товары из данной подкатегории никогда не маркируются\n  * `selectable` — требование маркировки определяется продавцом на уровне товара\n  (при создании/редактировании товара нужно явно установить флаг «нужна маркировка» или «не нужна»;\n  значение по умолчанию — «не нужна» (`false`))\n  * `always` — товары из данной подкатегории всегда маркируются\n"}}},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"RangeTypeProperty":{"type":"object","description":"Свойство подкатегории — атрибут товара, который нужно заполнить при создании или обновлении.\nНапример: название, цена, вес, состав, изображения.\n\nКаждое свойство описывает:\n- как называется поле (`field`) — именно это имя используется при передаче товара\n- обязательно ли оно (`required`)\n- какого типа значение ожидается (`type`)\n- дополнительные ограничения (`minValue`, `maxValue`, `maxDecimalPlaces`)\n- допустимые варианты для выбора (`values`)\n- допустимые единицы измерения (`measure`)\n- от какого поля зависит (`dependsOn`) — взаимоисключающая пара\n","required":["name","field","required","type"],"properties":{"name":{"type":"string","description":"Человекочитаемое название свойства. Используется для отображения в интерфейсе."},"field":{"type":"string","description":"Техническое имя свойства в формате camelCase.\nИспользуется как ключ при передаче значений в эндпоинтах создания и обновления товара.\n"},"required":{"type":"boolean","description":"Обязательно ли поле для заполнения.\n\nЕсли `true` — товар не будет создан без этого поля.\nЕсли у поля есть `dependsOn` — поле обязательно только тогда, когда ни одно из полей в `dependsOn` не передано.\nИными словами: обязательно передать либо это поле, либо поле(я) из `dependsOn`.\n"},"type":{"type":"string","enum":["text","decimal","bool","measure","consist","select","multiselect","multitext","image"],"description":"Тип значения свойства. Определяет формат передаваемого значения.\n\n* `text` — строка произвольной длины\n* `decimal` — число (целое или с плавающей точкой). Ограничения: `minValue`, `maxValue`, `maxDecimalPlaces`\n* `bool` — логическое значение: `true` или `false`\n* `measure` — объект с числовым значением и единицей измерения: `{\"val\": 50, \"measure\": 3}`\n* `consist` — массив объектов состава товара: `[{\"name\": \"Роза\", \"quantity\": 5, \"measure\": 1}]`\n* `select` — одно значение из списка `values`. Передаётся `id` выбранного элемента. Целочисленное.\n* `multiselect` — несколько значений из списка `values`. Передаётся массив `id`. Целочисленное.\n* `multitext` — массив строк: `[\"Хлопок\", \"Лён\"]`\n* `image` — массив URL изображений: `[\"https://example.com/img.jpg\"]`\n"},"minValue":{"type":"number","nullable":true,"description":"Минимально допустимое значение.\nПрименяется для типов `decimal` и `measure` (поле `val`).\n"},"maxValue":{"type":"number","nullable":true,"description":"Максимально допустимое значение.\nПрименяется для типов `decimal` и `measure` (поле `val`).\n"},"maxDecimalPlaces":{"type":"integer","nullable":true,"description":"Максимальное количество знаков после запятой.\nПрименяется для типов `decimal` и `measure`.\nЕсли `0` — значение должно быть целым числом.\n"},"values":{"type":"array","nullable":true,"description":"Допустимые варианты для выбора.\nПрисутствует только у типов `select` и `multiselect`.\nПри передаче значения указывается `id` нужного элемента.\n","items":{"$ref":"#/components/schemas/PropertyValue"}},"measure":{"type":"array","nullable":true,"description":"Допустимые единицы измерения.\nПрисутствует только у типов `measure` и `consist`.\nПри передаче значения указывается `id` нужной единицы измерения.\n","items":{"$ref":"#/components/schemas/MeasureOption"}},"dependsOn":{"type":"array","nullable":true,"description":"Взаимоисключающие поля. Носит информационный характер — не передаётся в запросах создания и обновления.\n\nЕсли `dependsOn` присутствует — это означает, что данное поле и поля из списка являются взаимоисключающими:\nнужно передать **либо** текущее поле, **либо** поля из `dependsOn` — но не оба одновременно.\n\n**Пример:** у поля `stock` `dependsOn: [\"productionTime\"]` — можно передать либо количество на складе,\nлибо время изготовления, но не оба поля сразу. В то же время хотя бы одно из данной пары нужно указать.\n","items":{"type":"string"}}}},"PropertyValue":{"type":"object","description":"Один из допустимых вариантов для полей типа `select` и `multiselect`.\nПри передаче значения используйте `id`.\n","required":["id","name"],"additionalProperties":false,"properties":{"id":{"oneOf":[{"type":"integer"},{"type":"string"}],"description":"Идентификатор значения. Именно это передаётся в запросе."},"name":{"type":"string","description":"Человекочитаемое название значения."}}},"MeasureOption":{"type":"object","description":"Одна из допустимых единиц измерения для полей типа `measure` и `consist`.\nПри передаче значения используйте `id` в поле `measure` объекта.\n","required":["id"],"additionalProperties":false,"properties":{"id":{"type":"integer","description":"Идентификатор единицы измерения.\n\n* `1` — штуки\n* `2` — граммы\n* `3` — сантиметры\n* `4` — миллилитры\n* `5` — унции\n* `6` — дюймы\n* `7` — минуты\n* `8` — часы\n* `9` — дни\n* `10` — недели\n* `11` — месяцы\n* `12` — годы\n","enum":[1,2,3,4,5,6,7,8,9,10,11,12]},"maxDecimalPlaces":{"type":"integer","nullable":true,"description":"Максимальное количество знаков после запятой для данной единицы."},"minValue":{"type":"number","nullable":true},"maxValue":{"type":"number","nullable":true}}},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/categories/subCategoryProperties":{"post":{"tags":["Categories"],"summary":"Свойства подкатегории","operationId":"post.category.typeProperties","description":"Возвращает список свойств для одной подкатегории товаров.","parameters":[{"$ref":"#/components/parameters/ShopId"},{"in":"query","name":"subCategoryId","required":true,"description":"**Идентификатор подкатегории товаров**\n\nЕго можно узнать с помощью запроса `POST /apiseller/categories/tree`\n","schema":{"type":"integer","minimum":1,"maximum":4294967295}},{"in":"query","name":"productType","required":true,"schema":{"type":"integer","enum":[1,3],"description":"Идентификатор типа товаров. От типа товара зависят свойства товара.\nВозможные значения:\n  * `1` — обычный товар. Может долгое время находиться в каталоге, может существовать во многих экземплярах, имеет остатки на складе или время изготовления\n  * `3` — дополнительный товар. Не отображается клиентам в каталоге товаров и на странице магазина, виден только в корзине. Может идти дополнительно в заказе вместе с одним или несколькими обычными или готовыми товарами\n\nНастройки для готовых товаров (productType=2) не предоставляются через данный эндпоинт, так как через API нельзя создать готовые товары, используйте для этого приложение FLOWWOW для продавцов.\n"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["shopId","subCategory","data"],"properties":{"shopId":{"$ref":"#/components/schemas/schemas-ShopId"},"subCategory":{"default":0,"description":"Информация о подкатегории. 0 для дополнительных товаров (productType=3, subCategoryId=0)","allOf":[{"$ref":"#/components/schemas/RangeTypeItem"}]},"data":{"type":"array","description":"Свойства подкатегории","items":{"$ref":"#/components/schemas/RangeTypeProperty"}}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Orders

*Действия с заказами.*

## Просмотр списка заказов

> Просмотр списка заказов<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"deliveryType":{"nullable":false,"type":"integer","enum":[0,1,2,4,5,10,11,12,20,21,22,23,24,26,32,33,34],"description":"Тип доставки\n- 0 — Курьер отсутствует / Способ доставки не выбран\n- 1 — Доставка курьером продавца\n- 2 — Собственная доставка продавца\n- 4 — Самовывоз\n- 5 — Доставка flowwow\n- 10 — Доставка курьером пешком\n- 11 — Доставка курьером на автомобиле\n- 12 — Доставка курьером на транспорте\n- 20 — Доставка флористом пешком\n- 21 — Доставка флористом на авто\n- 22 — Доставка флористом на транспорте\n- 23 — Доставка яндекс доставкой\n- 24 — Доставка флориста на велике\n- 26 — Доставка Gett доставкой\n- 32 — Доставка сбермаркетом\n- 33 — Доставка магнитом\n- 34 — Доставка цифровых товаров (сертификаты)\n"},"status":{"type":"integer","nullable":false,"enum":[1,2,3,4,5,7,10,11,12],"description":"Статус заказа\n- 1 — Новый\n- 2 — Принят\n- 3 — Завершен\n- 4 — Передан в доставку\n- 5 — Фото до доставки\n- 7 — Заказ ожидает, когда его заберет клиент из магазина\n- 10 — Почтовый статус. Заказ собран\n- 11 — Почтовый статус. Заказ доставляется почтой\n- 12 — Почтовый статус. Заказ ждет, когда его заберут из почтового офиса\n"},"deliveryTimeType":{"nullable":false,"type":"integer","enum":[0,1,2],"description":"Тип времени доставки\n- 0 — Согласовать время с получателем\n- 1 — Ближайшее время\n- 2 — На период\n"},"orderItem":{"type":"object","properties":{"id":{"type":"integer","nullable":false,"description":"ID заказа в системе Flowwow"},"shopId":{"type":"integer","nullable":false,"description":"ID магазина"},"createdDate":{"type":"integer","nullable":false,"description":"Время создания заказа"},"status":{"type":"integer","nullable":false,"enum":[1,2,3,4,5,7,10,11,12],"description":"Статус заказа\n- 1 — Новый\n- 2 — Принят\n- 3 — Завершен\n- 4 — Передан в доставку\n- 5 — Фото до доставки\n- 7 — Заказ ожидает, когда его заберет клиент из магазина\n- 10 — Почтовый статус. Заказ собран\n- 11 — Почтовый статус. Заказ доставляется почтой\n- 12 — Почтовый статус. Заказ ждет, когда его заберут из почтового офиса\n"},"deliveryType":{"nullable":false,"type":"integer","enum":[0,1,2,4,5,10,11,12,20,21,22,23,24,26,32,33,34],"description":"Тип доставки\n- 0 — Курьер отсутствует / Способ доставки не выбран\n- 1 — Доставка курьером продавца\n- 2 — Собственная доставка продавца\n- 4 — Самовывоз\n- 5 — Доставка flowwow\n- 10 — Доставка курьером пешком\n- 11 — Доставка курьером на автомобиле\n- 12 — Доставка курьером на транспорте\n- 20 — Доставка флористом пешком\n- 21 — Доставка флористом на авто\n- 22 — Доставка флористом на транспорте\n- 23 — Доставка яндекс доставкой\n- 24 — Доставка флориста на велике\n- 26 — Доставка Gett доставкой\n- 32 — Доставка сбермаркетом\n- 33 — Доставка магнитом\n- 34 — Доставка цифровых товаров (сертификаты)\n"},"deliveryTimeType":{"nullable":false,"type":"integer","enum":[0,1,2],"description":"Тип времени доставки\n- 0 — Согласовать время с получателем\n- 1 — Ближайшее время\n- 2 — На период\n"},"deliveryDateFrom":{"type":"integer","nullable":false,"description":"Время доставки от"},"deliveryDateTo":{"type":"integer","nullable":false,"description":"Время доставки до"},"address":{"type":"string","nullable":false,"description":"Адрес доставки. Отделяется символом ';' от детальной информации об адресе"},"courierInfo":{"type":"string","nullable":false,"description":"Комментарий для курьера"},"shopAdditionalInfo":{"type":"string","nullable":false,"description":"Комментарий для магазина"},"comment":{"type":"string","nullable":true,"description":"Комментарий клиента"},"photoBeforeUrl":{"type":"string","nullable":true,"description":"Фото до доставки"},"photoAfterUrl":{"type":"string","nullable":true,"description":"Фото после доставки"},"message":{"type":"string","nullable":false,"description":"Текст открытки. Если есть, то в секции products будет элемент с данными открытки"},"products":{"type":"array","description":"Товары заказа","items":{"allOf":[{"$ref":"#/components/schemas/ProductShortDto"},{"type":"object","properties":{"count":{"type":"integer","description":"Количество товара в заказе"}},"required":["count"]}]}},"user":{"type":"object","nullable":true,"description":"Данные о покупателе","properties":{"name":{"type":"string","description":"Имя покупателя"},"phone":{"type":"string","description":"Телефон"}},"required":["name","phone"]},"recipient":{"type":"object","nullable":true,"description":"Данные о получателе","properties":{"name":{"type":"string","description":"Имя получателя"},"phone":{"type":"string","description":"Телефон"}},"required":["name","phone"]},"sourceHost":{"type":"string","nullable":true,"description":"Ресурс, на котором был создан заказ\n- fmart — заказ создан на сайте FMART\n"}}},"ProductShortDto":{"type":"object","description":"Краткая информация о товаре","additionalProperties":false,"required":["offerId","productId","isActive","type","categoryId","subCategoryId","name","description","url","available","stock","minOrder","price","discount","currencyCode","images","productionTime","shipmentTime","canRent","originalId","isDeliveryPost","isStarred","vat"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"type":{"$ref":"#/components/schemas/ProductType"},"categoryId":{"$ref":"#/components/schemas/RangeGroupId"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":500,"description":"Название товара"},"description":{"type":"string","nullable":true,"maxLength":20000,"description":"Подробное описание товара"},"url":{"type":"string","maxLength":20000,"description":"URL страницы товара на Flowwow со стороны покупателей"},"available":{"type":"integer","minimum":0,"description":"Доступность товара"},"stock":{"type":"integer","minimum":0,"description":"Количество товара на складе"},"minOrder":{"type":"integer","minimum":0,"description":"Минимальный заказ"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"currencyCode":{"$ref":"#/components/schemas/CurrencyCode"},"images":{"type":"array","description":"Ссылки на изображения","items":{"type":"string","format":"uri"}},"productionTime":{"type":"integer","minimum":0,"description":"Время производства товара в минутах"},"shipmentTime":{"type":"integer","minimum":0,"description":"Время доставки товара в минутах"},"canRent":{"type":"integer","enum":[0,1,2],"description":"* `0` — владелец запретил аренду \n* `1` — владелец разрешил аренду \n* `2` — Flowwow запретил аренду\n","default":0},"originalId":{"type":"integer","format":"int32","minimum":0,"default":0,"description":"ID товара оригинала. Если отличен от 0 - текущий товар - арендован"},"isDeliveryPost":{"type":"boolean","description":"Доставляется ли по почте","default":false},"isStarred":{"type":"boolean","description":"Со звездочкой ли товар. Активнее продвигается магазином","default":false},"vat":{"type":"string","default":"0","description":"Процентная ставка НДС у товара"}}},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isActive":{"type":"boolean","description":"Активен ли товар"},"ProductType":{"type":"integer","enum":[1,2,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `2` — готовый товар,\n* `3` — дополнительный товар.\n"},"RangeGroupId":{"type":"integer","description":"Идентификатор категории товаров","minimum":1},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"CurrencyCode":{"type":"string","description":"Код валюты магазина (ISO 4217).","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPD","XPF","XPT","YER","ZAR","ZMK","ZMW","ZWL"]},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/list":{"get":{"tags":["Orders"],"summary":"Просмотр списка заказов","operationId":"ordersList","description":"Просмотр списка заказов\n","parameters":[{"$ref":"#/components/parameters/ShopId"},{"in":"query","name":"id","schema":{"type":"integer","nullable":true},"description":"ID заказа в системе Flowwow"},{"in":"query","name":"page","schema":{"type":"integer","nullable":true},"description":"Страница пагинации"},{"in":"query","name":"limit","schema":{"type":"integer","nullable":true,"minimum":1,"maximum":100},"description":"Кол-во записей на странице"},{"in":"query","name":"createdDate","schema":{"type":"string","format":"Y-m-d","nullable":true},"description":"Дата создания заказа"},{"in":"query","name":"deliveryDateFrom","schema":{"type":"string","format":"Y-m-d","nullable":true},"description":"Дата доставки от"},{"in":"query","name":"deliveryDateTo","schema":{"type":"string","format":"Y-m-d","nullable":true},"description":"Дата доставки до"},{"in":"query","name":"deliveryType","schema":{"allOf":[{"$ref":"#/components/schemas/deliveryType"}],"nullable":true,"type":"integer"},"description":"Тип доставки"},{"in":"query","name":"status","schema":{"allOf":[{"$ref":"#/components/schemas/status"}],"nullable":true,"type":"integer"},"description":"Статус заказа"},{"in":"query","name":"deliveryTimeType","schema":{"allOf":[{"$ref":"#/components/schemas/deliveryTimeType"}],"nullable":true,"type":"integer"},"description":"Тип времени доставки"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","description":"Список заказов","items":{"$ref":"#/components/schemas/orderItem"}},"total":{"type":"integer","description":"Общее количество заказов (без учёта пагинации)"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Просмотр заказа

> Просмотр заказа<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"parameters":{"ShopId":{"name":"shopId","in":"query","required":true,"description":"**Идентификатор склада или магазина.**\n\nЕго можно узнать с помощью запроса `POST /apiseller/shops`\nили в кабинете продавца Flowwow.\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}},"orderId":{"name":"orderId","in":"query","required":true,"description":"**Идентификатор заказа.**\n","schema":{"type":"integer","format":"int32","minimum":1,"maximum":4294967295}}},"schemas":{"orderItem":{"type":"object","properties":{"id":{"type":"integer","nullable":false,"description":"ID заказа в системе Flowwow"},"shopId":{"type":"integer","nullable":false,"description":"ID магазина"},"createdDate":{"type":"integer","nullable":false,"description":"Время создания заказа"},"status":{"type":"integer","nullable":false,"enum":[1,2,3,4,5,7,10,11,12],"description":"Статус заказа\n- 1 — Новый\n- 2 — Принят\n- 3 — Завершен\n- 4 — Передан в доставку\n- 5 — Фото до доставки\n- 7 — Заказ ожидает, когда его заберет клиент из магазина\n- 10 — Почтовый статус. Заказ собран\n- 11 — Почтовый статус. Заказ доставляется почтой\n- 12 — Почтовый статус. Заказ ждет, когда его заберут из почтового офиса\n"},"deliveryType":{"nullable":false,"type":"integer","enum":[0,1,2,4,5,10,11,12,20,21,22,23,24,26,32,33,34],"description":"Тип доставки\n- 0 — Курьер отсутствует / Способ доставки не выбран\n- 1 — Доставка курьером продавца\n- 2 — Собственная доставка продавца\n- 4 — Самовывоз\n- 5 — Доставка flowwow\n- 10 — Доставка курьером пешком\n- 11 — Доставка курьером на автомобиле\n- 12 — Доставка курьером на транспорте\n- 20 — Доставка флористом пешком\n- 21 — Доставка флористом на авто\n- 22 — Доставка флористом на транспорте\n- 23 — Доставка яндекс доставкой\n- 24 — Доставка флориста на велике\n- 26 — Доставка Gett доставкой\n- 32 — Доставка сбермаркетом\n- 33 — Доставка магнитом\n- 34 — Доставка цифровых товаров (сертификаты)\n"},"deliveryTimeType":{"nullable":false,"type":"integer","enum":[0,1,2],"description":"Тип времени доставки\n- 0 — Согласовать время с получателем\n- 1 — Ближайшее время\n- 2 — На период\n"},"deliveryDateFrom":{"type":"integer","nullable":false,"description":"Время доставки от"},"deliveryDateTo":{"type":"integer","nullable":false,"description":"Время доставки до"},"address":{"type":"string","nullable":false,"description":"Адрес доставки. Отделяется символом ';' от детальной информации об адресе"},"courierInfo":{"type":"string","nullable":false,"description":"Комментарий для курьера"},"shopAdditionalInfo":{"type":"string","nullable":false,"description":"Комментарий для магазина"},"comment":{"type":"string","nullable":true,"description":"Комментарий клиента"},"photoBeforeUrl":{"type":"string","nullable":true,"description":"Фото до доставки"},"photoAfterUrl":{"type":"string","nullable":true,"description":"Фото после доставки"},"message":{"type":"string","nullable":false,"description":"Текст открытки. Если есть, то в секции products будет элемент с данными открытки"},"products":{"type":"array","description":"Товары заказа","items":{"allOf":[{"$ref":"#/components/schemas/ProductShortDto"},{"type":"object","properties":{"count":{"type":"integer","description":"Количество товара в заказе"}},"required":["count"]}]}},"user":{"type":"object","nullable":true,"description":"Данные о покупателе","properties":{"name":{"type":"string","description":"Имя покупателя"},"phone":{"type":"string","description":"Телефон"}},"required":["name","phone"]},"recipient":{"type":"object","nullable":true,"description":"Данные о получателе","properties":{"name":{"type":"string","description":"Имя получателя"},"phone":{"type":"string","description":"Телефон"}},"required":["name","phone"]},"sourceHost":{"type":"string","nullable":true,"description":"Ресурс, на котором был создан заказ\n- fmart — заказ создан на сайте FMART\n"}}},"ProductShortDto":{"type":"object","description":"Краткая информация о товаре","additionalProperties":false,"required":["offerId","productId","isActive","type","categoryId","subCategoryId","name","description","url","available","stock","minOrder","price","discount","currencyCode","images","productionTime","shipmentTime","canRent","originalId","isDeliveryPost","isStarred","vat"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"type":{"$ref":"#/components/schemas/ProductType"},"categoryId":{"$ref":"#/components/schemas/RangeGroupId"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":500,"description":"Название товара"},"description":{"type":"string","nullable":true,"maxLength":20000,"description":"Подробное описание товара"},"url":{"type":"string","maxLength":20000,"description":"URL страницы товара на Flowwow со стороны покупателей"},"available":{"type":"integer","minimum":0,"description":"Доступность товара"},"stock":{"type":"integer","minimum":0,"description":"Количество товара на складе"},"minOrder":{"type":"integer","minimum":0,"description":"Минимальный заказ"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"currencyCode":{"$ref":"#/components/schemas/CurrencyCode"},"images":{"type":"array","description":"Ссылки на изображения","items":{"type":"string","format":"uri"}},"productionTime":{"type":"integer","minimum":0,"description":"Время производства товара в минутах"},"shipmentTime":{"type":"integer","minimum":0,"description":"Время доставки товара в минутах"},"canRent":{"type":"integer","enum":[0,1,2],"description":"* `0` — владелец запретил аренду \n* `1` — владелец разрешил аренду \n* `2` — Flowwow запретил аренду\n","default":0},"originalId":{"type":"integer","format":"int32","minimum":0,"default":0,"description":"ID товара оригинала. Если отличен от 0 - текущий товар - арендован"},"isDeliveryPost":{"type":"boolean","description":"Доставляется ли по почте","default":false},"isStarred":{"type":"boolean","description":"Со звездочкой ли товар. Активнее продвигается магазином","default":false},"vat":{"type":"string","default":"0","description":"Процентная ставка НДС у товара"}}},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isActive":{"type":"boolean","description":"Активен ли товар"},"ProductType":{"type":"integer","enum":[1,2,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `2` — готовый товар,\n* `3` — дополнительный товар.\n"},"RangeGroupId":{"type":"integer","description":"Идентификатор категории товаров","minimum":1},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"CurrencyCode":{"type":"string","description":"Код валюты магазина (ISO 4217).","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPD","XPF","XPT","YER","ZAR","ZMK","ZMW","ZWL"]},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/view":{"get":{"tags":["Orders"],"summary":"Просмотр заказа","operationId":"ordersView","description":"Просмотр заказа\n","parameters":[{"$ref":"#/components/parameters/ShopId"},{"$ref":"#/components/parameters/orderId"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/orderItem"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение статуса заказа на Принят

> Переводит заказ в статус «Принят».<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"orderId":{"type":"integer","format":"int32","description":"Идентификатор заказа"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/accept":{"post":{"tags":["Orders"],"summary":"Изменение статуса заказа на Принят","operationId":"ordersToAccept","description":"Переводит заказ в статус «Принят».\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orderId"],"properties":{"orderId":{"$ref":"#/components/schemas/orderId"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение статуса заказа на Отклонен

> Переводит заказ в статус «Отклонен».<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"orderId":{"type":"integer","format":"int32","description":"Идентификатор заказа"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/refuse":{"post":{"tags":["Orders"],"summary":"Изменение статуса заказа на Отклонен","operationId":"ordersToRefuse","description":"Переводит заказ в статус «Отклонен».\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orderId","reason"],"properties":{"orderId":{"$ref":"#/components/schemas/orderId"},"reason":{"type":"integer","description":"Причины отказа от заказа со стороны магазина.\n\nВозможные значения:\n\n1 — Нет товара в наличии  \n2 — Не успевает доставка  \n3 — Неправильный город  \n4 — Отказ клиента  \n5 — Отказ CRM-заказа  \n6 — Другая причина\n","enum":[1,2,3,4,5,6]},"reasonText":{"type":"string","maxLength":255,"description":"Текст причины отказа.\nОбязателен, если `reason = 6` (Другая причина).\n"},"commentClient":{"type":"string","maxLength":700,"description":"Комментарий клиенту.\n"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение статуса заказа на "Передан в доставку"

> Переводит заказ в статус «Передан в доставку».<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"orderId":{"type":"integer","format":"int32","description":"Идентификатор заказа"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/courierLeft":{"post":{"tags":["Orders"],"summary":"Изменение статуса заказа на \"Передан в доставку\"","operationId":"ordersToCourierLeft","description":"Переводит заказ в статус «Передан в доставку».\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orderId"],"properties":{"orderId":{"$ref":"#/components/schemas/orderId"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение статуса заказа на "Заказ собран" (Почтовый статус)

> Переводит заказ в статус «Заказ собран» (Почтовый статус).<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"orderId":{"type":"integer","format":"int32","description":"Идентификатор заказа"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/pack":{"post":{"tags":["Orders"],"summary":"Изменение статуса заказа на \"Заказ собран\" (Почтовый статус)","operationId":"ordersToPack","description":"Переводит заказ в статус «Заказ собран» (Почтовый статус).\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orderId"],"properties":{"orderId":{"$ref":"#/components/schemas/orderId"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Изменение статуса заказа на "Выполнен"

> Переводит заказ в статус «Выполнен».<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"orderId":{"type":"integer","format":"int32","description":"Идентификатор заказа"},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/finish":{"post":{"tags":["Orders"],"summary":"Изменение статуса заказа на \"Выполнен\"","operationId":"ordersToFinish","description":"Переводит заказ в статус «Выполнен».\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orderId"],"properties":{"orderId":{"$ref":"#/components/schemas/orderId"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Загрузка фотографии до и после доставки

> Загрузка фотографии до и после доставки<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Orders","description":"Действия с заказами"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"orderId":{"type":"integer","format":"int32","description":"Идентификатор заказа"},"orderItem":{"type":"object","properties":{"id":{"type":"integer","nullable":false,"description":"ID заказа в системе Flowwow"},"shopId":{"type":"integer","nullable":false,"description":"ID магазина"},"createdDate":{"type":"integer","nullable":false,"description":"Время создания заказа"},"status":{"type":"integer","nullable":false,"enum":[1,2,3,4,5,7,10,11,12],"description":"Статус заказа\n- 1 — Новый\n- 2 — Принят\n- 3 — Завершен\n- 4 — Передан в доставку\n- 5 — Фото до доставки\n- 7 — Заказ ожидает, когда его заберет клиент из магазина\n- 10 — Почтовый статус. Заказ собран\n- 11 — Почтовый статус. Заказ доставляется почтой\n- 12 — Почтовый статус. Заказ ждет, когда его заберут из почтового офиса\n"},"deliveryType":{"nullable":false,"type":"integer","enum":[0,1,2,4,5,10,11,12,20,21,22,23,24,26,32,33,34],"description":"Тип доставки\n- 0 — Курьер отсутствует / Способ доставки не выбран\n- 1 — Доставка курьером продавца\n- 2 — Собственная доставка продавца\n- 4 — Самовывоз\n- 5 — Доставка flowwow\n- 10 — Доставка курьером пешком\n- 11 — Доставка курьером на автомобиле\n- 12 — Доставка курьером на транспорте\n- 20 — Доставка флористом пешком\n- 21 — Доставка флористом на авто\n- 22 — Доставка флористом на транспорте\n- 23 — Доставка яндекс доставкой\n- 24 — Доставка флориста на велике\n- 26 — Доставка Gett доставкой\n- 32 — Доставка сбермаркетом\n- 33 — Доставка магнитом\n- 34 — Доставка цифровых товаров (сертификаты)\n"},"deliveryTimeType":{"nullable":false,"type":"integer","enum":[0,1,2],"description":"Тип времени доставки\n- 0 — Согласовать время с получателем\n- 1 — Ближайшее время\n- 2 — На период\n"},"deliveryDateFrom":{"type":"integer","nullable":false,"description":"Время доставки от"},"deliveryDateTo":{"type":"integer","nullable":false,"description":"Время доставки до"},"address":{"type":"string","nullable":false,"description":"Адрес доставки. Отделяется символом ';' от детальной информации об адресе"},"courierInfo":{"type":"string","nullable":false,"description":"Комментарий для курьера"},"shopAdditionalInfo":{"type":"string","nullable":false,"description":"Комментарий для магазина"},"comment":{"type":"string","nullable":true,"description":"Комментарий клиента"},"photoBeforeUrl":{"type":"string","nullable":true,"description":"Фото до доставки"},"photoAfterUrl":{"type":"string","nullable":true,"description":"Фото после доставки"},"message":{"type":"string","nullable":false,"description":"Текст открытки. Если есть, то в секции products будет элемент с данными открытки"},"products":{"type":"array","description":"Товары заказа","items":{"allOf":[{"$ref":"#/components/schemas/ProductShortDto"},{"type":"object","properties":{"count":{"type":"integer","description":"Количество товара в заказе"}},"required":["count"]}]}},"user":{"type":"object","nullable":true,"description":"Данные о покупателе","properties":{"name":{"type":"string","description":"Имя покупателя"},"phone":{"type":"string","description":"Телефон"}},"required":["name","phone"]},"recipient":{"type":"object","nullable":true,"description":"Данные о получателе","properties":{"name":{"type":"string","description":"Имя получателя"},"phone":{"type":"string","description":"Телефон"}},"required":["name","phone"]},"sourceHost":{"type":"string","nullable":true,"description":"Ресурс, на котором был создан заказ\n- fmart — заказ создан на сайте FMART\n"}}},"ProductShortDto":{"type":"object","description":"Краткая информация о товаре","additionalProperties":false,"required":["offerId","productId","isActive","type","categoryId","subCategoryId","name","description","url","available","stock","minOrder","price","discount","currencyCode","images","productionTime","shipmentTime","canRent","originalId","isDeliveryPost","isStarred","vat"],"properties":{"offerId":{"$ref":"#/components/schemas/OfferId"},"productId":{"$ref":"#/components/schemas/ProductId"},"isActive":{"$ref":"#/components/schemas/isActive"},"type":{"$ref":"#/components/schemas/ProductType"},"categoryId":{"$ref":"#/components/schemas/RangeGroupId"},"subCategoryId":{"$ref":"#/components/schemas/RangeTypeId"},"name":{"type":"string","maxLength":500,"description":"Название товара"},"description":{"type":"string","nullable":true,"maxLength":20000,"description":"Подробное описание товара"},"url":{"type":"string","maxLength":20000,"description":"URL страницы товара на Flowwow со стороны покупателей"},"available":{"type":"integer","minimum":0,"description":"Доступность товара"},"stock":{"type":"integer","minimum":0,"description":"Количество товара на складе"},"minOrder":{"type":"integer","minimum":0,"description":"Минимальный заказ"},"price":{"$ref":"#/components/schemas/PriceString"},"discount":{"$ref":"#/components/schemas/DiscountString"},"currencyCode":{"$ref":"#/components/schemas/CurrencyCode"},"images":{"type":"array","description":"Ссылки на изображения","items":{"type":"string","format":"uri"}},"productionTime":{"type":"integer","minimum":0,"description":"Время производства товара в минутах"},"shipmentTime":{"type":"integer","minimum":0,"description":"Время доставки товара в минутах"},"canRent":{"type":"integer","enum":[0,1,2],"description":"* `0` — владелец запретил аренду \n* `1` — владелец разрешил аренду \n* `2` — Flowwow запретил аренду\n","default":0},"originalId":{"type":"integer","format":"int32","minimum":0,"default":0,"description":"ID товара оригинала. Если отличен от 0 - текущий товар - арендован"},"isDeliveryPost":{"type":"boolean","description":"Доставляется ли по почте","default":false},"isStarred":{"type":"boolean","description":"Со звездочкой ли товар. Активнее продвигается магазином","default":false},"vat":{"type":"string","default":"0","description":"Процентная ставка НДС у товара"}}},"OfferId":{"type":"string","maxLength":50,"nullable":true,"description":"Идентификатор товара в системе продавца."},"ProductId":{"type":"integer","format":"int32","minimum":1,"nullable":true,"description":"Идентификатор товара в системе Flowwow"},"isActive":{"type":"boolean","description":"Активен ли товар"},"ProductType":{"type":"integer","enum":[1,2,3],"description":"Тип товара: \n* `1` — обычный товар, \n* `2` — готовый товар,\n* `3` — дополнительный товар.\n"},"RangeGroupId":{"type":"integer","description":"Идентификатор категории товаров","minimum":1},"RangeTypeId":{"type":"integer","description":"Идентификатор подкатегории товаров","minimum":1},"PriceString":{"type":"string","description":"Цена без учета скидок, дробная часть через точку.","pattern":"^[0-9]+(\\.[0-9]{1,2})?$"},"DiscountString":{"type":"string","description":"Процент скидки к цене. Целое число.","pattern":"^[0-9]+$"},"CurrencyCode":{"type":"string","description":"Код валюты магазина (ISO 4217).","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTC","BTN","BWP","BYN","BYR","BZD","CAD","CDF","CHF","CLF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EEK","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GGP","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","IMP","INR","IQD","IRR","ISK","JEP","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LVL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRO","MTL","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLL","SOS","SRD","STD","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UZS","VEF","VND","VUV","WST","XAF","XAG","XAU","XCD","XDR","XOF","XPD","XPF","XPT","YER","ZAR","ZMK","ZMW","ZWL"]},"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/apiseller/orders/uploadPhoto":{"post":{"tags":["Orders"],"summary":"Загрузка фотографии до и после доставки","operationId":"uploadPhoto","description":"Загрузка фотографии до и после доставки\n","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["orderId","shopId","type","photo"],"properties":{"orderId":{"$ref":"#/components/schemas/orderId"},"shopId":{"type":"integer","description":"ID магазина"},"type":{"type":"integer","enum":[0,1],"description":"Тип фотографии (0 - до доставки, 1 - после доставки)","default":0},"photo":{"type":"string","format":"binary","description":"Фотография в формате JPEG или PNG"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/orderItem"}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"404":{"$ref":"#/components/responses/404"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```

## Webhook

*Управление и тестирование веб-хуков.*

Мы будем присылать вам HTTP POST-запросы в формате JSON. Вот пример тела запроса:

```json
{
"uuid": "558e8b80-e29b-41dc-a716-44655448888",
"event": "order.paid",
"order": {"id": 98765
}
}
```

**Поля**:

• <mark style="color:red;">uuid</mark> — уникальный ID этой доставки. При повторных попытках UUID не меняется.\
• <mark style="color:red;">event</mark> — тип события (например, смена статуса заказа).\
• [<mark style="color:red;">order.id</mark>](http://order.id/) — ID заказа в нашей системе.\
\
**Каждый запрос будет содержать следующие заголовки**:

• <mark style="color:$info;">**Content-Type: application/json**</mark> — всегда.\
• <mark style="color:$info;">**X-Webhook-Signature: sha256=**</mark> — только если вы предоставили секретный ключ.

Чтобы проверить подлинность запроса, вычислите `HMAC-SHA256` от тела запроса, используя ваш секретный ключ, и сравните с тем, что пришло в `X-Webhook-Signature`. Если значения совпадают — запрос настоящий.

{% hint style="warning" %}
Важный момент по обработке вебхуков:\
\
Наша система гарантирует доставку, но не гарантирует однократность. Если ваш сервер не ответил успешно, мы повторим попытку — каждые 5 минут, до 28 раз.\
\
При этом поле <mark style="color:red;">uuid</mark> в запросе остаётся неизменным.

Пожалуйста, реализуйте на вашей стороне защиту от дублей: сохраняйте полученные <mark style="color:red;">uuid</mark> и при повторном получении того же <mark style="color:red;">uuid</mark> просто игнорируйте запрос (не обрабатывайте его повторно).
{% endhint %}

Вот полный список значений поля <mark style="color:red;">event</mark>, которые могут приходить в вебхуках:

• <mark style="color:green;">order.paid</mark> — новый заказ. Приходит когда покупатель успешно оплатил заказ. Такой заказ необходимо принять

• <mark style="color:green;">order.cancelled</mark> — заказ отменён. Приходит когда заказ отменён покупателем или системой.

• <mark style="color:green;">order.finished</mark> — заказ завершён. Приходит когда заказ успешно доставлен и закрыт.

• <mark style="color:green;">test</mark> — тестовое событие. Отправляется вручную при проверке подключения.

## Проверка работы веб-хука

> Отправляет тестовый запрос на настроенный URL веб-хука холдинга.\
> \
> В теле запроса на адрес веб-хука будет передано событие \`test\`.\
> Метод всегда возвращает HTTP 200; результат отправки (код ответа\
> и текст ошибки при неудаче) содержится в теле ответа.<br>

```json
{"openapi":"3.0.0","info":{"title":"Открытое Api для продавцов","version":"0.0.1"},"tags":[{"name":"Webhook","description":"Управление и тестирование веб-хуков"}],"servers":[{"description":"live","url":"https://apis.flowwow.com"}],"security":[{"bearerToken":[]}],"components":{"securitySchemes":{"bearerToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"429":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Через сколько секунд повторить запрос","schema":{"type":"integer","minimum":0}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"error":{"properties":{"message":{"type":"string","description":"Общее описание ошибки"},"fields":{"type":"array","description":"Массив с дополнительными ошибками валидации полей","title":"fields","items":{"properties":{"path":{"type":"string","description":"Поле ошибки"},"messages":{"type":"array","description":"Массив с ошибками","items":{"type":"string"}}}}},"trace":{"type":"object","nullable":true,"description":"Трассировка ошибки (недоступна для LIVE)"}},"required":["message"]}}},"paths":{"/apiseller/webhook/test":{"post":{"tags":["Webhook"],"summary":"Проверка работы веб-хука","operationId":"webhookTest","description":"Отправляет тестовый запрос на настроенный URL веб-хука холдинга.\n\nВ теле запроса на адрес веб-хука будет передано событие `test`.\nМетод всегда возвращает HTTP 200; результат отправки (код ответа\nи текст ошибки при неудаче) содержится в теле ответа.\n","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","required":["message","httpCode"],"properties":{"message":{"type":"string","description":"Текст ошибки при неудачной отправке; пустая строка при успехе"},"httpCode":{"type":"integer","description":"HTTP-статус ответа веб-хука; 0 если соединение не установлено"}}}}}},"400":{"$ref":"#/components/responses/400"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"429":{"$ref":"#/components/responses/429"},"500":{"$ref":"#/components/responses/500"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://seller-docs.flowwow.com/4.-instrumenty-prodavca/4.1.-integracii-i-api/dokumentaciya-i-podderzhka-po-api/otkrytoe-api-dlya-prodavcov-0.0.1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
