Skip to content

Commit 3ec2f28

Browse files
salacosteclaude
andcommitted
chore(release): v3.8.1 — documentation overhaul, README/CHANGELOG update
Documentation: - Fix method counts in 6 module docs (promotion, communications, orders-fbs, orders-fbw, orders-dbs, analytics, reports) — removed ghost methods - Add v3.8.0 warnOnce sections to promotion and finances module docs - Add v3.8.0 field union types to finances module docs - Update README: version 3.8.0, 13 modules, 2111 tests, What's New section - Update CHANGELOG: add entries for v3.3.0 through v3.8.0 (8 missing versions) - Regenerate TypeDoc API reference (0 warnings) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 0912eec commit 3ec2f28

File tree

580 files changed

+3792
-3527
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

580 files changed

+3792
-3527
lines changed

CHANGELOG.md

Lines changed: 173 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,179 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.8.0] - 2026-04-17
9+
10+
### Added
11+
12+
#### Field Union Types for Finance Reports
13+
- `SalesReportDetailedField` union type -- narrows `fields[]` from `string[]` to specific valid field names with IDE autocomplete
14+
- `AcquiringReportDetailedField` union type -- same for Acquiring Reports
15+
- Both types exported from `/finances` subpath
16+
- 6 regression tests for field union types
17+
18+
#### Deprecation Utilities (post-release, task-107)
19+
- `warnOnce(key, message)` -- centralized deprecation warning that fires once per process
20+
- `resetDeprecationWarnings()` -- reset all warnings (useful in tests)
21+
- Both exported from main SDK entry point
22+
- Replaces ad-hoc static boolean flags in FinancesModule and PromotionModule
23+
24+
### Changed (Type-Only Breaking)
25+
- `fields[]` parameter in `SalesReportDetailedRequest`, `SalesReportDetailedByIdRequest`, `AcquiringReportDetailedRequest`, `AcquiringReportDetailedByIdRequest` narrowed from `string[]` to union types
26+
- Consumers passing arbitrary strings to `fields[]` will get TypeScript errors -- use valid field names from the union type (no runtime changes)
27+
28+
### Documentation
29+
- Rewrite finances module docs with all 13 methods, v1/v5 comparison table, `parseMoneyAmount()` examples
30+
- Add 10 missing guides to EN sidebar (products, communications, promotion, tariffs, and more)
31+
- Add 7 new sections to RU sidebar
32+
- Update guides index with all 44 guides linked
33+
- Update RU guides index with 10 missing guides and 4 new sections
34+
- Translate 18 EN guides to Russian (task-105)
35+
- Update getting-started quickstart to reference 13 modules including DBS and User Management
36+
- Fix migration guide missing `await`
37+
38+
---
39+
40+
## [3.7.0] - 2026-04-15
41+
42+
### Added
43+
44+
#### v1 Finance Reports Migration (6 new methods)
45+
- `getSalesReportsList()` -- list Sales Reports via POST /api/finance/v1/sales-reports/list
46+
- `getSalesReportsDetailed()` -- detailed Sales Report data
47+
- `getSalesReportsDetailedByReportId(id, data)` -- detailed data for a specific report (supports BigInt-safe reportId)
48+
- `getAcquiringReportsList()` -- list Acquiring Reports (RU-only)
49+
- `getAcquiringReportsDetailed()` -- detailed Acquiring Report data (RU-only)
50+
- `getAcquiringReportsDetailedByReportId(id, data)` -- detailed data for a specific acquiring report (RU-only)
51+
52+
All v1 methods:
53+
- Use finance-api.wildberries.ru (not statistics-api)
54+
- POST with JSON body (not GET with query params)
55+
- Return money amounts as `string` (was `number` in v5)
56+
- Accept optional `fields?: string[]` for selective field loading
57+
- Rate limit: 1 req/min each
58+
- Require Personal or Service tokens (NOT Basic/Test)
59+
60+
#### parseMoneyAmount Helper
61+
- `parseMoneyAmount(value?: string | null): number` -- parses v1 money strings to JS number with null/undefined/NaN guards
62+
- Re-exported from main SDK entry point
63+
- 8 unit tests covering edge cases
64+
65+
#### New Types
66+
- `SalesReportListRequest`, `SalesReportListItem` (20 fields with money as string)
67+
- `SalesReportDetailedRequest`, `SalesReportDetailedByIdRequest`
68+
- `SalesReportDetailedItem` (~70 camelCase fields, each JSDoc-mapped to v5 snake_case)
69+
- `AcquiringReportListRequest`, `AcquiringReportListItem` (8 fields)
70+
- `AcquiringReportDetailedRequest`, `AcquiringReportDetailedByIdRequest`
71+
- `AcquiringReportDetailedItem` (17 fields)
72+
- All types re-exported from `/finances` subpath
73+
74+
### Deprecated
75+
- `getSupplierReportDetailByPeriod()` -- WB disabling v5 endpoint on July 15, 2026; runtime warning fires once per process
76+
- `DetailReportItem` type marked `@deprecated`
77+
78+
### Documentation
79+
- New migration guide: `docs/guides/migration-finance-reports-v5-to-v1.md`
80+
- Searchable field mapping table (old + new names in same row)
81+
- Migration checklist with grep commands for finding call sites
82+
- String money amounts explained with `parseMoneyAmount()` examples
83+
84+
---
85+
86+
## [3.6.2] - 2026-04-12
87+
88+
### Added
89+
- `kizMarked?: boolean` field on product card create/update/list/trash methods for mandatory marking code confirmation
90+
- `needKiz?: boolean` added to `getCardsTrash` response (pre-existing gap)
91+
92+
---
93+
94+
## [3.6.1] - 2026-04-11
95+
96+
### Fixed
97+
- Re-export types from `/finances`, `/analytics`, `/communications`, `/reports` subpath imports -- consumers can now `import type { DetailReportItem } from 'daytona-wildberries-typescript-sdk/finances'`
98+
- 192 types added across 4 module index files (8 finances, 97 analytics, 39 communications, 48 reports)
99+
100+
---
101+
102+
## [3.6.0] - 2026-04-10
103+
104+
### Added
105+
106+
#### Substitute Article Fields (Finance)
107+
- `article_substitution` -- substitute article ID in `DetailReportItem`
108+
- `sale_price_affiliated_discount_prc` -- substitute article discount percentage
109+
- `agency_vat` -- agency VAT field (present in WB spec, semantics undocumented)
110+
- `sale_price_wholesale_discount_prc` -- wholesale business discount percentage
111+
112+
#### Documentation
113+
- New guide: `docs/guides/tracking-promotion-channels-with-substitute-articles.md` with Mermaid data-flow diagram and production aggregation pattern
114+
115+
---
116+
117+
## [3.5.1] - 2026-04-07
118+
119+
### Fixed
120+
- Suppress eslint `no-deprecated` error in integration test for legacy `meta` field (CI fix only)
121+
122+
---
123+
124+
## [3.5.0] - 2026-04-06
125+
126+
### Added
127+
128+
#### New Methods
129+
- `getJamSubscription()` -- direct Jam subscription API via GET /api/common/v1/subscriptions (replaces probe-based detection)
130+
- `getSellerRating()` -- seller rating and review count via GET /api/common/v1/rating
131+
132+
#### Infrastructure
133+
- `applyBasicTokenMultipliers()` -- rate limit multipliers for Basic/Test tokens (16 categories)
134+
- FBS `MetaDetail` type with key/value/decision fields for metadata validation status
135+
- `updateSuppliesDeliver()` JSDoc with 409 metadata validation guidance (IMEI/UIN/marking)
136+
- normquery/stats now supports CPC campaigns (views/ctr/cpm absent)
137+
- `updatedAt` field added to product error list items
138+
139+
### Deprecated
140+
- `getJamSubscriptionStatus()` -- use `getJamSubscription()` instead
141+
- `Meta` interface -- removal April 30, 2026; use `metaDetails` instead
142+
143+
### Documentation
144+
- 8 module/guide pages fully updated for v3.5.0 features
145+
- Jam subscription guide updated with direct API as primary, probe as legacy fallback
146+
- Configuration guide updated with token types section and rate limit multiplier tables
147+
148+
---
149+
150+
## [3.4.0] - 2026-03-25
151+
152+
### Added
153+
154+
#### New Methods
155+
- `getBidsRecommendations({advertId, nmId})` -- recommended CPM bids (base, per-normQuery)
156+
- `getClientInfo(orderIds)` -- DBW buyer info (name, phone, phoneCode) via marketplace-api
157+
- `getWbWarehousesStock()` -- current inventory across all WB warehouses with offset pagination (replaces deprecated GET /api/v1/supplier/stocks, disabled June 23, 2026)
158+
159+
#### Type Fixes (Sprint 1 + 3)
160+
- `SDKConfig.tokenType` -- awareness for Basic/Test tokens with init warning
161+
- `additionalErrors` narrowed to `Record<string, string>` (products)
162+
- `currency` field added to 3 Sales Funnel analytics responses
163+
- `isBoxOnPallet`, `boxTypeID` corrected types (orders-fbw)
164+
- `Supply.isB2b`, `CrossBorderStickerItem.status` corrected types (orders-fbs)
165+
- `SellerInfoResponse.tin` field added (general)
166+
167+
### Changed
168+
- `getAdvertsV2()` return type fixed from `GetAdverts` to `GetAdvertsV2Response`
169+
170+
---
171+
172+
## [3.3.0] - 2026-03-09
173+
174+
### Added
175+
- `getJamSubscriptionStatus()` -- Jam (Djam) subscription tier detection via probe strategy
176+
- New guide: Jam subscription detection (EN + RU)
177+
- TypeDoc API reference regenerated
178+
179+
---
180+
8181
## [3.2.0] - 2026-03-03
9182

10183
### Added

0 commit comments

Comments
 (0)