WB API Changes — September 2026 Sync
Covers SDK v4.3.0 – v4.6.0: sixteen Wildberries API news items implemented between 2026-09-17 and 2026-09-24. This guide summarizes what changed, which methods to migrate to, and the deadlines that affect you.
Deadlines that affect your integration
| Date | What happens | Action |
|---|---|---|
| 2026-10-01 | FBS shipping parameters (+ ETrN for transport-company deliveries) become mandatory — updateSuppliesDeliver() returns 409 without them | Set updateShippingMethod() for RF supplies and attach updateSuppliesWaybill() (ETrN) for transport-company deliveries; WB may still 404 on waybill until it is enabled on your account |
| 2026-10-26 | WB disables GET /api/v1/analytics/goods-return | Migrate reports.getAnalyticsGoodsReturn() → getAnalyticsV1GoodsReturn() (deprecated since v4.6.0, removal in v5) |
| 2026-11-16 | WB disables GET /adv/v1/budget | Migrate getAdvBudget() → postV2Budget() (deprecated since v4.3.0, removal in v5) |
| (date TBA) | WB will disable GET /api/v1/supplier/orders and /sales | Migrate to the real-time Order Feed — sdk.analytics.getOrderFeed() |
New methods by area
Promotion (v4.3.0)
postV2Budget({ advertIds })— budgets for up to 50 campaigns in one request. Responsetotalis in base currency units (unlike most SDK amounts, which are minor units). Replaces the deprecatedgetAdvBudget().getV0DailyLimits(advertIds)/putV0DailyLimits(data)— CPC campaign daily limits (minor units;dailyLimit≥ 1000, minimum fromgetV1Config().minDailyLimit;carryOverEnabledsupported).getV1Config()also gainedminTopUp.getBidsRecommendations()now returns CPC recommendations too — discriminate bypaymentType; CPC campaigns carrylevels(bids per listing position range 1-2 / 3-10 / 11-34) instead ofnormQueries.
Order data & pricing (v4.4.0)
sdk.analytics.getOrderFeed(data)— real-time unified Order Feed (orders + buyouts in one stream, statusescreated|buyout|cancel|return|returnDefectivewithcancelTypereasons, B2B flag, deferred payments). Paginate withoffsetwithin the samesnapshotTimecursor; only statuses mutate over time. Strict rate limit: 1 req/min. Replaces supplier orders/sales reports.typescriptlet offset = 0; let snapshot: string | undefined; do { const page = await sdk.analytics.getOrderFeed({ selectedPeriod: { start: '2026-09-01T00:00:00Z', end: '2026-09-24T00:00:00Z' }, pagination: { snapshotTime: snapshot, offset, limit: 1000 }, }); snapshot = page.data.snapshotTime; // keep the cursor stable across pages offset += page.data.orders.length; // ... process orders } while (/* more pages */);sdk.ordersDBS.getOrdersFinalPrice({ orders })andsdk.inStorePickup.getOrdersFinalPrice({ orders })— seller prices (no discounts) and buyer-payable sums (all discounts + cashback) by assembly order IDs. For calculations useoriginalFinalPrice/convertedOriginalFinalPrice. Fall back to the order-listingfinalPricefields only when the new method returnsdata: nullfor those IDs;data: {}means the data is still being generated — retry.
FBS: SPOT, shipping, archive (v4.3.0)
- SPOT (EAEU road imports; Kyrgyzstan sellers today):
getSpotCountries(),updateSupplySpot(),getSuppliesSpotList(),getSupplySpotStickers(); supplies exposespotAvailable. - Shipping (RF sellers):
getShippingPoints()+updateShippingMethod()+updateSuppliesWaybill()(ETrN for transport-company deliveries; WB may still 404 until it enables the method on your account) — see the 2026-10-01 deadline above. - 3-month window on
orders()(effective 2026-08-06): older assembly orders are available only viagetOrdersArchive({ year, month, next, limit }). - Typed 409
CustomsDeclarationIsRequiredError— thrown bycreateOrdersSticker()when a required customs declaration (ДТ) is missing; see the module page for the full ДТ rule set (confirm-status-only, Armenia rule,decisionsemantics).
FBW supplies (v4.3.0)
getSupplyDiscrepancies(supplyId)— declared-vs-actual acceptance discrepancies per package (with acceptance video refs). Very strict limit: 1 req/min.getSupply()gained adiscrepanciesfield (whenstatusID: 5).- Supply drafts CRUD —
createDraft(),listDrafts(),getDraftItems(),addDraftItems()(atomic all-or-nothing),deleteDraftItems()(no SKU validation),deleteDraft().
Products & reports (v4.3.0 + v4.4.0)
- Card
documentsobject — 8 register document types oncreateCardsUpload/createUploadAdd/createCardsUpdate/getCardsList(response includes validation verdicts). Passing documents viacharacteristicsis restricted and may be processed incorrectly — usedocuments. Card update overwrites the card: pass ALL documents, including unchanged ones (reuseid). sdk.analytics.getSellerWarehousesStock()— stocks across all seller warehouses without warehouse/size IDs (30-minute refresh).- Measurement-penalties report items gained
dateStart/dateEnd(coefficient validity period).
Goods-return report v1 (v4.6.0)
sdk.reports.getAnalyticsV1GoodsReturn(params)— new version of the «Возврат и перемещение товаров» report. All five params are required (dateFrom,dateTo,status,limit,offset); thestatusfilter (active/archive) replaces the oldisStatusActivefield, and the response adds acounttotal for the whole period. Window is limited to 31 days; an empty result returns HTTP 204. Note the path segment order —/api/analytics/v1/item-returns— the operation the WB news text called "goods-return" is mounted atitem-returnsin the official spec.- Field renames vs the old report:
barcode→sku,status→returnStatus,reason→returnReason(only for unidentified-item returns); new fieldskiz(Chestny ZNAK marking),subjectName,techSize. getAnalyticsGoodsReturn()is deprecated (WB disables the endpoint on 2026-10-26, removal in v5) — it now emits a one-time deprecation warning.
Data-freshness notes
- Stocks-history reports (v2 groups/products/sizes/offices + STOCK_HISTORY CSV) refresh once per 2 hours since 2026-09-17 — for current data use
getWbWarehousesStock()/getSellerWarehousesStock().
Where to read more
Module pages: promotion · analytics · orders-fbs · orders-fbw · products · reports. Changelog: CHANGELOG.md.