import { BulkStatusChangeResponse, StatusSetResponse, MetaValidationDetail } from './orders-dbs.types.js'; /** * Auto-generated TypeScript types for orders-fbw module * Generated from: wildberries_api_doc/07-orders-fbw.yaml * * DO NOT EDIT MANUALLY - Changes will be overwritten on next generation * * Generated: 2025-12-14T23:02:33.786Z */ export interface ModelsTransitTariff { /** Транзитный склад */ transitWarehouseName?: string; /** Склад назначения */ destinationWarehouseName?: string; /** С какого числа доступно транзитное направление */ activeFrom?: string; /** Тариф за транзит коробов. Если `null`, транзит для коробов недоступен */ boxTariff?: ModelsVolumeTariff[]; /** Тариф за паллету, ₽ */ palletTariff?: number; } export interface ModelsVolumeTariff { /** Объём поставки от, литры */ from?: number; /** Объём поставки до, литры */ to?: number; /** Тариф, ₽ за литр */ value?: number; } /** * @example ```json { "packageCode": "WB_689", "quantity": 1, "barcodes": [ { "barcode": "1234567891234", "quantity": 1 } ] } ``` */ export interface ModelsBox { /** Штрих-код упаковки */ packageCode?: string; /** Суммарное количество товара в упаковке, шт */ quantity?: number; /** Список упакованных товаров */ barcodes?: ModelsGoodInBox[]; } export interface ModelsGoodInBox { /** Баркод */ barcode?: string; /** Количество, шт */ quantity?: number; } export interface ModelsSuppliesFiltersRequest { /** Фильтр по датам */ dates?: ModelsDateFilterRequest[]; /** Фильтр поставок по статусам. Возможные значения: - `1` — Не запланировано - `2` — Запланировано - `3` — Отгрузка разрешена - `4` — Идёт приёмка - `5` — Принято - `6` — Отгружено на воротах */ statusIDs?: ModelsHandySupplyStatus[]; } /** * @example ```json { "barcode": "1234567891234", "vendorCode": "wb4sewt0vg", "nmID": 987456654, "needKiz": true, "tnved": "6204430000", "techSize": "C", "color": "красный", "supplierBoxAmount": 10, "quantity": 10, "readyForSaleQuantity": 0, "unloadingQuantity": 0, "acceptedQuantity": 0 } ``` */ export interface ModelsGoodInSupply { /** Баркод товара */ barcode?: string; /** Артикул продавца */ vendorCode?: string; /** Артикул WB */ nmID?: number; /** Нужен ли [код маркировки](https://честныйзнак.рф/) для этого товара: - `false` — не нужен - `true` — нужен */ needKiz?: boolean; /** Код ТНВЭД.
Если `"needKIZ":true`, а `"tnved":null`, нужно заполнить характеристику товара **ТН ВЭД** в [личном кабинете](https://seller.wildberries.ru/new-goods) или по [API](https://dev.wildberries.ru/openapi/work-with-products#tag/Kartochki-tovarov/paths/~1content~1v2~1cards~1update/post) */ tnved?: string; /** Размер товара, указанный продавцом */ techSize?: string; /** Цвет товара */ color?: string; /** Указано в упаковке, шт */ supplierBoxAmount?: number; /** Указано в поставке/заказе, шт */ quantity?: number; /** Поступило в продажу, шт */ readyForSaleQuantity?: number; /** Принято, шт */ acceptedQuantity?: number; /** Количество товара на раскладке, шт */ unloadingQuantity?: number; } export interface ModelsDateFilterRequest { /** Дата начала периода */ from?: string; /** Дата окончания периода */ till?: string; /** Тип дат: - `factDate` — дата фактической отгрузки поставки - `createDate` — дата создания поставки - `supplyDate` — плановая дата отгрузки поставки - `updatedDate` — дата изменения поставки */ type: 'factDate' | 'createDate' | 'supplyDate' | 'updatedDate'; } /** * @example ```json { "phone": "+7 903 *** 98 62", "statusID": 5, "statusName": "Принято", "boxTypeID": 5, "boxTypeName": "Монопаллеты", "createDate": "2025-07-15T17:17:45+03:00", "supplyDate": "2025-07-15T00:00:00+03:00", "factDate": "2025-07-18T11:37:32+03:00", "updatedDate": "2025-07-18T12:59:53+03:00", "warehouseID": 507, "warehouseName": "Коледино", "actualWarehouseID": 507, "actualWarehouseName": "Коледино", "transitWarehouseID": null, "transitWarehouseName": "", "acceptanceCost": 5000, "paidAcceptanceCoefficient": 10, "rejectReason": null, "supplierAssignName": "Магазн", "storageCoef": "215", "deliveryCoef": "200", "quantity": 10, "readyForSaleQuantity": 0, "acceptedQuantity": 10, "unloadingQuantity": 10, "depersonalizedQuantity": 0, "discrepancies": 0 } ``` */ export interface ModelsSupplyDetails { /** Телефон пользователя, создавшего поставку */ phone?: string; /** ID статуса поставки: - `1` — Не запланировано - `2` — Запланировано - `3` — Отгрузка разрешена - `4` — Идёт приёмка - `5` — Принято - `6` — Отгружено на воротах */ statusID?: 1 | 2 | 3 | 4 | 5 | 6; /** Статус поставки */ statusName?: 'Не запланировано' | 'Запланировано' | 'Отгрузка разрешена' | 'Идёт приёмка' | 'Принято' | 'Отгружено на воротах'; /** ID типа виртуальной поставки. Отображается только для поставок с `"boxTypeID":0`. - `0` — Перенос остатков - `1` — Обезличка - `4` — QR-поставка - `5` — Допринято - `6` — Скан-приёмка */ virtualTypeID?: number; /** Тип виртуальной поставки. Отображается только для поставок с `"boxTypeID":0`. - `Перенос остатков` - `Обезличка` - `QR-поставка` - `Допринято` - `Скан-приёмка` */ virtualTypeName?: string; /** ID типа поставки: - `0` — Без коробов (виртуальная поставка) - `1` и `2` — Короба - `5` — Монопаллеты - `6` — Суперсейф - `7` — Поштучная паллета */ boxTypeID?: number; /** Тип поставки: - `Короба` - `Монопаллеты` - `Суперсейф` - `Без коробов` - `Поштучная паллета` */ boxTypeName?: string; /** Является ли поставка типом «Поштучная паллета» */ isBoxOnPallet?: boolean; /** Дата и время создания поставки */ createDate?: string; /** Плановая дата отгрузки поставки */ supplyDate?: string; /** Дата фактической отгрузки поставки */ factDate?: string; /** Дата изменения поставки */ updatedDate?: string; /** ID склада, на который планируется поставка */ warehouseID?: number; /** Название склада, на который планируется поставка */ warehouseName?: string; /** ID склада, на который поставка была привезена */ actualWarehouseID?: number; /** Название склада, на который поставка привезена */ actualWarehouseName?: string; /** ID транзитного склада */ transitWarehouseID?: number; /** Название транзитного склада */ transitWarehouseName?: string; /** Предварительная стоимость приёмки, ₽ */ acceptanceCost?: number; /** Коэффициент приёмки */ paidAcceptanceCoefficient?: number; /** Причина, по которой поставка не может быть принята */ rejectReason?: string; /** Краткое название продавца */ supplierAssignName?: string; /** Коэффициент хранения */ storageCoef?: string; /** Коэффициент логистики */ deliveryCoef?: string; /** Добавлено в поставку/заказ, шт */ quantity?: number; /** Поступило в продажу, шт */ readyForSaleQuantity?: number; /** Принято, шт */ acceptedQuantity?: number; /** Количество товара, находящегося на раскладке, шт */ unloadingQuantity?: number; /** Количество обезличенного товара, шт */ depersonalizedQuantity?: number; /** * Расхождения между заявленным и фактическим количеством товара в поставке, шт. * Присутствует только при `"statusID":5` (Принято). * * Расшифровку расхождений (излишки/недостача/пересорт) см. в методе * `getSupplyDiscrepancies()` модуля orders-fbw. */ discrepancies?: number; } /** * @example ```json [ { "packageCode": "WB_2282893992", "videoUrl": "", "videoStartsAt": "2026-07-11T10:02:42Z", "videoUnavailable": false, "items": [ { "declaredSku": "1234567890", "discrepancyType": "surplus", "declaredAmount": 1, "actualAmount": 2, "discrepancyQuantity": 2, "actualSku": "1234567890", "skuScans": [ { "scanId": 1, "declaredSku": "1234567890", "scanTime": "2025-01-18T21:11:54+03:00", "discrepancyLabel": "surplus", "actualSku": "1234567890" } ] } ] } ] ``` */ export interface ModelsItemDiscrepancyResponse { /** Идентификатор упаковки */ packageCode: string; /** Видео расхождений при приёмке */ videoUrl: string; /** Дата и время записи видео расхождений при приёмке */ videoStartsAt: string; /** Доступно ли видео: - `false` — да - `true` — нет */ videoUnavailable: boolean; /** Товары поставки */ items: ModelsDiscrepancyResponseItem[]; } export interface ModelsDiscrepancyResponseItem { /** Артикул WB, заявленный при создании поставки */ declaredSku: string; /** * Общий тип расхождения для короба: * - `surplus` — фактически доставлено больше товара, чем заявлено * - `shortage` — фактически доставлено меньше товара, чем заявлено * - `re-sorting` — артикул принятого товара не совпадает с заявленным при создании поставки */ discrepancyType: 'surplus' | 'shortage' | 're-sorting'; /** Количество товара, заявленное при создании поставки, шт */ declaredAmount: number; /** Фактическое количество товара, шт */ actualAmount: number; /** Разница между заявленным и фактическим количеством товара, шт */ discrepancyQuantity: number; /** Фактический артикул WB */ actualSku: string; /** Результаты сканирования товара. `null`, если сканов нет */ skuScans: ModelsItemScans[] | null; } export interface ModelsItemScans { /** Идентификатор скана */ scanId: number; /** Артикул WB, заявленный при создании поставки */ declaredSku: string; /** Дата и время сканирования */ scanTime: string; /** * Тип расхождения: * - `surplus` — фактически доставлено больше товара, чем заявлено * - `shortage` — фактически доставлено меньше товара, чем заявлено * - `re-sorting` — артикул принятого товара не совпадает с заявленным при создании поставки */ discrepancyLabel: 'surplus' | 'shortage' | 're-sorting'; /** Фактический артикул WB */ actualSku: string; } export type ModelsHandySupplyStatus = 1 | 2 | 3 | 4 | 5 | 6; export interface ModelsSupply { /** Телефон пользователя, создавшего поставку */ phone?: string; /** ID поставки. Если `null`, это заказ, тогда используйте значение поля `preorderID` */ supplyID?: number; /** ID заказа (незапланированная поставка). Для всех виртуальных поставок будет `0` */ preorderID?: number; /** Дата и время создания поставки */ createDate?: string; /** Плановая дата отгрузки поставки */ supplyDate?: string; /** Дата фактической отгрузки поставки */ factDate?: string; /** Дата изменения поставки */ updatedDate?: string; /** ID статуса поставки: - `1` — Не запланировано - `2` — Запланировано - `3` — Отгрузка разрешена - `4` — Идёт приёмка - `5` — Принято - `6` — Отгружено на воротах */ statusID?: 1 | 2 | 3 | 4 | 5 | 6; /** Текущий статус поставки */ statusName?: 'Не запланировано' | 'Запланировано' | 'Отгрузка разрешена' | 'Идёт приёмка' | 'Принято' | 'Отгружено на воротах'; /** ID типа поставки: - `0` — Без коробов - `1`,`2` — Короба - `5` — Монопаллеты - `6` — Суперсейф - `7` — Поштучная паллета */ boxTypeID?: number; /** Является ли поставка типом «Поштучная паллета» */ isBoxOnPallet?: boolean; } export interface ModelsAcceptanceCoefficient { /** Дата начала действия коэффициента */ date?: string; /** Коэффициент приёмки: - `-1` — приёмка недоступна, вне зависимости от значения поля `allowUnload` - `0` — бесплатная приёмка - от `1` — множитель стоимости приёмки */ coefficient?: number; /** ID склада. По нему можно получить [информацию о складе](https://dev.wildberries.ru/openapi/orders-fbw#tag/Informaciya-dlya-formirovaniya-postavok/paths/~1api~1v1~1warehouses/get) */ warehouseID?: number; /** Название склада */ warehouseName?: string; /** Доступность приёмки для поставок данного типа, смотри значение поля `boxTypeName`: - `true` — приёмка доступна - `false` — приёмка не доступна */ allowUnload?: boolean; /** Тип поставки: - `Короба` - `Монопаллеты` - `Суперсейф` - `QR-поставка с коробами` */ boxTypeName?: string; /** ID типа поставки: - `2` — Короба - `5` — Монопаллеты - `6` — Суперсейф
Для типа поставки **QR-поставка с коробами** поле не возвращается */ boxTypeID?: number; /** Коэффициент хранения */ storageCoef?: string; /** Коэффициент логистики */ deliveryCoef?: string; /** Стоимость логистики первого литра */ deliveryBaseLiter?: string; /** Стоимость логистики каждого следующего литра */ deliveryAdditionalLiter?: string; /** Стоимость хранения: - для паллет — стоимость за одну паллету - для коробов — стоимость хранения за первый литр */ storageBaseLiter?: string; /** Стоимость хранения каждого последующего литра: - для паллет — всегда будет `null`, т.к. стоимость хранения за единицу паллеты определяется в `StorageBaseLiter` - для коробов — стоимость хранения за каждый последующий литр */ storageAdditionalLiter?: string; /** Тип склада: - `true` — сортировочный центр (СЦ) - `false` — обычный */ isSortingCenter?: boolean; } /** * @example ```json { "ID": 300461, "name": "Гомель 2", "address": "Гомель, Могилёвская улица 1/А", "workTime": "24/7", "acceptsQR": false, "isActive": false, "isTransitActive": true } ``` */ export interface ModelsWarehousesResultItems { /** ID склада */ ID?: number; /** Название склада */ name?: string; /** Адрес склада */ address?: string; /** Режим работы склада */ workTime?: string; /** Принимает ли склад QR-поставки: - `true` — да - `false` — нет */ acceptsQR?: boolean; /** Доступен ли в качестве склада назначения: - `true` — да - `false` — нет */ isActive?: boolean; /** Доступен ли в качестве транзитного склада: - `true` — да - `false` — нет */ isTransitActive?: boolean; } export interface ModelsGood { /** Суммарное количество товаров, планируемых для поставки.
**Максимум 999999** */ quantity?: number; /** Баркод из карточки товара */ barcode?: string; } export interface ModelsErrorModel { /** HTTP статус-код */ status?: number; /** ID ошибки */ title?: string; /** Описание ошибки */ detail?: string; /** ID запроса */ requestId?: string; /** Сервис, вернувший ошибку */ origin?: string; } export interface ModelsOptionsResultModel { result?: { /** Баркод из карточки товара */ barcode?: string; /** Данные ошибки. При наличии */ error?: { /** ID ошибки */ title?: string; /** Описание ошибки */ detail?: string; }; /** Наличие ошибки: - `true` — ошибка есть - Поля нет — ошибка отсутствует */ isError?: boolean; /** Список складов. При наличии ошибки будет `null` */ warehouses?: { /** ID склада. По нему можно получить [информацию о складе](https://dev.wildberries.ru/openapi/orders-fbw#tag/Informaciya-dlya-formirovaniya-postavok/paths/~1api~1v1~1warehouses/get) */ warehouseID?: number; /** Тип упаковки **Короб**: - `true` — доступен - `false` — недоступен */ canBox?: boolean; /** Тип упаковки **Монопаллета**: - `true` — доступен - `false` — недоступен */ canMonopallet?: boolean; /** Тип упаковки **Суперсейф**: - `true` — доступен - `false` — недоступен */ canSupersafe?: boolean; /** Тип упаковки **Поштучная паллета**: - `true` — доступен - `false` — недоступен */ canBoxOnPallet?: boolean; }[]; }[]; /** ID запроса при наличии ошибок */ requestId?: string; } /** Buyer information for a DBW order * @since 3.4.0 */ export interface DBWClientInfo { /** Order ID */ orderID?: number; /** Customer first name */ firstName?: string; /** Customer full name */ fullName?: string; /** Phone number (without country code) */ phone?: string; /** Phone country code */ phoneCode?: number; /** Additional phone country codes */ additionalPhoneCodes?: number[]; } /** Response from POST /api/marketplace/v3/dbw/orders/client * @since 3.4.0 */ export interface GetDBWClientInfoResponse { /** List of buyer information by order (null when no matching orders) */ orders?: DBWClientInfo[] | null; } /** * Request body for bulk deletion of marking metadata from DBW orders. * Mirrors DBS `DeleteMetaBulkRequest`. * * @since 3.11.0 */ export interface DBWDeleteMetaBulkRequest { /** Array of order IDs whose metadata should be deleted */ orders: number[]; /** Metadata key to delete — e.g. 'imei' | 'uin' | 'gtin' | 'sgtin' | 'customsDeclaration' */ key: string; } /** * Response from bulk metadata deletion for DBW orders. * Mirrors DBS `DeleteMetaBulkResponse`. * * @since 3.11.0 */ export interface DBWDeleteMetaBulkResponse { /** Per-order deletion results */ orders: { orderId: number; success: boolean; error?: string; }[]; } /** * Request body for bulk SGTIN code assignment on DBW orders. * Mirrors DBS `SetSgtinBulkRequest`. * * @since 3.11.0 */ export interface DBWSetSgtinBulkRequest { /** Array of per-order SGTIN assignments */ orders: { orderId: number; sgtins: string[]; }[]; } /** * Response from bulk metadata set operations for DBW orders. * Mirrors DBS `SetMetaBulkResponse`. * * @since 3.11.0 */ export interface DBWSetMetaBulkResponse { /** Per-order set results */ orders: { orderId: number; success: boolean; error?: string; }[]; /** Array of per-order errors (present when some orders failed) */ errors?: { orderId: number; message: string; code: string; }[]; } export type { MetaValidationDetail, StatusSetResponse, BulkStatusChangeResponse, } from './orders-dbs.types.js'; /** * Response shape for DBW bulk status-change operations (alias for {@link BulkStatusChangeResponse}). * Maintained as a DBW-prefixed alias to preserve API symmetry with DBW request types. * @since 3.11.0 */ export type DBWBulkStatusChangeResponse = BulkStatusChangeResponse; /** * Per-order result item in a DBW bulk status-change response (alias for {@link StatusSetResponse}). * @since 3.11.0 */ export type DBWStatusSetResponse = StatusSetResponse; /** * Per-order metadata validation detail (alias for {@link MetaValidationDetail}). * @since 3.11.0 */ export type DBWMetaValidationDetail = MetaValidationDetail; /** * Request body for {@link OrdersFbwModule.checkMetaValidation}. * @since 3.11.0 */ export interface DBWCheckMetaValidationRequest { /** Array of DBW order IDs to validate metadata for. Max 1000. */ orders: number[]; } /** * Response from {@link OrdersFbwModule.checkMetaValidation}. * Each item in `metaDetails[]` reports the validation status of a single * order's marking metadata. Use this *before* calling deliverBulk() to * detect orders that would fail with 409 MetaValidationFail. * @since 3.11.0 */ export interface DBWCheckMetaValidationResponse { /** Per-order validation status entries. */ metaDetails: MetaValidationDetail[]; } /** * Товар в запросе добавления в черновик поставки (spec: `models.Item`). * @since task-193 */ export interface ModelsItem { /** Количество товара (1–999999) */ quantity: number; /** SKU (баркод) из карточки товара */ sku: string; } /** * Ответ на создание черновика поставки. * @since task-193 */ export interface ModelsDraftCreateResponse { /** Идентификатор черновика (UUID) */ draftId: string; } /** * Черновик поставки — элемент списка `listDrafts()`. * @since task-193 */ export interface ModelsDraftItem { /** Идентификатор черновика (UUID) */ draftId: string; /** Телефон пользователя, создавшего черновик */ phone: string; /** Дата и время создания черновика (ISO 8601) */ createdAt: string; /** Дата и время обновления черновика (ISO 8601) */ updatedAt: string; /** Количество SKU в черновике */ skuQuantity: number; /** Количество товаров в черновике */ itemQuantity: number; } /** * Ответ на получение списка черновиков поставок. * @since task-193 */ export interface ModelsListDraftsResponse { /** Общее количество черновиков */ total: number; /** Список черновиков */ drafts: ModelsDraftItem[]; } /** * Товар в черновике поставки — элемент списка `getDraftItems()`. * @since task-193 */ export interface ModelsDraftItemItem { /** SKU (баркод) товара */ sku: string; /** Цвет товара */ color: string; /** Количество товара */ quantity: number; /** Бренд */ brandName: string; /** Ссылка на изображение товара */ imgSrc: string; /** Артикул WB */ nmId: number; /** Предмет (подкатегория) */ subjectName: string; /** Размер товара */ techSize: string; /** Наименование товара */ title: string; /** Артикул продавца */ vendorCode: string; } /** * Ответ на получение списка товаров в черновике поставки. * @since task-193 */ export interface ModelsListDraftItemsResponse { /** Количество SKU в черновике */ skuQuantity: number; /** Количество товаров в черновике */ itemQuantity: number; /** Список товаров */ items: ModelsDraftItemItem[]; } /** * Тело запроса `addDraftItems()` — добавление товаров в черновик поставки. * Максимум 1000 элементов в массиве `items`. * @since task-193 */ export interface ModelsDraftAdditemsRequest { /** Список товаров (максимум 1000) */ items: ModelsItem[]; } /** * Ошибка валидации SKU при добавлении товаров в черновик. * @since task-193 */ export interface ModelsDraftAddItemsResultError { /** Детали ошибки */ detail: string; /** Заголовок ошибки */ title: string; } /** * Элемент результата добавления товаров — невалидный SKU с описанием ошибки. * @since task-193 */ export interface ModelsDraftAddItemsResultItem { /** Детали ошибки валидации */ error: ModelsDraftAddItemsResultError; /** Невалидный SKU */ sku: string; } /** * Ответ на добавление товаров в черновик поставки. * * **Атомарность:** пустой `results` (`[]`) означает, что все SKU прошли * валидацию и товары добавлены в черновик. Непустой `results` содержит список * невалидных SKU — в этом случае **ни один** товар не добавлен. * @since task-193 */ export interface ModelsDraftAddItemsErrorResponse { /** Список невалидных SKU с ошибками. `[]` — все товары добавлены */ results: ModelsDraftAddItemsResultItem[]; } /** * Тело запроса `deleteDraftItems()` — удаление товаров из черновика поставки. * @since task-193 */ export interface ModelsDraftDeleteitemsRequest { /** Список SKU для удаления (минимум 1) */ skus: string[]; } /** * Ответ на удаление товаров из черновика поставки. * * SKU **не валидируются**: неверные SKU молча игнорируются, * корректные — удаляются из черновика. * @since task-193 */ export interface ModelsDraftDeleteItemsErrorResponse { /** Результат операции */ results: unknown[]; } //# sourceMappingURL=orders-fbw.types.d.ts.map