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