cbs-4px-merchant-cli 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/cli.js +135 -12
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/config.js +145 -8
  4. package/dist/commands/config.js.map +1 -1
  5. package/dist/commands/custody.d.ts +49 -0
  6. package/dist/commands/custody.js +245 -0
  7. package/dist/commands/custody.js.map +1 -1
  8. package/dist/commands/onboarding.d.ts +5 -0
  9. package/dist/commands/onboarding.js +22 -0
  10. package/dist/commands/onboarding.js.map +1 -1
  11. package/dist/commands/order.d.ts +15 -0
  12. package/dist/commands/order.js +194 -8
  13. package/dist/commands/order.js.map +1 -1
  14. package/dist/commands/platform.d.ts +42 -0
  15. package/dist/commands/platform.js +98 -5
  16. package/dist/commands/platform.js.map +1 -1
  17. package/dist/commands/update.js +124 -3
  18. package/dist/commands/update.js.map +1 -1
  19. package/dist/errors.d.ts +29 -1
  20. package/dist/errors.js +11 -1
  21. package/dist/errors.js.map +1 -1
  22. package/dist/services/api-client.d.ts +37 -2
  23. package/dist/services/api-client.js +70 -4
  24. package/dist/services/api-client.js.map +1 -1
  25. package/dist/services/binary-source.d.ts +30 -0
  26. package/dist/services/binary-source.js +88 -0
  27. package/dist/services/binary-source.js.map +1 -0
  28. package/dist/services/binary-update.d.ts +62 -0
  29. package/dist/services/binary-update.js +179 -0
  30. package/dist/services/binary-update.js.map +1 -0
  31. package/dist/services/install-detector.d.ts +13 -1
  32. package/dist/services/install-detector.js +20 -1
  33. package/dist/services/install-detector.js.map +1 -1
  34. package/dist/types/index.d.ts +137 -1
  35. package/package.json +7 -1
  36. package/skill/SKILL.md +11 -4
  37. package/skill/package.json +1 -1
  38. package/skill/reference/custody.md +217 -4
  39. package/skill/reference/index.md +9 -3
  40. package/skill/reference/onboarding.md +42 -0
  41. package/skill/reference/order.md +134 -4
  42. package/skill/reference/platform.md +84 -1
@@ -20,16 +20,19 @@ import { execFile, spawn } from 'node:child_process';
20
20
  import { existsSync } from 'node:fs';
21
21
  import { join } from 'node:path';
22
22
  import { createInterface } from 'node:readline';
23
- import { createRequire } from 'node:module';
24
23
  import chalk from 'chalk';
25
24
  import { Command } from 'commander';
25
+ import pkg from '../../package.json' with { type: 'json' };
26
26
  import { PACKAGE_NAME, BIN_NAME, } from '../generated/site.js';
27
27
  import { fetchTagVersion, getRegistry, isNewer, recordUpgrade, } from '../services/update-checker.js';
28
28
  import { detectInstall } from '../services/install-detector.js';
29
+ import { fetchLatestManifest, installFromManifest, isWindows, } from '../services/binary-update.js';
30
+ import { getDownloadSources } from '../services/binary-source.js';
29
31
  import * as logger from '../utils/logger.js';
30
32
  import { detectOutputFormat, printJson } from '../utils/output.js';
