import { BaseClient } from '../../client/base-client';
import { BulkStatusChangeResponse, DBWCheckMetaValidationRequest, DBWCheckMetaValidationResponse, DBWDeleteMetaBulkRequest, DBWDeleteMetaBulkResponse, DBWSetMetaBulkResponse, DBWSetSgtinBulkRequest, GetDBWClientInfoResponse, ModelsBox, ModelsGood, ModelsGoodInSupply, ModelsOptionsResultModel, ModelsSuppliesFiltersRequest, ModelsSupply, ModelsSupplyDetails, ModelsTransitTariff, ModelsWarehousesResultItems } from '../../types/orders-fbw.types';
export declare class OrdersFbwModule {
private client;
constructor(client: BaseClient);
/**
* Опции приёмки
*
* Метод возвращает информацию о том, какие склады и типы упаковки доступны для поставки. Список складов определяется по баркоду и количеству товара.
Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 6 запросов | 10 секунд | 6 запросов |
*
* @param data - Request body data
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.createAcceptanceOption([{ barcode: '1234567891234', quantity: 10 }]);
console.log(result);
*/
createAcceptanceOption(data: ModelsGood[], options?: {
warehouseID?: string;
}): Promise;
/**
* Список складов
*
* Метод возвращает список складов WB. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 6 запросов | 10 секунд | 6 запросов |
*
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.warehouses();
console.log(result);
*/
warehouses(): Promise;
/**
* Транзитные направления
*
* Метод возвращает информацию о доступных транзитных направлениях. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 6 запросов | 10 секунд | 10 запросов |
*
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.transitTariffs();
console.log(result);
*/
transitTariffs(): Promise;
/**
* Список поставок
*
* Метод возвращает список поставок, по умолчанию — последние 1000 поставок. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param data - Request body data
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.listSupplies({});
console.log(result);
*/
listSupplies(data: ModelsSuppliesFiltersRequest, options?: {
limit?: number;
offset?: number;
}): Promise;
/**
* Детали поставки
*
* Метод возвращает детали поставки по ID. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param ID - ID поставки или заказа
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.getSupply(12345);
console.log(result);
*/
getSupply(ID: number, options?: {
isPreorderID?: boolean;
}): Promise;
/**
* Товары поставки
*
* Метод возвращает информацию о товарах в поставке. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param ID - ID поставки или заказа
* @param [options] - Query parameters
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.getSuppliesGood(12345);
console.log(result);
*/
getSuppliesGood(ID: number, options?: {
limit?: number;
offset?: number;
isPreorderID?: boolean;
}): Promise;
/**
* Упаковка поставки
*
* Метод возвращает информацию об упаковке поставки. Лимит запросов на один аккаунт продавца: | Период | Лимит | Интервал | Всплеск | | --- | --- | --- | --- | | 1 минута | 30 запросов | 2 секунды | 10 запросов |
*
* @param ID - ID поставки
* @returns Успешно
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {ValidationError} When request data is invalid (400/422)
* @throws {NetworkError} When network request fails or times out
* @example
const result = await sdk.ordersFBW.getSuppliesPackage(12345);
console.log(result);
*/
getSuppliesPackage(ID: number): Promise;
/**
* Получение информации о покупателе для заказов DBW
*
* Возвращает данные покупателя (имя, телефон, код) по ID заказов модели DBW.
*
* **Важно:** Этот метод использует домен `marketplace-api.wildberries.ru`,
* а не `supplies-api.wildberries.ru` как остальные методы FBW.
*
* Rate limit: 300 requests per minute, 200ms interval, burst 20.
* Один запрос с кодом 409 считается за 10 запросов.
*
* @param orderIds - Array of assembly order IDs (no documented max limit)
* @returns Buyer information for each order
* @throws {ValidationError} When orderIds array is empty
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.4.0
* @see {@link https://dev.wildberries.ru/docs/openapi/orders-dbw#tag/Sborochnye-zadaniya-DBW}
* @example
* ```typescript
* const result = await sdk.ordersFBW.getClientInfo([987654321, 123456789]);
* for (const order of result.orders ?? []) {
* console.log(`Order ${order.orderID}: ${order.firstName}, phone: +${order.phoneCode}${order.phone}`);
* }
* ```
*/
getClientInfo(orderIds: number[]): Promise;
/**
* Удалить идентификаторы маркировки у нескольких заказов DBW (массовая операция).
*
* Bulk-delete marking metadata (IMEI/UIN/GTIN/SGTIN/customsDeclaration) from up to
* N DBW orders in a single request. Mirrors the DBS `deleteMetaBulk` method.
*
* Rate limit: 150 requests/min, 400ms interval, burst 20.
* (Default mirrors DBS sibling — WB has not yet published explicit DBW limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param request - Orders array and metadata key to delete
* @returns Per-order deletion results
* @throws {ValidationError} When orders array is empty
* @throws {ValidationError} When request body is malformed
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* const result = await sdk.ordersFBW.deleteMetaBulk({ orders: [123456], key: 'imei' });
* for (const order of result.orders) {
* console.log(`Order ${order.orderId}: ${order.success ? 'deleted' : order.error}`);
* }
* ```
*/
deleteMetaBulk(request: DBWDeleteMetaBulkRequest): Promise;
/**
* Задать SGTIN-коды для нескольких заказов DBW (массовая операция).
*
* Bulk-assign SGTIN (Serial Global Trade Item Number) codes to up to N DBW orders
* in a single request. Mirrors the DBS `setSgtinBulk` method.
*
* Rate limit: 500 requests/min, 120ms interval, burst 20.
* (Default mirrors DBS sibling — WB has not yet published explicit DBW limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param request - Per-order SGTIN assignments
* @returns Per-order set results; `errors[]` present when some orders fail
* @throws {ValidationError} When orders array is empty
* @throws {ValidationError} When request body is malformed
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* const result = await sdk.ordersFBW.setSgtinBulk({
* orders: [{ orderId: 123456, sgtins: ['1234567890123456'] }],
* });
* if (result.errors?.length) {
* console.log('Some orders failed:', result.errors);
* }
* ```
*/
setSgtinBulk(request: DBWSetSgtinBulkRequest): Promise;
/**
* Передать несколько заказов DBW в доставку (массовая операция).
*
* Mark up to 1000 DBW orders as "delivered" (handed to carrier) in a single request.
* Mirrors the DBS `deliverBulk` method. WB disables the legacy single-order DBW
* deliver endpoint on 2026-06-05 — use this method instead.
*
* **Important:** Orders requiring IMEI/SGTIN must have metadata attached before calling
* this method. If metadata is missing, WB returns 409 `MetaValidationFail`.
*
* **B2C marking (Честный Знак):** WB validates B2C marking for DBW from 2026-06-15.
* Invalid marking → HTTP 409 `MetaValidationFail` with diagnostic `metaDetails[]`.
* Pre-flight via `checkMetaValidation()` to avoid the guess-and-retry loop.
*
* Rate limit: 300 requests/min, 200ms interval, burst 20.
* (Default mirrors DBS sibling — WB has not yet published explicit DBW limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param orderIds - Array of order IDs to mark as delivered (1–1000 items)
* @returns Per-order delivery status results. When WB returns application-level 409
* MetaValidationFail, it surfaces in `result.results[].errors[]` with `code === 409`
* and `detail === 'MetaValidationFail'`; check `result.results[].errors[].metaDetails[]`
* per-order before retrying. (since 3.11.0 — WB API 2026-05-06)
* @throws {ValidationError} When orderIds is empty or exceeds 1000 items
* @throws {WBAPIError} 409 — ImeiIsNotFilled: mandatory IMEI not attached to order
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* // Mark multiple DBW orders as handed to carrier
* const result = await sdk.ordersFBW.deliverBulk([123456, 234567, 345678]);
*
* for (const order of result.results ?? []) {
* if (order.isError) {
* console.log(`Order ${order.orderId} failed:`, order.errors);
* } else {
* console.log(`Order ${order.orderId} marked as delivered`);
* }
* }
* ```
*/
deliverBulk(orderIds: number[]): Promise;
/**
* Проверить идентификаторы маркировки DBW-заказов перед передачей в доставку (предварительная валидация).
*
* Pre-flight metadata validator for DBW orders. Returns the same `metaDetails[]` shape
* that WB returns inside the 409 `MetaValidationFail` body of `deliverBulk()`, but as a
* 200 OK response — without consuming a deliver-bulk quota attempt.
*
* **This method does NOT change order state.** It is a read-only pre-flight check.
* Use it before `deliverBulk()` to identify orders with invalid marking metadata
* (SGTIN/IMEI/UIN/etc.) so they can be fixed in advance, avoiding the guess-and-retry
* loop of: call `deliverBulk()` → catch 409 → read `metaDetails[]` → fix → retry.
*
* Rate limit: 300 requests/min, 200ms interval, burst 20.
* (Default mirrors `deliverBulk` DBW — WB has not yet published explicit limits.
* Will be updated via task-15.5 once WB publishes 07-orders-fbw.yaml.)
*
* @param request - Request containing array of DBW order IDs to validate (1–1000 items)
* @returns Per-order metadata validation results in `metaDetails[]`
* @throws {ValidationError} When `orders` array is empty
* @throws {ValidationError} When `orders` array exceeds 1000 items
* @throws {ValidationError} When request body is malformed (4xx propagation)
* @throws {AuthenticationError} When API key is invalid (401/403)
* @throws {RateLimitError} When rate limit exceeded (429)
* @throws {NetworkError} When network request fails or times out
* @since 3.11.0
* @see {@link https://dev.wildberries.ru/openapi/orders-dbw}
* @example
* ```typescript
* // Pre-flight pattern: validate → fix → deliver
* const validation = await sdk.ordersFBW.checkMetaValidation({
* orders: [123456, 234567, 345678],
* });
*
* const invalidOrders = validation.metaDetails.filter(d => d.status === 'invalid');
* if (invalidOrders.length > 0) {
* console.log('Orders with invalid metadata:', invalidOrders);
* // Fix metadata for invalid orders first (narrow orderId: number | undefined → number):
* const fixable = invalidOrders.filter(
* (o): o is typeof o & { orderId: number } => o.orderId !== undefined
* );
* await sdk.ordersFBW.setSgtinBulk({
* orders: fixable.map(o => ({ orderId: o.orderId, sgtins: ['correct-sgtin'] })),
* });
* }
*
* // Now safe to deliver — no 409 MetaValidationFail expected
* const result = await sdk.ordersFBW.deliverBulk([123456, 234567, 345678]);
* ```
*/
checkMetaValidation(request: DBWCheckMetaValidationRequest): Promise;
}
//# sourceMappingURL=index.d.ts.map