// Code generated by ogen, DO NOT EDIT.
package api
import (
	"context"
)
// Handler handles operations described by OpenAPI v3 specification.
type Handler interface {
	// APIV2BufferGoodsTaskGet implements GET /api/v2/buffer/goods/task operation.
	//
	// Метод предоставляет информацию о товарах и ошибках в
	// товарах из загрузки в обработке.
	// 
	// Необработанная загрузка — это загрузка скидок для 
календаря акций. Такие
	// скидки применятся к товарам только в момент начала
	// акции.
	// 
 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/buffer/goods/task
	APIV2BufferGoodsTaskGet(ctx context.Context, params APIV2BufferGoodsTaskGetParams) (APIV2BufferGoodsTaskGetRes, error)
	// APIV2BufferTasksGet implements GET /api/v2/buffer/tasks operation.
	//
	// Метод предоставляет информацию про загрузку скидок в
	// обработке.
	// 
	// Необработанная загрузка — это загрузка скидок для 
календаря акций. Такие
	// скидки применятся к товарам только в момент начала
	// акции.
	// 
 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/buffer/tasks
	APIV2BufferTasksGet(ctx context.Context, params APIV2BufferTasksGetParams) (APIV2BufferTasksGetRes, error)
	// APIV2HistoryGoodsTaskGet implements GET /api/v2/history/goods/task operation.
	//
	// Метод предоставляет информацию о товарах и об
	// ошибках в товарах в обработанной загрузке.
	// 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/history/goods/task
	APIV2HistoryGoodsTaskGet(ctx context.Context, params APIV2HistoryGoodsTaskGetParams) (APIV2HistoryGoodsTaskGetRes, error)
	// APIV2HistoryTasksGet implements GET /api/v2/history/tasks operation.
	//
	// Метод предоставляет информацию об обработанной
	// загрузке цен и скидок.
	// 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/history/tasks
	APIV2HistoryTasksGet(ctx context.Context, params APIV2HistoryTasksGetParams) (APIV2HistoryTasksGetRes, error)
	// APIV2ListGoodsFilterGet implements GET /api/v2/list/goods/filter operation.
	//
	// Метод предоставляет информацию о товарах по их
	// артикулам: цены, валюту, общие скидки и скидки для [WB
	// Клуба](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
	// 
	// Чтобы получить информацию обо всех товарах продавца,
	// оставьте артикул пустым, установите `limit=1000`, в
	// параметре `offset` установите смещение по количеству
	// записей. Количество нужно рассчитать по формуле: `offset`
	// плюс `limit` из предыдущего запроса. Повторяйте запрос,
	// пока вы не получите ответ с пустым массивом.
 Чтобы
	// получить информацию о размерах товара, используйте
	// [отдельный
	// метод](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get).
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/list/goods/filter
	APIV2ListGoodsFilterGet(ctx context.Context, params APIV2ListGoodsFilterGetParams) (APIV2ListGoodsFilterGetRes, error)
	// APIV2ListGoodsSizeNmGet implements GET /api/v2/list/goods/size/nm operation.
	//
	// Метод предоставляет информацию обо всех размерах
	// одного товарам: цены, валюту, общие скидки и скидки
	// для [WB
	// Клуба](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1club-discount/post).
	// 
	// Работает только для товаров из категорий, где можно
	// устанавливать цены отдельно для разных размеров. Для
	// таких товаров `editableSizePrice: true`.
	// 
	// Чтобы получить информацию о самом товаре,
	// используйте [отдельный
	// метод](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1filter/get).
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/list/goods/size/nm
	APIV2ListGoodsSizeNmGet(ctx context.Context, params APIV2ListGoodsSizeNmGetParams) (APIV2ListGoodsSizeNmGetRes, error)
	// APIV2QuarantineGoodsGet implements GET /api/v2/quarantine/goods operation.
	//
	// Метод предоставляет информацию о товарах в карантине.
	// 
	// Если новая цена товара со скидкой будет минимум в 3
	// раза меньше старой, товар попадёт [в
	// карантин](https://seller.wildberries.ru/discount-and-prices/quarantine) и будет
	// продаваться по старой цене. Ошибка об этом будет в
	// ответах методов [состояний
	// загрузок](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1history~1tasks/get).
	// 
	// Вы можете изменить цену или скидку с помощью API либо
	// вывести товар из карантина [в личном
	// кабинете](https://seller.wildberries.ru/discount-and-prices/quarantine).
	// 
	// Для товаров с [поразмерной установкой
	// цен](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post)
	// карантин не применяется.
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// GET /api/v2/quarantine/goods
	APIV2QuarantineGoodsGet(ctx context.Context, params APIV2QuarantineGoodsGetParams) (APIV2QuarantineGoodsGetRes, error)
	// APIV2UploadTaskClubDiscountPost implements POST /api/v2/upload/task/club-discount operation.
	//
	// Устанавливает скидки для товаров в рамках подписки [WB
	// Клуб](https://seller.wildberries.ru/help-center/article/A-337).
	// 
	// Получить информацию о процессе установки цен и
	// скидок можно с помощью методов 
состояния и 
детализации обработанной загрузки.
	// 
 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// POST /api/v2/upload/task/club-discount
	APIV2UploadTaskClubDiscountPost(ctx context.Context, req *APIV2UploadTaskClubDiscountPostReq) (APIV2UploadTaskClubDiscountPostRes, error)
	// APIV2UploadTaskPost implements POST /api/v2/upload/task operation.
	//
	// Метод устанавливает цены и скидки для товаров.
	// 
	// Чтобы установить цены и скидки для размеров товара,
	// используйте [отдельный
	// метод](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task~1size/post).
	// 
	// Получить информацию о процессе установки цен и
	// скидок можно с помощью методов 
состояния и 
детализации обработанной загрузки.
	// 
 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// POST /api/v2/upload/task
	APIV2UploadTaskPost(ctx context.Context, req *APIV2UploadTaskPostReq) (APIV2UploadTaskPostRes, error)
	// APIV2UploadTaskSizePost implements POST /api/v2/upload/task/size operation.
	//
	// Метод устанавливает цены отдельно для размеров
	// товаров.
	// Работает только для товаров из категорий, где можно
	// устанавливать цены отдельно для разных размеров. Для
	// [таких
	// товаров](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1list~1goods~1size~1nm/get) `editableSizePrice: true`.
	// Чтобы установить цены и скидки для самих товаров,
	// используйте [отдельный
	// метод](/openapi/work-with-products#tag/Ceny-i-skidki/paths/~1api~1v2~1upload~1task/post).
	// 
	// Получить информацию о процессе установки цен и
	// скидок можно с помощью методов 
состояния и 
детализации обработанной загрузки.
	// 
 
	// 
	// Максимум 10 запросов за 6 
секунд для всех
	// методов категории 
Цены и скидки
	// на один аккаунт продавца
	// 
 .
	//
	// POST /api/v2/upload/task/size
	APIV2UploadTaskSizePost(ctx context.Context, req *APIV2UploadTaskSizePostReq) (APIV2UploadTaskSizePostRes, error)
	// APIV3OfficesGet implements GET /api/v3/offices operation.
	//
	// Метод предоставляет список всех складов WB для
	// привязки к складам продавца. Предназначен для
	// определения складов WB, чтобы сдавать готовые заказы
	// по схеме [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// GET /api/v3/offices
	APIV3OfficesGet(ctx context.Context) (APIV3OfficesGetRes, error)
	// APIV3StocksWarehouseIdDelete implements DELETE /api/v3/stocks/{warehouseId} operation.
	//
	// Метод удаляет запись об остатках товаров продавца из
	// [списка
	// остатков](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
	// 
	// Действие необратимо. Удаленный остаток
	// будет необходимо загрузить повторно для
	// возобновления продаж.
	// 
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// DELETE /api/v3/stocks/{warehouseId}
	APIV3StocksWarehouseIdDelete(ctx context.Context, req *APIV3StocksWarehouseIdDeleteReq, params APIV3StocksWarehouseIdDeleteParams) (APIV3StocksWarehouseIdDeleteRes, error)
	// APIV3StocksWarehouseIdPost implements POST /api/v3/stocks/{warehouseId} operation.
	//
	// Метод предоставляет данные об остатках товаров на
	// [складах продавца](/openapi/work-with-products#tag/Sklady-prodavca).
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// POST /api/v3/stocks/{warehouseId}
	APIV3StocksWarehouseIdPost(ctx context.Context, req *APIV3StocksWarehouseIdPostReq, params APIV3StocksWarehouseIdPostParams) (APIV3StocksWarehouseIdPostRes, error)
	// APIV3StocksWarehouseIdPut implements PUT /api/v3/stocks/{warehouseId} operation.
	//
	// Метод обновляет количество остатков товаров
	// продавца [в
	// списке](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
	// 
	// Названия параметров запроса не валидируются. При
	// отправке некорректных названий вы получите успешный
	// ответ (204), но остатки не обновятся.
	// 
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// PUT /api/v3/stocks/{warehouseId}
	APIV3StocksWarehouseIdPut(ctx context.Context, req OptAPIV3StocksWarehouseIdPutReq, params APIV3StocksWarehouseIdPutParams) (APIV3StocksWarehouseIdPutRes, error)
	// APIV3WarehousesGet implements GET /api/v3/warehouses operation.
	//
	// Метод предоставляет список всех складов продавца.
	// Может использоваться для получения [остатков
	// товаров](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post).
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// GET /api/v3/warehouses
	APIV3WarehousesGet(ctx context.Context) (APIV3WarehousesGetRes, error)
	// APIV3WarehousesPost implements POST /api/v3/warehouses operation.
	//
	// Метод создаёт склад продавца для работы с [остатками
	// товаров](/openapi/work-with-products#tag/Ostatki-na-skladah-prodavca/paths/~1api~1v3~1stocks~1%7BwarehouseId%7D/post). Нужно привязать к складу продавца [склад WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) для работы по схеме [FBS](/openapi/orders-fbs#tag/Zakazy-FBS) (Fulfillment by Seller).
	// 
	// Нельзя привязывать склад WB, который уже используется
	// 
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// POST /api/v3/warehouses
	APIV3WarehousesPost(ctx context.Context, req *APIV3WarehousesPostReq) (APIV3WarehousesPostRes, error)
	// APIV3WarehousesWarehouseIdDelete implements DELETE /api/v3/warehouses/{warehouseId} operation.
	//
	// Метод удаляет склад продавца из [списка
	// складов](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// DELETE /api/v3/warehouses/{warehouseId}
	APIV3WarehousesWarehouseIdDelete(ctx context.Context, params APIV3WarehousesWarehouseIdDeleteParams) (APIV3WarehousesWarehouseIdDeleteRes, error)
	// APIV3WarehousesWarehouseIdPut implements PUT /api/v3/warehouses/{warehouseId} operation.
	//
	// Метод обновляет данные склада продавца в [списке
	// складов](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1warehouses/get).
	// Данные о привязанном [складе
	// WB](/openapi/work-with-products#tag/Sklady-prodavca/paths/~1api~1v3~1offices/get) можно
	// изменить один раз в сутки.
	// 
	// Нельзя привязывать склад WB, который уже используется
	// 
	// 
	// Максимум 300 запросов в 
минуту для всех
	// методов категории 
Маркетплейс на
	// один аккаунт продавца.
	// 
	// Один запрос с кодом ответа 
409 учитывается как 5
	// запросов
	// 
 .
	//
	// PUT /api/v3/warehouses/{warehouseId}
	APIV3WarehousesWarehouseIdPut(ctx context.Context, req *APIV3WarehousesWarehouseIdPutReq, params APIV3WarehousesWarehouseIdPutParams) (APIV3WarehousesWarehouseIdPutRes, error)
	// ContentV2BarcodesPost implements POST /content/v2/barcodes operation.
	//
	// Метод генерирует массив уникальных баркодов для
	// создания размера в [карточке
	// товара](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post). Можно использовать, если у вас нет собственных баркодов.
	// .
	//
	// POST /content/v2/barcodes
	ContentV2BarcodesPost(ctx context.Context, req *ContentV2BarcodesPostReq) (ContentV2BarcodesPostRes, error)
	// ContentV2CardsDeleteTrashPost implements POST /content/v2/cards/delete/trash operation.
	//
	// Метод переносит [карточки товаров в
	// корзину](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post). При этом карточки товаров не удаляются, их можно [восстановить](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1recover/post).
	// 
	// После переноса в корзину карточке товара
	// присваивается новый imtID.
	// 
	// Карточки товаров удаляются автоматически, если лежат
	// в корзине больше 30 дней. Очистка корзины происходит
	// каждую ночь по московскому времени.
	// Карточки товаров можно удалить в любое время в
	// [личном кабинете](https://seller.wildberries.ru/new-goods/basket-cards).
	// .
	//
	// POST /content/v2/cards/delete/trash
	ContentV2CardsDeleteTrashPost(ctx context.Context, req *ContentV2CardsDeleteTrashPostReq) (ContentV2CardsDeleteTrashPostRes, error)
	// ContentV2CardsErrorListGet implements GET /content/v2/cards/error/list operation.
	//
	// Метод предоставляет список карточек товаров, при
	// создании или редактировании которых произошли
	// ошибки, с описанием этих ошибок.
	// 
	// Чтобы убрать карточку товара из списка, нужно
	// повторно сделать запрос на 
создание или редактирование карточки товара с исправленными ошибками.
	// 
 
	// .
	//
	// GET /content/v2/cards/error/list
	ContentV2CardsErrorListGet(ctx context.Context, params ContentV2CardsErrorListGetParams) (ContentV2CardsErrorListGetRes, error)
	// ContentV2CardsLimitsGet implements GET /content/v2/cards/limits operation.
	//
	// Возвращает бесплатные и платные лимиты продавца на
	// [создание карточек
	// товаров](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov/paths/~1content~1v2~1cards~1upload/post).
	// Формула для получения количества карточек, которые
	// можно создать:
	// > (`freeLimits` + `paidLimits`) - количество созданных карточек
	// Созданными считаются карточки, которые можно
	// получить через методы [список карточек
	// товаров](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) и [список карточек товаров в корзине](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
	// .
	//
	// GET /content/v2/cards/limits
	ContentV2CardsLimitsGet(ctx context.Context) (ContentV2CardsLimitsGetRes, error)
	// ContentV2CardsRecoverPost implements POST /content/v2/cards/recover operation.
	//
	// Метод восстанавливает [карточки товаров из
	// корзины](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
	// 
	// .
	//
	// POST /content/v2/cards/recover
	ContentV2CardsRecoverPost(ctx context.Context, req *ContentV2CardsRecoverPostReq) (ContentV2CardsRecoverPostRes, error)
	// ContentV2CardsUpdatePost implements POST /content/v2/cards/update operation.
	//
	// Метод обновляет карточки товаров. Данные для
	// обновления можно получить через [список карточек
	// товаров](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1list/post) и [список карточек товаров в корзине](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1get~1cards~1trash/post).
	// 
	// Карточка товара перезаписывается при обновлении.
	// Поэтому в запросе нужно передать все
	// параметры карточки, в том числе те, которые вы не
	// собираетесь обновлять.
	// 
	// Нельзя редактировать или удалять баркоды, но можно
	// добавить дополнительный баркод к карточке товара.
	// Параметры `photos`, `video` и `tags` редактировать или удалять
	// через данный метод нельзя.
	// Габариты товаров можно указать только в `сантиметрах`,
	//  вес товара с упаковкой — в `килограммах`.
	// 
	// В одном запросе можно отредактировать максимум 3000
	// карточек товаров (`nmID`). Максимальный размер запроса 10
	// Мб.
	// Если ответ `Успешно` (`200`), но какие-то карточки не
	// обновились, получите [список несозданных карточек
	// товаров](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
	// 
	// Максимум 100 запросов в 
минуту для всех
	// методов категории 
Контент на один
	// аккаунт продавца. С 5 июня для метода будет отдельный
	// лимит — 10 запросов в минуту на один аккаунт продавца
	// 
 .
	//
	// POST /content/v2/cards/update
	ContentV2CardsUpdatePost(ctx context.Context, req []ContentV2CardsUpdatePostReqItem) (ContentV2CardsUpdatePostRes, error)
	// ContentV2CardsUploadAddPost implements POST /content/v2/cards/upload/add operation.
	//
	// Метод создаёт новые карточки товаров, присоединяя их
	// к существующим карточкам.
	// Габариты товаров можно указать только в `сантиметрах`,
	//  вес товара с упаковкой — в `килограммах`.
	// 
	// Создание карточки товара происходит асинхронно.
	// После отправки запрос становится в очередь на
	// обработку.
Максимальный размер запроса 10 Мб.
	// Если ответ `Успешно` (`200`), но какие-то карточки не
	// обновились, получите [список несозданных карточек
	// товаров](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
	// 
	// Максимум 100 запросов в 
минуту для всех
	// методов категории 
Контент на один
	// аккаунт продавца. С 5 июня для метода будет отдельный
	// лимит — 10 запросов в минуту на один аккаунт продавца
	// 
 .
	//
	// POST /content/v2/cards/upload/add
	ContentV2CardsUploadAddPost(ctx context.Context, req OptContentV2CardsUploadAddPostReq) (ContentV2CardsUploadAddPostRes, error)
	// ContentV2CardsUploadPost implements POST /content/v2/cards/upload operation.
	//
	// Метод создаёт карточки товаров c указанием описаний и
	// характеристик товаров.
	// 
	// Есть две формы запроса: для создания отдельных и
	// объединённых карточек товаров.
	// 
	// Габариты товаров можно указать только в `сантиметрах`,
	//  вес товара с упаковкой — в `килограммах`.
	// 
	// Создание карточки товара происходит асинхронно.
	// После отправки запрос становится в очередь на
	// обработку.
	// В одном запросе можно создать максимум 100
	// объединённых карточек товаров (`imtID`), по 30 карточек
	// товаров в каждой. Максимальный размер запроса 10 Мб.
	// Если ответ `Успешно` (`200`), но какие-то карточки не
	// обновились, получите [список несозданных карточек
	// товаров](/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1error~1list/get).
	// 
	// Максимум 100 запросов в 
минуту для всех
	// методов категории 
Контент на один
	// аккаунт продавца. С 5 июня для метода будет отдельный
	// лимит — 10 запросов в минуту на один аккаунт продавца
	// 
 .
	//
	// POST /content/v2/cards/upload
	ContentV2CardsUploadPost(ctx context.Context, req []ContentV2CardsUploadPostReqItem) (ContentV2CardsUploadPostRes, error)
	// ContentV2DirectoryColorsGet implements GET /content/v2/directory/colors operation.
	//
	// Метод предоставляет возможные значения
	// [характеристики](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) предмета `Цвет`.
	// .
	//
	// GET /content/v2/directory/colors
	ContentV2DirectoryColorsGet(ctx context.Context, params ContentV2DirectoryColorsGetParams) (ContentV2DirectoryColorsGetRes, error)
	// ContentV2DirectoryCountriesGet implements GET /content/v2/directory/countries operation.
	//
	// Метод предоставляет возможные значения
	// [характеристики](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) предмета `Страна производства`.
	// .
	//
	// GET /content/v2/directory/countries
	ContentV2DirectoryCountriesGet(ctx context.Context, params ContentV2DirectoryCountriesGetParams) (ContentV2DirectoryCountriesGetRes, error)
	// ContentV2DirectoryKindsGet implements GET /content/v2/directory/kinds operation.
	//
	// Метод предоставляет возможные значения
	// [характеристики](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) предмета `Пол`.
	// .
	//
	// GET /content/v2/directory/kinds
	ContentV2DirectoryKindsGet(ctx context.Context, params ContentV2DirectoryKindsGetParams) (ContentV2DirectoryKindsGetRes, error)
	// ContentV2DirectorySeasonsGet implements GET /content/v2/directory/seasons operation.
	//
	// Метод предоставляет возможные значения
	// [характеристики](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) предмета `Сезон`.
	// .
	//
	// GET /content/v2/directory/seasons
	ContentV2DirectorySeasonsGet(ctx context.Context, params ContentV2DirectorySeasonsGetParams) (ContentV2DirectorySeasonsGetRes, error)
	// ContentV2DirectoryTnvedGet implements GET /content/v2/directory/tnved operation.
	//
	// Метод предоставляет список ТНВЭД-кодов по ID
	// [предмета](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get) и фрагменту ТНВЭД-кода.
	// .
	//
	// GET /content/v2/directory/tnved
	ContentV2DirectoryTnvedGet(ctx context.Context, params ContentV2DirectoryTnvedGetParams) (ContentV2DirectoryTnvedGetRes, error)
	// ContentV2DirectoryVatGet implements GET /content/v2/directory/vat operation.
	//
	// Метод предоставляет возможные значения
	// [характеристики](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1charcs~1%7BsubjectId%7D/get) предмета `Ставка НДС`.
	// .
	//
	// GET /content/v2/directory/vat
	ContentV2DirectoryVatGet(ctx context.Context, params ContentV2DirectoryVatGetParams) (ContentV2DirectoryVatGetRes, error)
	// ContentV2GetCardsListPost implements POST /content/v2/get/cards/list operation.
	//
	// 
	// Метод доступен по 
токену с
	// категорией 
Контент или 
Продвижение
	// 
 
	// Метод предоставляет список созданных карточек
	// товаров.
	// 
	// В ответе метода не будет карточек, находящихся в
	// корзине. Получить такие карточки можно через 
отдельный метод.
	// 
 
	// Чтобы получить **больше 100** карточек товаров,
	// воспользуйтесь пагинацией:
	// 
	// - Сделайте первый запрос: 
	// 
	// {
	// "settings": {
	// "cursor": {
	// "limit": 100
	// },
	// "filter": {
	// "withPhoto": -1
	// }
	// }
	// }
	//  
	// - Пройдите в конец полученного списка карточек
	// товаров.
 
	// - Скопируйте из 
cursor две строки:
	// 
	// "updatedAt": "***" 
	// "nmID": *** 
	// 
 
	// - Вставьте скопированные строки в параметр запроса
	// 
cursor. 
	// - Повторите запрос. 
 
	// - Повторяйте пункты со 2 по 5, пока поле
	// 
total в ответе не станет меньше чем параметр
	// limit в запросе. Это будет означать, что вы
	// получили все карточки.
	//  
	// .
	//
	// POST /content/v2/get/cards/list
	ContentV2GetCardsListPost(ctx context.Context, req *ContentV2GetCardsListPostReq, params ContentV2GetCardsListPostParams) (ContentV2GetCardsListPostRes, error)
	// ContentV2GetCardsTrashPost implements POST /content/v2/get/cards/trash operation.
	//
	// 
	// Метод доступен по 
токену с
	// категорией 
Контент или 
Продвижение
	// 
 
	// Метод предоставляет список карточек товаров в
	// корзине.
	// Чтобы получить **больше 100** карточек товаров,
	// воспользуйтесь пагинацией:
	// 
	// - Сделайте первый запрос: 
	// 
	// {
	// "settings": {
	// "cursor": {
	// "limit": 100
	// },
	// "filter": {
	// "withPhoto": -1
	// }
	// }
	// }
	//  
	// - Пройдите в конец полученного списка карточек
	// товаров.
 
	// - Скопируйте из 
cursor две строки:
	// 
	// "trashedAt": "***" 
	// "nmID": *** 
	// 
 
	// - Вставьте скопированные строки в параметр запроса
	// 
cursor. 
	// - Повторите запрос. 
 
	// - Повторяйте пункты со 2 по 5, пока поле
	// 
total в ответе не станет меньше чем параметр
	// limit в запросе. Это будет означать, что вы
	// получили все карточки.
	//  
	// .
	//
	// POST /content/v2/get/cards/trash
	ContentV2GetCardsTrashPost(ctx context.Context, req *ContentV2GetCardsTrashPostReq, params ContentV2GetCardsTrashPostParams) (ContentV2GetCardsTrashPostRes, error)
	// ContentV2ObjectAllGet implements GET /content/v2/object/all operation.
	//
	// Метод предоставляет список названий [родительских
	// категорий
	// предметов](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1parent~1all/get) и их предметов с ID. Например, у категории `Игрушки` будут предметы `Калейдоскопы`, `Куклы`, `Мячики`.
	// .
	//
	// GET /content/v2/object/all
	ContentV2ObjectAllGet(ctx context.Context, params ContentV2ObjectAllGetParams) (ContentV2ObjectAllGetRes, error)
	// ContentV2ObjectCharcsSubjectIdGet implements GET /content/v2/object/charcs/{subjectId} operation.
	//
	// Метод предоставляет параметры характеристик
	// предмета: названия, типы данных, единицы измерения и
	// так далее. В запросе необходимо указать ID
	// [предмета](/openapi/work-with-products#tag/Kategorii-predmety-i-harakteristiki/paths/~1content~1v2~1object~1all/get).
	// 
	// .
	//
	// GET /content/v2/object/charcs/{subjectId}
	ContentV2ObjectCharcsSubjectIdGet(ctx context.Context, params ContentV2ObjectCharcsSubjectIdGetParams) (ContentV2ObjectCharcsSubjectIdGetRes, error)
	// ContentV2ObjectParentAllGet implements GET /content/v2/object/parent/all operation.
	//
	// Метод предоставляет названия и ID всех родительских
	// категорий для [создания карточек
	// товаров](/openapi/work-with-products#tag/Sozdanie-kartochek-tovarov): например,
	// `Электроника`, `Бытовая химия`, `Рукоделие`.
	// .
	//
	// GET /content/v2/object/parent/all
	ContentV2ObjectParentAllGet(ctx context.Context, params ContentV2ObjectParentAllGetParams) (ContentV2ObjectParentAllGetRes, error)
	// ContentV2TagNomenclatureLinkPost implements POST /content/v2/tag/nomenclature/link operation.
	//
	// Метод добавляет или снимает ярлык с карточки товара.
	// К карточке можно добавить максимум 15 ярлыков.
	// При удалении ярлыка из карточки товара он не
	// удаляется из [списка
	// ярлыков](/openapi/work-with-products#tag/Yarlyki/paths/~1content~1v2~1tags/get)
	// продавца.
	// .
	//
	// POST /content/v2/tag/nomenclature/link
	ContentV2TagNomenclatureLinkPost(ctx context.Context, req *ContentV2TagNomenclatureLinkPostReq) (ContentV2TagNomenclatureLinkPostRes, error)
	// ContentV2TagsGet implements GET /content/v2/tags operation.
	//
	// Метод предоставляет список и характеристики всех
	// ярлыков продавца для группировки и фильтрации
	// товаров.
	// .
	//
	// GET /content/v2/tags
	ContentV2TagsGet(ctx context.Context) (ContentV2TagsGetRes, error)
	// ContentV3MediaFilePost implements POST /content/v3/media/file operation.
	//
	// Метод загружает и добавляет один медиафайл к
	// карточке товара.
	// Требования к изображениям:
	// * максимум изображений для одной карточки товара — 30
	// * минимальное разрешение — 700x900 px
	// * максимальный размер — 32 Мб
	// * минимальное качество — 65%
	// * форматы — JPG, PNG, BMP, GIF (статичные), WebP
	// Требования к видео:
	// * максимум одно видео для одной карточки товара
	// * максимальный размер — 50 Мб
	// * форматы — MOV, MP4
	// .
	//
	// POST /content/v3/media/file
	ContentV3MediaFilePost(ctx context.Context, req *ContentV3MediaFilePostReq, params ContentV3MediaFilePostParams) (ContentV3MediaFilePostRes, error)
	// ContentV3MediaSavePost implements POST /content/v3/media/save operation.
	//
	// Метод загружает набор медиафайлов в карточку товара
	// через указание ссылок в запросе.
	// 
	// Новые медиафайлы полностью заменяют старые. Чтобы
	// добавить новые медиафайлы, укажите в запросе ссылки
	// одновременно на новые и старые медиафайлы.
	// 
	// Требования к изображениям:
	// * максимум изображений для одной карточки товара — 30
	// * минимальное разрешение — 700×900 px
	// * максимальный размер — 32 Мб
	// * минимальное качество — 65%
	// * форматы — JPG, PNG, BMP, GIF (статичные), WebP
	// Требования к видео:
	// * максимум одно видео для одной карточки товара
	// * максимальный размер — 50 Мб
	// * форматы — MOV, MP4
	// Если видео или хотя бы одно изображение в запросе не
	// соответствует требованиям, то даже при успешном
	// ответе ни одно изображение/видео не загрузится.
	// .
	//
	// POST /content/v3/media/save
	ContentV3MediaSavePost(ctx context.Context, req *ContentV3MediaSavePostReq) (ContentV3MediaSavePostRes, error)
}
// Server implements http server based on OpenAPI v3 specification and
// calls Handler to handle requests.
type Server struct {
	h   Handler
	sec SecurityHandler
	baseServer
}
// NewServer creates new Server.
func NewServer(h Handler, sec SecurityHandler, opts ...ServerOption) (*Server, error) {
	s, err := newServerConfig(opts...).baseServer()
	if err != nil {
		return nil, err
	}
	return &Server{
		h:          h,
		sec:        sec,
		baseServer: s,
	}, nil
}