31
- const require = createRequire(import.meta.url);
32
- const { version: CURRENT_VERSION } = require('../../package.json');
33
+ // Static JSON import so the version is bundled at build time; a runtime
34
+ // require('../../package.json') breaks under `bun build --compile`.
35
+ const CURRENT_VERSION = pkg.version;
33
36
  export function buildUpdateCommand() {
34
37
  const cmd = new Command('update');
35
38
  cmd
@@ -125,6 +128,14 @@ async function runUpdate(opts, globals) {
125
128
  // 5. Detect install method.
126
129
  const install = await detectInstall();
127
130
  const installCmd = `npm install -g ${PACKAGE_NAME}@${targetVersion} --registry ${registry}`;
131
+ // A compiled standalone binary must NOT be upgraded via `npm install -g`
132
+ // (that would shadow it with an npm copy). It self-updates by downloading
133
+ // the matching platform binary from the OSS/Gitee manifest and swapping it
134
+ // in atomically. Source is authoritative for the binary channel, so we use
135
+ // the manifest's version rather than the npm `latest` computed above.
136
+ if (install.method === 'binary') {
137
+ return runBinaryUpdate(opts, globals, format, tag);
138
+ }
128
139
  if (install.method === 'manual') {
129
140
  return emit(format, {
130
141
  ok: false,
@@ -228,6 +239,116 @@ async function runUpdate(opts, globals) {
228
239
  }
229
240
  return emit(format, envelope);
230
241
  }
242
+ // ────────────────────────── Binary self-update ──────────────────────────
243
+ /**
244
+ * Self-update path for a compiled standalone binary: the download manifest is
245
+ * the source of truth for the binary channel (not the npm registry), so we
246
+ * fetch it, verify + swap the matching platform binary in place, then record
247
+ * the upgrade for rollback.
248
+ */
249
+ async function runBinaryUpdate(opts, _globals, format, tag) {
250
+ const registry = getRegistry();
251
+ // Windows self-update via symlink is out of scope; point at the installer.
252
+ if (isWindows()) {
253
+ return emit(format, {
254
+ ok: false,
255
+ action: 'manual_required',
256
+ package: PACKAGE_NAME,
257
+ registry,
258
+ tag,
259
+ previous_version: CURRENT_VERSION,
260
+ install_method: 'binary',
261
+ message: 'Windows 暂不支持二进制原地自更新',
262
+ hint: '请通过安装脚本重新下载最新二进制',
263
+ upgrade_command: 'curl -fsSL <install-script-url> | bash',
264
+ });
265
+ }
266
+ let manifest;
267
+ try {
268
+ manifest = await fetchLatestManifest();
269
+ }
270
+ catch (e) {
271
+ const sources = getDownloadSources().map((s) => s.id).join(', ');
272
+ return emit(format, {
273
+ ok: false,
274
+ action: 'error',
275
+ package: PACKAGE_NAME,
276
+ registry,
277
+ tag,
278
+ previous_version: CURRENT_VERSION,
279
+ install_method: 'binary',
280
+ error: {
281
+ code: 'MANIFEST_FETCH_FAILED',
282
+ message: `无法获取二进制发布清单(源: ${sources}): ${e.message}`,
283
+ hint: '检查网络或用 MC_DOWNLOAD_BASE 指定可用下载源',
284
+ },
285
+ });
286
+ }
287
+ const targetVersion = manifest.version;
288
+ const hasNewer = isNewer(targetVersion, CURRENT_VERSION);
289
+ if (!hasNewer && !opts.force) {
290
+ return emit(format, {
291
+ ok: true,
292
+ action: 'already_up_to_date',
293
+ package: PACKAGE_NAME,
294
+ registry,
295
+ tag,
296
+ previous_version: CURRENT_VERSION,
297
+ current_version: CURRENT_VERSION,
298
+ latest_version: targetVersion,
299
+ install_method: 'binary',
300
+ message: `已是最新版本 v${CURRENT_VERSION}`,
301
+ });
302
+ }
303
+ // Confirm in an interactive TTY unless -y / json.
304
+ if (!opts.yes && format === 'text' && process.stdin.isTTY) {
305
+ const verb = hasNewer ? '升级' : '重装';
306
+ const arrow = hasNewer
307
+ ? `${chalk.dim(`v${CURRENT_VERSION}`)} → ${chalk.green(`v${targetVersion}`)}`
308
+ : `v${CURRENT_VERSION}`;
309
+ const ok = await confirm(`${verb} ${chalk.cyan(PACKAGE_NAME)} (二进制): ${arrow} ?`);
310
+ if (!ok) {
311
+ logger.warn('已取消');
312
+ return;
313
+ }
314
+ }
315
+ if (format === 'text') {
316
+ logger.info(`下载二进制 v${targetVersion} ...`);
317
+ }
318
+ try {
319
+ const result = await installFromManifest(manifest);
320
+ recordUpgrade(CURRENT_VERSION, result.version, tag);
321
+ return emit(format, {
322
+ ok: true,
323
+ action: 'updated',
324
+ package: PACKAGE_NAME,
325
+ registry,
326
+ tag,
327
+ previous_version: CURRENT_VERSION,
328
+ current_version: result.version,
329
+ latest_version: result.version,
330
+ install_method: 'binary',
331
+ message: `已升级到 v${result.version}(二进制)。重新打开终端使生效。`,
332
+ hint: `如需回滚上一版本,稍后可用 ${BIN_NAME} update --rollback(后续支持)`,
333
+ });
334
+ }
335
+ catch (e) {
336
+ return emit(format, {
337
+ ok: false,
338
+ action: 'error',
339
+ package: PACKAGE_NAME,
340
+ registry,
341
+ tag,
342
+ previous_version: CURRENT_VERSION,
343
+ install_method: 'binary',
344
+ error: {
345
+ code: 'BINARY_UPDATE_FAILED',
346
+ message: e.message,
347
+ hint: '旧版本未被破坏,可重试;或通过安装脚本重装',
348
+ },
349
+ });
350
+ }
351
+ }
231
352
  // ────────────────────────── Output rendering ──────────────────────────
232
353
  function emit(format, env) {
233
354
  if (format === 'json') {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -9,9 +9,35 @@ export declare class ConfigError extends BportalError {
9
9
  export declare class AuthRequiredError extends BportalError {
10
10
  constructor();
11
11
  }
12
+ /** 单条字段级校验错误,来自后端规则引擎 */
13
+ export interface FieldError {
14
+ field?: string | null;
15
+ /**
16
+ * 该字段在 order create/edit 的 JSON 里的路径,如 receiver.name、
17
+ * declareItems[0].hsCode。直接按此路径改请求体即可。
18
+ */
19
+ requestPath?: string | null;
20
+ value?: string | null;
21
+ msg?: string | null;
22
+ stdErrorCode?: string | null;
23
+ }
12
24
  export declare class ApiError extends BportalError {
13
25
  readonly errCode: string;
14
- constructor(errCode: string, message: string, hint?: string);
26
+ /**
27
+ * 后端在失败响应 data 里附带的结构化明细。
28
+ * 建单/改单校验不通过时含 fieldErrors,可定位到具体字段而不必解析 message。
29
+ */
30
+ readonly details?: {
31
+ fieldErrors?: FieldError[];
32
+ } | null | undefined;
33
+ constructor(errCode: string, message: string, hint?: string,
34
+ /**
35
+ * 后端在失败响应 data 里附带的结构化明细。
36
+ * 建单/改单校验不通过时含 fieldErrors,可定位到具体字段而不必解析 message。
37
+ */
38
+ details?: {
39
+ fieldErrors?: FieldError[];
40
+ } | null | undefined);
15
41
  }
16
42
  /** Structured error envelope for AI Agent consumption. */
17
43
  export interface ErrorEnvelope {
@@ -19,6 +45,8 @@ export interface ErrorEnvelope {
19
45
  code: string;
20
46
  message: string;
21
47
  hint?: string;
48
+ /** 字段级校验错误,仅建单/改单校验失败时存在 */
49
+ fieldErrors?: FieldError[];
22
50
  };
23
51
  }
24
52
  /**
package/dist/errors.js CHANGED
@@ -22,9 +22,16 @@ export class AuthRequiredError extends BportalError {
22
22
  }
23
23
  export class ApiError extends BportalError {
24
24
  errCode;
25
- constructor(errCode, message, hint) {
25
+ details;
26
+ constructor(errCode, message, hint,
27
+ /**
28
+ * 后端在失败响应 data 里附带的结构化明细。
29
+ * 建单/改单校验不通过时含 fieldErrors,可定位到具体字段而不必解析 message。
30
+ */
31
+ details) {
26
32
  super(message, errCode, hint);
27
33
  this.errCode = errCode;
34
+ this.details = details;
28
35
  this.name = 'ApiError';
29
36
  }
30
37
  }
@@ -37,11 +44,14 @@ export class DryRunSignal {
37
44
  }
38
45
  export function toErrorEnvelope(e) {
39
46
  if (e instanceof BportalError) {
47
+ // 字段级错误提到信封顶层,Agent 不用再往 details 里钻
48
+ const fieldErrors = e instanceof ApiError ? e.details?.fieldErrors : undefined;
40
49
  return {
41
50
  error: {
42
51
  code: e.code,
43
52
  message: e.message,
44
53
  ...(e.hint ? { hint: e.hint } : {}),
54
+ ...(fieldErrors && fieldErrors.length > 0 ? { fieldErrors } : {}),
45
55
  },
46
56
  };
47
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,OAAe,eAAe,EAC9B,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAA0B;QAC9B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;QACE,KAAK,CACH,aAAa,EACb,eAAe,EACf,2DAA2D,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,QAAS,SAAQ,YAAY;IAEtB;IADlB,YACkB,OAAe,EAC/B,OAAe,EACf,IAAa;QAEb,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAJd,YAAO,GAAP,OAAO,CAAQ;QAK/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAWD;;;GAGG;AACH,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC9B,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpC;SACF,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAGnB;IACA;IAHlB,YACE,OAAe,EACC,OAAe,eAAe,EAC9B,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAA0B;QAC9B,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,YAAY;IAC3C,YAAY,OAAe,EAAE,IAAa;QACxC,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD;QACE,KAAK,CACH,aAAa,EACb,eAAe,EACf,2DAA2D,CAC5D,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAeD,MAAM,OAAO,QAAS,SAAQ,YAAY;IAEtB;IAOA;IARlB,YACkB,OAAe,EAC/B,OAAe,EACf,IAAa;IACb;;;OAGG;IACa,OAA+C;QAE/D,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QATd,YAAO,GAAP,OAAO,CAAQ;QAOf,YAAO,GAAP,OAAO,CAAwC;QAG/D,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAaD;;;GAGG;AACH,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,UAAU,eAAe,CAAC,CAAU;IACxC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC;QAC9B,oCAAoC;QACpC,MAAM,WAAW,GAAG,CAAC,YAAY,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,OAAO;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClE;SACF,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,IAAI,EAAE,gBAAgB;SACvB;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigManager } from './config-manager.js';
2
- import type { GlobalOptions, TrackDetailDTO, LabelPrintDTO, OrderDetailResp, ProductRecommendDTO, ProductRecommendRequest, ClaimListResp, ClaimListRequest, OrderListRequest, OrderListResp, OrderAddressResp, AddressBookListRequest, CountrySearchResp, ProductSearchResp, TrackSubscriptionResp, ProductListResp, ProductDetailResp, FreightTrialResp, ProblemListRequest, ProblemListResp, AbnormalSuggestRequest, BatchAbnormalSuggestResponse, NotifyProblemListResp, ArrearOrderListResp, ServiceRepairOrderListRequest, RepairOrderListResp, ServiceOrderListRequest, ServiceOrderListResp, ServiceDetailResp, HandleRecordListResp, DssClaimDetailResp, ClaimReasonListResp, AccountBalanceResp, BillListResp, DailyFeeListResp, UnbilledDetailResp, UnbilledListResp, RechargeRecordListResp, TransferRecordListResp, FeeDetailResp, MaterialApplyListResp, MaterialDetailResp, MaterialQuotaResp, CollectAddressListResp, NoticeListResp, NoticeDetailResp, MessageListResp, MessageDetailResp, UnreadMessageCountResp, CargoKindListResp, CommodityListResp, HsCodeListResp, CustomerDeclareResp, FrozenRecordListResp, NotifyTypeListResp, SellerAccountListResp, PlatformOrderSyncResp, SyncOrderRecordListResp, PlatformOrderListResp, PlatformOrderDetailResp, IndivAuthRequest, CheckAuthCodeRequest, OrganAuthRequest, OpenBrandRequest, GATAuthRequest, OnboardingProgressResp, AuthScheduleResp, CustomerTypeItem, BrandAndAuthItem, ContractListResp, CreateOrderRequest, CreateOrderResp, EditOrderRequest, EditOrderResp, ForecastOrderResp, CancelOrderResp, InterceptOrderResp, AbnormalityHelpResp, ElectricProductResp, AIAbnormalSuggestResp } from '../types/index.js';
2
+ import type { GlobalOptions, TrackDetailDTO, LabelPrintDTO, OrderDetailResp, OrderFieldRulesResp, ProductRecommendDTO, ProductRecommendRequest, ClaimListResp, ClaimListRequest, OrderListRequest, OrderListResp, OrderAddressResp, AddressBookListRequest, CountrySearchResp, ProductSearchResp, TrackSubscriptionResp, ProductListResp, ProductDetailResp, FreightTrialResp, ProblemListRequest, ProblemListResp, AbnormalSuggestRequest, BatchAbnormalSuggestResponse, NotifyProblemListResp, ArrearOrderListResp, ServiceRepairOrderListRequest, RepairOrderListResp, ServiceOrderListRequest, ServiceOrderListResp, ServiceDetailResp, HandleRecordListResp, DssClaimDetailResp, ClaimReasonListResp, AccountBalanceResp, BillListResp, DailyFeeListResp, UnbilledDetailResp, UnbilledListResp, RechargeRecordListResp, TransferRecordListResp, FeeDetailResp, MaterialApplyListResp, MaterialDetailResp, MaterialQuotaResp, CollectAddressListResp, NoticeListResp, NoticeDetailResp, MessageListResp, MessageDetailResp, UnreadMessageCountResp, CargoKindListResp, CommodityListResp, HsCodeListResp, CustomerDeclareResp, FrozenRecordListResp, NotifyTypeListResp, SellerAccountListResp, PlatformOrderSyncResp, SyncOrderRecordListResp, PlatformOrderListResp, PlatformOrderDetailResp, IndivAuthRequest, CheckAuthCodeRequest, OrganAuthRequest, OpenBrandRequest, GATAuthRequest, OnboardingProgressResp, AuthScheduleResp, CustomerTypeItem, BrandAndAuthItem, ContractListResp, CreateOrderRequest, CreateOrderResp, EditOrderRequest, EditOrderResp, ForecastOrderResp, CancelOrderResp, InterceptOrderResp, AbnormalityHelpResp, ElectricProductResp, AIAbnormalSuggestResp, PlatformOrderUpdateResp, PlatformOrderPushFailure, ShipmentSubmitParams, ReturnSubmitParams, DestroySubmitParams, ReturnAddressListResp } from '../types/index.js';
3
3
  export declare class ApiClient {
4
4
  private readonly config;
5
5
  private readonly verbose;
@@ -40,6 +40,13 @@ export declare class ApiClient {
40
40
  listTrackSubscriptionByProduct(productCode?: string, countryCode?: string, pageNum?: number, pageSize?: number): Promise<TrackSubscriptionResp>;
41
41
  getLabelPrint(orderNo: string): Promise<LabelPrintDTO>;
42
42
  getOrderDetail(orderNo: string): Promise<OrderDetailResp>;
43
+ /**
44
+ * 查询下单字段规则(必填性的权威来源)。
45
+ *
46
+ * 必填由规则库按 (产品, 目的国, 客户) 配置,同一字段在不同产品下结论不同,
47
+ * 因此建单前必须查询而不能沿用本地清单。
48
+ */
49
+ getOrderFieldRules(productCode: string, country: string, requiredOnly?: boolean): Promise<OrderFieldRulesResp>;
43
50
  listOrders(request: OrderListRequest): Promise<OrderListResp>;
44
51
  listAddressBook(request: AddressBookListRequest): Promise<OrderAddressResp>;
45
52
  searchDestinationCountry(key: string, productCode?: string): Promise<CountrySearchResp>;
@@ -116,11 +123,34 @@ export declare class ApiClient {
116
123
  * 写操作——会真实改变订单的物流产品。
117
124
  */
118
125
  submitProductChange(orderNo: string, pkCode: string): Promise<void>;
126
+ /**
127
+ * 下达走货指令。
128
+ * 写操作——提交前服务端会自动校验指令是否允许下达。
129
+ */
130
+ submitShipment(params: ShipmentSubmitParams): Promise<void>;
131
+ /**
132
+ * 下达退件指令。退件地址取自商家退件地址库。
133
+ * 写操作。
134
+ */
135
+ submitReturn(params: ReturnSubmitParams): Promise<void>;
136
+ /**
137
+ * 下达销毁指令(不可逆写操作)。
138
+ */
139
+ submitDestroy(params: DestroySubmitParams): Promise<void>;
140
+ /**
141
+ * 查询商家退件地址库(只读)。
142
+ */
143
+ listReturnAddress(): Promise<ReturnAddressListResp>;
119
144
  listSellerAccounts(pageNum?: number, pageSize?: number): Promise<SellerAccountListResp>;
120
145
  syncPlatformOrders(sellerAccountId: string, timeFrom: string, timeTo: string): Promise<PlatformOrderSyncResp>;
121
146
  listPlatformSyncRecords(pageNum?: number, pageSize?: number): Promise<SyncOrderRecordListResp>;
122
147
  listPlatformOrders(status?: number, keyword?: string, filters?: Record<string, string | undefined>, pageNum?: number, pageSize?: number): Promise<PlatformOrderListResp>;
123
- pushPlatformOrders(ids: string): Promise<unknown>;
148
+ updatePlatformOrders(ids: string[], fields?: Record<string, string | undefined>): Promise<PlatformOrderUpdateResp>;
149
+ /**
150
+ * 推送平台订单。返回的是**失败明细数组**,空数组即全部成功。
151
+ * 已推送的单会被后端按状态拒绝并出现在返回里(防重复建物流单)。
152
+ */
153
+ pushPlatformOrders(ids: string): Promise<PlatformOrderPushFailure[] | null>;
124
154
  getPlatformOrderDetail(id: string): Promise<PlatformOrderDetailResp>;
125
155
  /** Returns the flowId that `checkAuthCode` needs. */
126
156
  startIndivRealNameAuth(request: IndivAuthRequest): Promise<string>;
@@ -131,6 +161,11 @@ export declare class ApiClient {
131
161
  */
132
162
  startOrganRealNameAuth(request: OrganAuthRequest): Promise<string>;
133
163
  openBrandAndApplyContract(request: OpenBrandRequest): Promise<string>;
164
+ /**
165
+ * 重复入驻场景下通知当前客户对应的销售(钉钉卡片)。
166
+ * 客户编码由服务端从 API Key 上下文取,通知内容服务端写死,本接口无入参、无返回数据。
167
+ */
168
+ notifyRepeatEnterSaler(): Promise<void>;
134
169
  authSaveGAT(request: GATAuthRequest): Promise<string>;
135
170
  queryOnboardingProgress(): Promise<OnboardingProgressResp>;
136
171
  queryAuthSchedule(): Promise<AuthScheduleResp>;
@@ -16,6 +16,12 @@ const JSON_BODY_PATHS = new Set([
16
16
  '/order/list',
17
17
  '/order/create',
18
18
  '/order/edit',
19
+ '/order/field/rules',
20
+ // 平台拉单域入参从 Map 改成类型化 DTO 后,后端这两个端点是 @Body 绑定;
21
+ // 漏登记会让 post() 发表单,@Body 解析器对表单串做 JSON.parseObject 直接抛
22
+ // "syntax error, expect {, actual error",表现为 SYSTEM_ERROR(预发实测到)。
23
+ '/platformOrder/order/list',
24
+ '/platformOrder/order/update',
19
25
  '/product-recommendation',
20
26
  '/shipping-fee/calculate',
21
27
  '/problem/list',
@@ -183,7 +189,7 @@ export class ApiClient {
183
189
  }
184
190
  const resp = res.data;
185
191
  if (!resp.success) {
186
- throw new ApiError(resp.errCode, resp.errMsg, '请检查单号是否正确、API Key 是否有对应权限,或稍后重试');
192
+ throw new ApiError(resp.errCode, resp.errMsg, '请检查单号是否正确、API Key 是否有对应权限,或稍后重试', resp.data);
187
193
  }
188
194
  return resp.data;
189
195
  }
@@ -215,7 +221,7 @@ export class ApiClient {
215
221
  }
216
222
  const resp = res.data;
217
223
  if (!resp.success) {
218
- throw new ApiError(resp.errCode, resp.errMsg, '请检查参数是否正确、API Key 是否有对应权限,或稍后重试');
224
+ throw new ApiError(resp.errCode, resp.errMsg, '请检查参数是否正确、API Key 是否有对应权限,或稍后重试', resp.data);
219
225
  }
220
226
  return resp.data;
221
227
  }
@@ -252,7 +258,7 @@ export class ApiClient {
252
258
  }
253
259
  const resp = res.data;
254
260
  if (!resp.success) {
255
- throw new ApiError(resp.errCode, resp.errMsg, '请检查订单字段是否完整、产品与目的国是否匹配,或稍后重试');
261
+ throw new ApiError(resp.errCode, resp.errMsg, '请检查订单字段是否完整、产品与目的国是否匹配,或稍后重试', resp.data);
256
262
  }
257
263
  return resp.data;
258
264
  }
@@ -319,6 +325,18 @@ export class ApiClient {
319
325
  async getOrderDetail(orderNo) {
320
326
  return this.get(`${API_PREFIX}/order/detail`, { orderNo }, true);
321
327
  }
328
+ /**
329
+ * 查询下单字段规则(必填性的权威来源)。
330
+ *
331
+ * 必填由规则库按 (产品, 目的国, 客户) 配置,同一字段在不同产品下结论不同,
332
+ * 因此建单前必须查询而不能沿用本地清单。
333
+ */
334
+ async getOrderFieldRules(productCode, country, requiredOnly) {
335
+ const body = { productCode, country };
336
+ if (requiredOnly)
337
+ body.requiredOnly = true;
338
+ return this.postJson(`${API_PREFIX}/order/field/rules`, body, true);
339
+ }
322
340
  async listOrders(request) {
323
341
  const body = {};
324
342
  if (request.statusName)
@@ -859,6 +877,32 @@ export class ApiClient {
859
877
  async submitProductChange(orderNo, pkCode) {
860
878
  return this.postJson(`${API_PREFIX}/custody/change-product`, { orderNo, pkCode }, true);
861
879
  }
880
+ /**
881
+ * 下达走货指令。
882
+ * 写操作——提交前服务端会自动校验指令是否允许下达。
883
+ */
884
+ async submitShipment(params) {
885
+ return this.postJson(`${API_PREFIX}/custody/shipment`, params, true);
886
+ }
887
+ /**
888
+ * 下达退件指令。退件地址取自商家退件地址库。
889
+ * 写操作。
890
+ */
891
+ async submitReturn(params) {
892
+ return this.postJson(`${API_PREFIX}/custody/return`, params, true);
893
+ }
894
+ /**
895
+ * 下达销毁指令(不可逆写操作)。
896
+ */
897
+ async submitDestroy(params) {
898
+ return this.postJson(`${API_PREFIX}/custody/destroy`, params, true);
899
+ }
900
+ /**
901
+ * 查询商家退件地址库(只读)。
902
+ */
903
+ async listReturnAddress() {
904
+ return this.postJson(`${API_PREFIX}/custody/return-address/list`, {}, true);
905
+ }
862
906
  // ==================== Platform Order (平台拉单) ====================
863
907
  async listSellerAccounts(pageNum, pageSize) {
864
908
  const body = {};
@@ -895,8 +939,23 @@ export class ApiClient {
895
939
  body.pageNum = pageNum;
896
940
  if (pageSize != null)
897
941
  body.pageSize = pageSize;
898
- return this.post(`${API_PREFIX}/platformOrder/order/list`, body, true);
942
+ return this.postJson(`${API_PREFIX}/platformOrder/order/list`, body, true);
899
943
  }
944
+ async updatePlatformOrders(ids, fields) {
945
+ const body = { ids };
946
+ if (fields) {
947
+ for (const [k, v] of Object.entries(fields)) {
948
+ if (v)
949
+ body[k] = v;
950
+ }
951
+ }
952
+ // ids 是数组,表单序列化本就表达不了;后端也是 @Body 绑定
953
+ return this.postJson(`${API_PREFIX}/platformOrder/order/update`, body, true);
954
+ }
955
+ /**
956
+ * 推送平台订单。返回的是**失败明细数组**,空数组即全部成功。
957
+ * 已推送的单会被后端按状态拒绝并出现在返回里(防重复建物流单)。
958
+ */
900
959
  async pushPlatformOrders(ids) {
901
960
  return this.post(`${API_PREFIX}/platformOrder/order/push`, { ids }, true);
902
961
  }
@@ -982,6 +1041,13 @@ export class ApiClient {
982
1041
  body.cLegalName = request.cLegalName;
983
1042
  return this.postJson(`${API_PREFIX}/onboarding/open-brand`, body, true);
984
1043
  }
1044
+ /**
1045
+ * 重复入驻场景下通知当前客户对应的销售(钉钉卡片)。
1046
+ * 客户编码由服务端从 API Key 上下文取,通知内容服务端写死,本接口无入参、无返回数据。
1047
+ */
1048
+ async notifyRepeatEnterSaler() {
1049
+ await this.postJson(`${API_PREFIX}/onboarding/repeat-enter/notify-saler`, {}, true);
1050
+ }
985
1051
  async authSaveGAT(request) {
986
1052
  const body = {
987
1053
  customerProfile: request.customerProfile,