@youzan-cloud/zan-saas-cli 0.0.0-stage → 0.1.0-beta.4

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 (329) hide show
  1. package/DEPENDENCIES.json +50 -0
  2. package/INSTALL.md +79 -0
  3. package/LICENSE +21 -0
  4. package/NOTICE +1 -0
  5. package/README.md +151 -2
  6. package/THIRD_PARTY_NOTICES.txt +162 -0
  7. package/bin/zan-saas-cli.js +28 -0
  8. package/internal/registry/index.js +123 -0
  9. package/internal/registry/manifest.json +424 -0
  10. package/npm-shrinkwrap.json +86 -0
  11. package/package.json +33 -4
  12. package/skills/README.md +30 -0
  13. package/skills/zan-saas/SKILL.md +54 -0
  14. package/skills/zan-saas/references/host-entry.md +25 -0
  15. package/skills/zan-saas-access/SKILL.md +37 -0
  16. package/skills/zan-saas-access/references/role-list.md +11 -0
  17. package/skills/zan-saas-access/references/staff-perms-get.md +11 -0
  18. package/skills/zan-saas-aftersale/SKILL.md +31 -0
  19. package/skills/zan-saas-aftersale/references/case-list.md +13 -0
  20. package/skills/zan-saas-aftersale/references/case-scan.md +31 -0
  21. package/skills/zan-saas-benefit/SKILL.md +46 -0
  22. package/skills/zan-saas-benefit/references/card-get.md +7 -0
  23. package/skills/zan-saas-benefit/references/card-grant-list.md +11 -0
  24. package/skills/zan-saas-benefit/references/card-list.md +7 -0
  25. package/skills/zan-saas-benefit/references/customer-card-get.md +7 -0
  26. package/skills/zan-saas-benefit/references/customer-card-list.md +7 -0
  27. package/skills/zan-saas-coupon/SKILL.md +41 -0
  28. package/skills/zan-saas-coupon/references/activity-get.md +11 -0
  29. package/skills/zan-saas-coupon/references/activity-list.md +15 -0
  30. package/skills/zan-saas-coupon/references/voucher-get.md +13 -0
  31. package/skills/zan-saas-coupon/references/voucher-list.md +25 -0
  32. package/skills/zan-saas-customer/SKILL.md +73 -0
  33. package/skills/zan-saas-customer/references/customer-scan.md +11 -0
  34. package/skills/zan-saas-customer/references/segment-list.md +22 -0
  35. package/skills/zan-saas-fulfillment/SKILL.md +36 -0
  36. package/skills/zan-saas-fulfillment/references/delivery-get.md +11 -0
  37. package/skills/zan-saas-fulfillment/references/shipment-list.md +11 -0
  38. package/skills/zan-saas-fulfillment/references/waybill-get.md +9 -0
  39. package/skills/zan-saas-interaction/SKILL.md +37 -0
  40. package/skills/zan-saas-interaction/references/lottery-get.md +11 -0
  41. package/skills/zan-saas-interaction/references/lottery-list.md +19 -0
  42. package/skills/zan-saas-item/SKILL.md +61 -0
  43. package/skills/zan-saas-item/references/attribute-list.md +11 -0
  44. package/skills/zan-saas-item/references/brand-list.md +7 -0
  45. package/skills/zan-saas-item/references/classification-get.md +7 -0
  46. package/skills/zan-saas-item/references/classification-list.md +7 -0
  47. package/skills/zan-saas-item/references/group-list.md +9 -0
  48. package/skills/zan-saas-item/references/item-content.md +9 -0
  49. package/skills/zan-saas-item/references/item-get.md +9 -0
  50. package/skills/zan-saas-item/references/item-search.md +23 -0
  51. package/skills/zan-saas-item/references/product-identity.md +11 -0
  52. package/skills/zan-saas-member/SKILL.md +41 -0
  53. package/skills/zan-saas-member/references/customer-level-get.md +7 -0
  54. package/skills/zan-saas-member/references/growth-log-list.md +17 -0
  55. package/skills/zan-saas-member/references/membership-get.md +7 -0
  56. package/skills/zan-saas-order/SKILL.md +56 -0
  57. package/skills/zan-saas-order/references/order-get.md +26 -0
  58. package/skills/zan-saas-order/references/order-list.md +25 -0
  59. package/skills/zan-saas-order/references/order-scan.md +35 -0
  60. package/skills/zan-saas-org/SKILL.md +37 -0
  61. package/skills/zan-saas-org/references/staff-get.md +15 -0
  62. package/skills/zan-saas-org/references/staff-role-get.md +11 -0
  63. package/skills/zan-saas-org/references/unit-get.md +11 -0
  64. package/skills/zan-saas-org/references/unit-list.md +15 -0
  65. package/skills/zan-saas-points/SKILL.md +42 -0
  66. package/skills/zan-saas-points/references/account-get.md +7 -0
  67. package/skills/zan-saas-points/references/log-list.md +17 -0
  68. package/skills/zan-saas-points/references/rule-list.md +2 -0
  69. package/skills/zan-saas-privacy/SKILL.md +30 -0
  70. package/skills/zan-saas-privacy/references/field-decrypt.md +19 -0
  71. package/skills/zan-saas-shared/SKILL.md +94 -0
  72. package/skills/zan-saas-shared/references/authentication.md +52 -0
  73. package/skills/zan-saas-shared/references/value-processing.md +27 -0
  74. package/skills/zan-saas-stock/SKILL.md +28 -0
  75. package/skills/zan-saas-stock/references/log-list.md +11 -0
  76. package/skills/zan-saas-valuecard/SKILL.md +37 -0
  77. package/skills/zan-saas-valuecard/references/card-get.md +13 -0
  78. package/skills/zan-saas-valuecard/references/card-list.md +11 -0
  79. package/src/auth/browser.js +28 -0
  80. package/src/auth/callback-server.js +99 -0
  81. package/src/auth/config.js +53 -0
  82. package/src/auth/credential-store.js +109 -0
  83. package/src/auth/oauth-client.js +105 -0
  84. package/src/auth/pkce.js +28 -0
  85. package/src/auth/session.js +178 -0
  86. package/src/auth/tool.js +25 -0
  87. package/src/cli/command-paths.js +126 -0
  88. package/src/cli/context-help.js +102 -0
  89. package/src/cli/diagnostic-command.js +57 -0
  90. package/src/cli/domain-catalog.js +42 -0
  91. package/src/cli/help-text.js +32 -0
  92. package/src/cli/native-loader.js +120 -0
  93. package/src/cli/native-path.js +22 -0
  94. package/src/cli/parser-policy.js +141 -0
  95. package/src/cli/program.js +134 -0
  96. package/src/cli/skill-catalog.js +241 -0
  97. package/src/commands/native/access/commands.index.json +24 -0
  98. package/src/commands/native/access/domain.json +3 -0
  99. package/src/commands/native/access/role/list/command.js +141 -0
  100. package/src/commands/native/access/role/list/schema.json +393 -0
  101. package/src/commands/native/access/staff-perms/get/command.js +119 -0
  102. package/src/commands/native/access/staff-perms/get/schema.json +703 -0
  103. package/src/commands/native/aftersale/case/get/command.js +104 -0
  104. package/src/commands/native/aftersale/case/get/exact-json.js +52 -0
  105. package/src/commands/native/aftersale/case/get/money.js +28 -0
  106. package/src/commands/native/aftersale/case/get/projection.js +120 -0
  107. package/src/commands/native/aftersale/case/get/query.js +72 -0
  108. package/src/commands/native/aftersale/case/get/schema.json +134 -0
  109. package/src/commands/native/aftersale/case/list/command.js +135 -0
  110. package/src/commands/native/aftersale/case/list/schema.json +1095 -0
  111. package/src/commands/native/aftersale/case/scan/command.js +110 -0
  112. package/src/commands/native/aftersale/case/scan/query.js +62 -0
  113. package/src/commands/native/aftersale/case/scan/scan.js +78 -0
  114. package/src/commands/native/aftersale/case/scan/schema.json +964 -0
  115. package/src/commands/native/aftersale/case/scan/search.js +108 -0
  116. package/src/commands/native/aftersale/commands.index.json +42 -0
  117. package/src/commands/native/aftersale/domain.json +3 -0
  118. package/src/commands/native/aftersale/refund/list/command.js +97 -0
  119. package/src/commands/native/aftersale/refund/list/money.js +25 -0
  120. package/src/commands/native/aftersale/refund/list/projection.js +50 -0
  121. package/src/commands/native/aftersale/refund/list/query.js +73 -0
  122. package/src/commands/native/aftersale/refund/list/schema.json +130 -0
  123. package/src/commands/native/aftersale/shared/query.js +58 -0
  124. package/src/commands/native/aftersale/shared/search.js +128 -0
  125. package/src/commands/native/benefit/card-definition/get/command.js +110 -0
  126. package/src/commands/native/benefit/card-definition/get/schema.json +545 -0
  127. package/src/commands/native/benefit/card-definition/list/command.js +106 -0
  128. package/src/commands/native/benefit/card-definition/list/schema.json +690 -0
  129. package/src/commands/native/benefit/card-grant/list/command.js +135 -0
  130. package/src/commands/native/benefit/card-grant/list/schema.json +758 -0
  131. package/src/commands/native/benefit/commands.index.json +51 -0
  132. package/src/commands/native/benefit/customer-card/get/command.js +110 -0
  133. package/src/commands/native/benefit/customer-card/get/schema.json +340 -0
  134. package/src/commands/native/benefit/customer-card/list/command.js +103 -0
  135. package/src/commands/native/benefit/customer-card/list/schema.json +731 -0
  136. package/src/commands/native/benefit/domain.json +3 -0
  137. package/src/commands/native/coupon/activity/get/command.js +183 -0
  138. package/src/commands/native/coupon/activity/get/schema.json +624 -0
  139. package/src/commands/native/coupon/activity/list/command.js +169 -0
  140. package/src/commands/native/coupon/activity/list/schema.json +845 -0
  141. package/src/commands/native/coupon/commands.index.json +42 -0
  142. package/src/commands/native/coupon/domain.json +3 -0
  143. package/src/commands/native/coupon/shared/query.js +15 -0
  144. package/src/commands/native/coupon/voucher/get/command.js +113 -0
  145. package/src/commands/native/coupon/voucher/get/schema.json +147 -0
  146. package/src/commands/native/coupon/voucher/list/command.js +155 -0
  147. package/src/commands/native/coupon/voucher/list/schema.json +772 -0
  148. package/src/commands/native/customer/commands.index.json +96 -0
  149. package/src/commands/native/customer/customer/get/adapter.js +82 -0
  150. package/src/commands/native/customer/customer/get/command.js +106 -0
  151. package/src/commands/native/customer/customer/get/schema.json +958 -0
  152. package/src/commands/native/customer/customer/list/command.js +78 -0
  153. package/src/commands/native/customer/customer/list/input.js +145 -0
  154. package/src/commands/native/customer/customer/list/query.js +103 -0
  155. package/src/commands/native/customer/customer/list/schema.json +969 -0
  156. package/src/commands/native/customer/customer/scan/command.js +80 -0
  157. package/src/commands/native/customer/customer/scan/scan.js +92 -0
  158. package/src/commands/native/customer/customer/scan/schema.json +211 -0
  159. package/src/commands/native/customer/customer-tag/get/command.js +166 -0
  160. package/src/commands/native/customer/customer-tag/get/schema.json +317 -0
  161. package/src/commands/native/customer/customer-tag/list/command.js +143 -0
  162. package/src/commands/native/customer/customer-tag/list/schema.json +259 -0
  163. package/src/commands/native/customer/domain.json +3 -0
  164. package/src/commands/native/customer/segment/list/command.js +96 -0
  165. package/src/commands/native/customer/segment/list/query.js +98 -0
  166. package/src/commands/native/customer/segment/list/schema.json +135 -0
  167. package/src/commands/native/customer/segment-customer/list/command.js +171 -0
  168. package/src/commands/native/customer/segment-customer/list/schema.json +123 -0
  169. package/src/commands/native/customer/shared/search-input.js +179 -0
  170. package/src/commands/native/customer/shared/search-page.js +54 -0
  171. package/src/commands/native/customer/tag/get/command.js +73 -0
  172. package/src/commands/native/customer/tag/get/schema.json +339 -0
  173. package/src/commands/native/customer/tagcategory/get/command.js +80 -0
  174. package/src/commands/native/customer/tagcategory/get/query.js +98 -0
  175. package/src/commands/native/customer/tagcategory/get/schema.json +339 -0
  176. package/src/commands/native/customer/tagcategory/list/command.js +127 -0
  177. package/src/commands/native/customer/tagcategory/list/schema.json +394 -0
  178. package/src/commands/native/fulfillment/commands.index.json +33 -0
  179. package/src/commands/native/fulfillment/delivery/get/command.js +107 -0
  180. package/src/commands/native/fulfillment/delivery/get/projection.js +142 -0
  181. package/src/commands/native/fulfillment/delivery/get/schema.json +173 -0
  182. package/src/commands/native/fulfillment/domain.json +3 -0
  183. package/src/commands/native/fulfillment/shipment/list/command.js +83 -0
  184. package/src/commands/native/fulfillment/shipment/list/projection.js +130 -0
  185. package/src/commands/native/fulfillment/shipment/list/schema.json +752 -0
  186. package/src/commands/native/fulfillment/waybill/get/command.js +193 -0
  187. package/src/commands/native/fulfillment/waybill/get/response.js +68 -0
  188. package/src/commands/native/fulfillment/waybill/get/schema.json +190 -0
  189. package/src/commands/native/interaction/commands.index.json +24 -0
  190. package/src/commands/native/interaction/domain.json +3 -0
  191. package/src/commands/native/interaction/lottery/get/command.js +61 -0
  192. package/src/commands/native/interaction/lottery/get/query.js +152 -0
  193. package/src/commands/native/interaction/lottery/get/schema.json +1004 -0
  194. package/src/commands/native/interaction/lottery/list/command.js +176 -0
  195. package/src/commands/native/interaction/lottery/list/schema.json +898 -0
  196. package/src/commands/native/item/attribute/list/command.js +122 -0
  197. package/src/commands/native/item/attribute/list/schema.json +727 -0
  198. package/src/commands/native/item/brand/list/command.js +114 -0
  199. package/src/commands/native/item/brand/list/schema.json +725 -0
  200. package/src/commands/native/item/classification/get/command.js +87 -0
  201. package/src/commands/native/item/classification/get/schema.json +596 -0
  202. package/src/commands/native/item/classification/list/command.js +105 -0
  203. package/src/commands/native/item/classification/list/schema.json +676 -0
  204. package/src/commands/native/item/commands.index.json +87 -0
  205. package/src/commands/native/item/domain.json +1 -0
  206. package/src/commands/native/item/group/list/command.js +122 -0
  207. package/src/commands/native/item/group/list/schema.json +809 -0
  208. package/src/commands/native/item/item/get/command.js +122 -0
  209. package/src/commands/native/item/item/get/schema.json +3799 -0
  210. package/src/commands/native/item/item/list/command.js +7 -0
  211. package/src/commands/native/item/item/list/schema.json +1118 -0
  212. package/src/commands/native/item/item/scan/command.js +7 -0
  213. package/src/commands/native/item/item/scan/schema.json +1046 -0
  214. package/src/commands/native/item/item-content/get/command.js +54 -0
  215. package/src/commands/native/item/item-content/get/schema.json +677 -0
  216. package/src/commands/native/item/shared/api.js +31 -0
  217. package/src/commands/native/item/shared/content.js +20 -0
  218. package/src/commands/native/item/shared/diagnostics.js +61 -0
  219. package/src/commands/native/item/shared/h5.js +63 -0
  220. package/src/commands/native/item/shared/identity.js +62 -0
  221. package/src/commands/native/item/shared/normalize.js +49 -0
  222. package/src/commands/native/item/shared/scope.js +22 -0
  223. package/src/commands/native/item/shared/search-command.js +61 -0
  224. package/src/commands/native/item/shared/search-options.js +150 -0
  225. package/src/commands/native/item/shared/search.js +158 -0
  226. package/src/commands/native/member/commands.index.json +60 -0
  227. package/src/commands/native/member/customer-level/get/command.js +122 -0
  228. package/src/commands/native/member/customer-level/get/schema.json +300 -0
  229. package/src/commands/native/member/domain.json +3 -0
  230. package/src/commands/native/member/growth/get/command.js +64 -0
  231. package/src/commands/native/member/growth/get/schema.json +283 -0
  232. package/src/commands/native/member/growth-log/list/command.js +203 -0
  233. package/src/commands/native/member/growth-log/list/schema.json +695 -0
  234. package/src/commands/native/member/level/get/command.js +70 -0
  235. package/src/commands/native/member/level/get/query.js +125 -0
  236. package/src/commands/native/member/level/get/schema.json +339 -0
  237. package/src/commands/native/member/level/list/command.js +50 -0
  238. package/src/commands/native/member/level/list/query.js +109 -0
  239. package/src/commands/native/member/level/list/schema.json +104 -0
  240. package/src/commands/native/member/membership/get/command.js +78 -0
  241. package/src/commands/native/member/membership/get/schema.json +283 -0
  242. package/src/commands/native/order/commands.index.json +33 -0
  243. package/src/commands/native/order/domain.json +3 -0
  244. package/src/commands/native/order/order/get/command.js +155 -0
  245. package/src/commands/native/order/order/get/schema.json +1167 -0
  246. package/src/commands/native/order/order/list/command.js +230 -0
  247. package/src/commands/native/order/order/list/schema.json +1363 -0
  248. package/src/commands/native/order/order/scan/command.js +148 -0
  249. package/src/commands/native/order/order/scan/scan.js +89 -0
  250. package/src/commands/native/order/order/scan/schema.json +1445 -0
  251. package/src/commands/native/order/shared/projection.js +183 -0
  252. package/src/commands/native/order/shared/query.js +84 -0
  253. package/src/commands/native/order/shared/search.js +112 -0
  254. package/src/commands/native/org/commands.index.json +42 -0
  255. package/src/commands/native/org/domain.json +3 -0
  256. package/src/commands/native/org/shared/single-staff.js +115 -0
  257. package/src/commands/native/org/staff/get/command.js +148 -0
  258. package/src/commands/native/org/staff/get/schema.json +114 -0
  259. package/src/commands/native/org/staff-role/get/command.js +45 -0
  260. package/src/commands/native/org/staff-role/get/schema.json +93 -0
  261. package/src/commands/native/org/unit/get/command.js +131 -0
  262. package/src/commands/native/org/unit/get/schema.json +478 -0
  263. package/src/commands/native/org/unit/list/command.js +187 -0
  264. package/src/commands/native/org/unit/list/schema.json +828 -0
  265. package/src/commands/native/points/account/get/command.js +65 -0
  266. package/src/commands/native/points/account/get/schema.json +303 -0
  267. package/src/commands/native/points/commands.index.json +33 -0
  268. package/src/commands/native/points/domain.json +3 -0
  269. package/src/commands/native/points/log/list/command.js +141 -0
  270. package/src/commands/native/points/log/list/schema.json +761 -0
  271. package/src/commands/native/points/rule/list/command.js +82 -0
  272. package/src/commands/native/points/rule/list/schema.json +294 -0
  273. package/src/commands/native/privacy/commands.index.json +15 -0
  274. package/src/commands/native/privacy/domain.json +3 -0
  275. package/src/commands/native/privacy/field/decrypt/command.js +185 -0
  276. package/src/commands/native/privacy/field/decrypt/schema.json +656 -0
  277. package/src/commands/native/privacy/shared/order-source.js +33 -0
  278. package/src/commands/native/stock/commands.index.json +15 -0
  279. package/src/commands/native/stock/domain.json +3 -0
  280. package/src/commands/native/stock/log/list/command.js +207 -0
  281. package/src/commands/native/stock/log/list/schema.json +922 -0
  282. package/src/commands/native/valuecard/card/get/command.js +107 -0
  283. package/src/commands/native/valuecard/card/get/schema.json +683 -0
  284. package/src/commands/native/valuecard/card/list/command.js +136 -0
  285. package/src/commands/native/valuecard/card/list/pagination.js +23 -0
  286. package/src/commands/native/valuecard/card/list/schema.json +780 -0
  287. package/src/commands/native/valuecard/commands.index.json +24 -0
  288. package/src/commands/native/valuecard/domain.json +3 -0
  289. package/src/commands/native/valuecard/shared/projection.js +57 -0
  290. package/src/commands/system/api.js +47 -0
  291. package/src/commands/system/auth.js +118 -0
  292. package/src/commands/system/contracts.js +373 -0
  293. package/src/commands/system/doctor.js +24 -0
  294. package/src/commands/system/install.js +41 -0
  295. package/src/commands/system/printer.js +16 -0
  296. package/src/commands/system/schema.js +162 -0
  297. package/src/commands/system/shop-guidance.js +9 -0
  298. package/src/commands/system/shop.js +237 -0
  299. package/src/commands/system/skills.js +49 -0
  300. package/src/execution/beijing-date-time.js +29 -0
  301. package/src/execution/beijing-time.js +21 -0
  302. package/src/execution/bounded-input.js +42 -0
  303. package/src/execution/command-io.js +137 -0
  304. package/src/execution/command-policy.js +41 -0
  305. package/src/execution/command-schema.js +131 -0
  306. package/src/execution/datetime.js +83 -0
  307. package/src/execution/error-details.js +399 -0
  308. package/src/execution/error-model.js +82 -0
  309. package/src/execution/exact-json.js +80 -0
  310. package/src/execution/list-total.js +10 -0
  311. package/src/execution/money.js +59 -0
  312. package/src/execution/parser-error.js +66 -0
  313. package/src/execution/privacy.js +197 -0
  314. package/src/execution/public-schema.js +52 -0
  315. package/src/execution/query-api.js +101 -0
  316. package/src/execution/range.js +84 -0
  317. package/src/execution/request-state.js +55 -0
  318. package/src/execution/schema-completeness.js +116 -0
  319. package/src/execution/shop-query.js +54 -0
  320. package/src/execution/target-shop-default.js +23 -0
  321. package/src/execution/target-shop.js +49 -0
  322. package/src/identity/context-store.js +54 -0
  323. package/src/identity/context.js +38 -0
  324. package/src/installation/install.js +158 -0
  325. package/src/installation/npm-error.js +93 -0
  326. package/src/installation/skill.js +113 -0
  327. package/src/transport/account-api.js +152 -0
  328. package/src/transport/api.js +199 -0
  329. package/src/transport/shop-app.js +63 -0
@@ -0,0 +1,964 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "input": {
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "scope": {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "properties": {
11
+ "kdtId": {
12
+ "$ref": "#/definitions/shopId"
13
+ }
14
+ },
15
+ "required": [
16
+ "kdtId"
17
+ ]
18
+ },
19
+ "filters": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "properties": {
23
+ "orderNo": {
24
+ "type": "string",
25
+ "minLength": 1,
26
+ "maxLength": 128,
27
+ "pattern": "^[^\\s\\p{Cc}]+$",
28
+ "description": "精确交易订单号,一张订单可以关联多笔售后。"
29
+ },
30
+ "caseId": {
31
+ "type": "string",
32
+ "minLength": 1,
33
+ "maxLength": 128,
34
+ "pattern": "^[^\\s\\p{Cc}]+$",
35
+ "description": "精确售后单号,非订单号、资金条目号或物流单号。"
36
+ },
37
+ "yzOpenId": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 128,
41
+ "pattern": "^[^\\s\\p{Cc}]+$",
42
+ "description": "有赞客户标识,非员工身份;预览遮盖。"
43
+ },
44
+ "buyerPhone": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 64,
48
+ "pattern": "^[^\\s\\p{Cc}](?:[^\\p{Cc}]*[^\\s\\p{Cc}])?$",
49
+ "description": "买家电话,无首尾空白或控制字符;预览遮盖。"
50
+ },
51
+ "demand": {
52
+ "type": "integer",
53
+ "enum": [
54
+ 1,
55
+ 2,
56
+ 3
57
+ ],
58
+ "description": "申请诉求:1=仅退款;2=退货退款;3=换货;未知请求值拒绝。"
59
+ },
60
+ "status": {
61
+ "type": "string",
62
+ "$ref": "#/definitions/caseStatusFilter",
63
+ "description": "售后状态筛选。WAIT_SELLER_AGREE=等待卖家同意;WAIT_BUYER_RETURN_GOODS=等待买家退货;WAIT_SELLER_CONFIRM_GOODS=等待卖家确认收货;SELLER_REFUSE_BUYER=卖家拒绝退款;CLOSED=退款关闭;SUCCESS=退款成功;SELLER_REFUSE_BUYER_RETURN_GOODS=卖家拒绝收货等待买家处理;SELLER_RETURN_GOODS=商家确认收货并发送换货;CUSTOMER_SERVICE_IN=客满介入。未知请求值拒绝。"
64
+ },
65
+ "type": {
66
+ "type": "integer",
67
+ "enum": [
68
+ 1,
69
+ 2,
70
+ 3,
71
+ 4,
72
+ 5
73
+ ],
74
+ "description": "申请类型:1=买家申请退款;2=商家主动退款;3=一键退款;4=零售门店换货;5=微商城换货。"
75
+ },
76
+ "phase": {
77
+ "type": "integer",
78
+ "enum": [
79
+ 1,
80
+ 2
81
+ ],
82
+ "description": "阶段:1=售中;2=售后。"
83
+ },
84
+ "handlingStatus": {
85
+ "type": "integer",
86
+ "enum": [
87
+ 0,
88
+ 1,
89
+ 2
90
+ ],
91
+ "description": "待处理方:0=待商家处理;1=待买家处理;2=客服介入中。"
92
+ },
93
+ "serviceStatus": {
94
+ "type": "integer",
95
+ "enum": [
96
+ 1,
97
+ 2,
98
+ 3
99
+ ],
100
+ "description": "客服介入筛选:1=不需要客服介入;2=需要客服介入;3=介入结束;不是响应字典。"
101
+ },
102
+ "itemTitle": {
103
+ "type": "string",
104
+ "minLength": 1,
105
+ "maxLength": 256,
106
+ "pattern": "^[^\\s\\p{Cc}](?:[^\\p{Cc}]*[^\\s\\p{Cc}])?$",
107
+ "description": "商品名称搜索文本,不保证匹配算法;预览遮盖。"
108
+ },
109
+ "skuNo": {
110
+ "type": "string",
111
+ "minLength": 1,
112
+ "maxLength": 128,
113
+ "pattern": "^[^\\s\\p{Cc}](?:[^\\p{Cc}]*[^\\s\\p{Cc}])?$",
114
+ "description": "商品规格编码,不是商品ID。"
115
+ },
116
+ "deliveryStatus": {
117
+ "type": "integer",
118
+ "enum": [
119
+ 1,
120
+ 2
121
+ ],
122
+ "description": "发货筛选:1=未发货;2=已发货,不证明退货物流结果。"
123
+ },
124
+ "refundMode": {
125
+ "type": "integer",
126
+ "enum": [
127
+ 0,
128
+ 1,
129
+ 2
130
+ ],
131
+ "description": "退款方式筛选:0=原路退;1=现金退;2=标记退。"
132
+ },
133
+ "returnStockStatus": {
134
+ "type": "integer",
135
+ "enum": [
136
+ 0,
137
+ 10,
138
+ 20
139
+ ],
140
+ "description": "库存归还筛选:0=无需入库;10=待入库;20=归还库存成功。"
141
+ },
142
+ "saleWay": {
143
+ "type": "integer",
144
+ "enum": [
145
+ 1,
146
+ 2
147
+ ],
148
+ "description": "销售渠道:1=门店;2=网店。"
149
+ },
150
+ "payType": {
151
+ "type": "integer",
152
+ "enum": [
153
+ 0,
154
+ 1,
155
+ 2,
156
+ 3,
157
+ 4,
158
+ 5,
159
+ 6,
160
+ 7,
161
+ 8
162
+ ],
163
+ "description": "支付类型:0=老方式,支付方式与渠道合并;1=无需支付;2=现付;3=部分支付;4=货到付款;5=线下收银;6=单次支付;7=阶段支付;8=外部支付。"
164
+ }
165
+ },
166
+ "required": []
167
+ },
168
+ "range": {
169
+ "type": "object",
170
+ "additionalProperties": false,
171
+ "properties": {
172
+ "created": {
173
+ "type": "object",
174
+ "additionalProperties": false,
175
+ "properties": {
176
+ "start": {
177
+ "$ref": "#/definitions/time"
178
+ },
179
+ "end": {
180
+ "$ref": "#/definitions/time"
181
+ }
182
+ },
183
+ "required": [
184
+ "start",
185
+ "end"
186
+ ],
187
+ "description": "北京时间三位毫秒文本,须为整秒且开始严格早于结束;不承诺端点包含性。"
188
+ },
189
+ "updated": {
190
+ "type": "object",
191
+ "additionalProperties": false,
192
+ "properties": {
193
+ "start": {
194
+ "$ref": "#/definitions/time"
195
+ },
196
+ "end": {
197
+ "$ref": "#/definitions/time"
198
+ }
199
+ },
200
+ "required": [
201
+ "start",
202
+ "end"
203
+ ],
204
+ "description": "北京时间三位毫秒文本,须为整秒且开始严格早于结束;不承诺端点包含性。"
205
+ }
206
+ },
207
+ "required": [
208
+ "created"
209
+ ]
210
+ },
211
+ "limits": {
212
+ "type": "object",
213
+ "additionalProperties": false,
214
+ "properties": {
215
+ "maxItems": {
216
+ "type": "integer",
217
+ "minimum": 1,
218
+ "maximum": 2000,
219
+ "description": "唯一摘要数量预算,不裁切整页,不保证返回该数量。"
220
+ },
221
+ "maxRequests": {
222
+ "type": "integer",
223
+ "minimum": 2,
224
+ "maximum": 101,
225
+ "description": "总业务请求预算,包含店铺核验及未提交页,无自动重试。"
226
+ }
227
+ },
228
+ "required": [
229
+ "maxItems",
230
+ "maxRequests"
231
+ ]
232
+ }
233
+ },
234
+ "required": [
235
+ "scope",
236
+ "filters",
237
+ "range",
238
+ "limits"
239
+ ]
240
+ },
241
+ "output": {
242
+ "type": "object",
243
+ "additionalProperties": false,
244
+ "properties": {
245
+ "data": {
246
+ "type": "object",
247
+ "additionalProperties": false,
248
+ "properties": {
249
+ "cases": {
250
+ "type": "array",
251
+ "maxItems": 2000,
252
+ "items": {
253
+ "$ref": "#/definitions/caseSummary"
254
+ },
255
+ "description": "已完整提交页中首次出现的售后摘要,按店铺及售后号去重;有限观察,不是全集。"
256
+ },
257
+ "pagination": {
258
+ "type": "object",
259
+ "additionalProperties": false,
260
+ "properties": {
261
+ "maxItems": {
262
+ "type": "integer",
263
+ "minimum": 1,
264
+ "maximum": 2000,
265
+ "description": "唯一摘要数量预算,不裁切整页,不保证返回该数量。"
266
+ },
267
+ "maxRequests": {
268
+ "type": "integer",
269
+ "minimum": 2,
270
+ "maximum": 101,
271
+ "description": "总业务请求预算,包含店铺核验及未提交页,无自动重试。"
272
+ },
273
+ "requests": {
274
+ "type": "integer",
275
+ "minimum": 0,
276
+ "maximum": 101,
277
+ "description": "实际发送次数,含绑定与未提交页。"
278
+ },
279
+ "pages": {
280
+ "type": "integer",
281
+ "minimum": 0,
282
+ "maximum": 100,
283
+ "description": "已提交整页数。"
284
+ },
285
+ "duplicates": {
286
+ "type": "integer",
287
+ "minimum": 0,
288
+ "maximum": 2000,
289
+ "description": "已提交页中相对先前结果的重复条目数,保留首次版本。"
290
+ },
291
+ "pageSize": {
292
+ "type": "integer",
293
+ "minimum": 1,
294
+ "maximum": 20,
295
+ "description": "固定为min(20,maxItems),不会随剩余预算缩小。"
296
+ },
297
+ "total": {
298
+ "anyOf": [
299
+ {
300
+ "type": "integer",
301
+ "minimum": 0,
302
+ "maximum": 9007199254740991,
303
+ "description": "最近校验页观察到的总数,不是快照或本地结果长度。"
304
+ },
305
+ {
306
+ "type": "null"
307
+ }
308
+ ]
309
+ },
310
+ "paginationExhausted": {
311
+ "type": "boolean",
312
+ "description": "仅range_exhausted为true,不等于无遗漏、永久完成或快照一致。"
313
+ },
314
+ "stopReason": {
315
+ "type": "string",
316
+ "enum": [
317
+ "range_exhausted",
318
+ "max_items",
319
+ "max_requests",
320
+ "page_window",
321
+ "total_unknown",
322
+ "collection_changed",
323
+ "no_progress"
324
+ ],
325
+ "description": "range_exhausted=按本次观察总数到达页末,仍不保证完整;max_items=下一整页可能超过数量预算;max_requests=请求预算耗尽;page_window=下一页超过页码或深度限制;total_unknown=未取得或失去总数,不猜末页;collection_changed=总数变化,变化页不提交;no_progress=非空页没有新增ID,停止防止重复翻页。"
326
+ },
327
+ "lastRead": {
328
+ "anyOf": [
329
+ {
330
+ "type": "object",
331
+ "additionalProperties": false,
332
+ "properties": {
333
+ "pageNo": {
334
+ "type": "integer",
335
+ "minimum": 1,
336
+ "maximum": 100,
337
+ "description": "最近校验页,可能未提交。"
338
+ },
339
+ "pageSize": {
340
+ "type": "integer",
341
+ "minimum": 1,
342
+ "maximum": 20,
343
+ "description": "本次固定页大小。"
344
+ }
345
+ },
346
+ "required": [
347
+ "pageNo",
348
+ "pageSize"
349
+ ]
350
+ },
351
+ {
352
+ "type": "null"
353
+ }
354
+ ]
355
+ },
356
+ "lastCommittedPageNo": {
357
+ "anyOf": [
358
+ {
359
+ "type": "integer",
360
+ "minimum": 1,
361
+ "maximum": 100,
362
+ "description": "最后提交的整页;无则null。不是可靠恢复游标。"
363
+ },
364
+ {
365
+ "type": "null"
366
+ }
367
+ ]
368
+ }
369
+ },
370
+ "required": [
371
+ "maxItems",
372
+ "maxRequests",
373
+ "requests",
374
+ "pages",
375
+ "duplicates",
376
+ "pageSize",
377
+ "total",
378
+ "paginationExhausted",
379
+ "stopReason",
380
+ "lastRead",
381
+ "lastCommittedPageNo"
382
+ ]
383
+ }
384
+ },
385
+ "required": [
386
+ "cases",
387
+ "pagination"
388
+ ]
389
+ }
390
+ },
391
+ "required": [
392
+ "data"
393
+ ]
394
+ },
395
+ "preview": {
396
+ "type": "object",
397
+ "additionalProperties": false,
398
+ "properties": {
399
+ "requests": {
400
+ "type": "array",
401
+ "minItems": 2,
402
+ "maxItems": 2,
403
+ "items": [
404
+ {
405
+ "type": "object",
406
+ "additionalProperties": false,
407
+ "properties": {
408
+ "method": {
409
+ "const": "POST"
410
+ },
411
+ "path": {
412
+ "const": "youzan.shop.basic.get/3.0.0"
413
+ },
414
+ "body": {
415
+ "type": "object",
416
+ "additionalProperties": false,
417
+ "properties": {},
418
+ "required": []
419
+ }
420
+ },
421
+ "required": [
422
+ "method",
423
+ "path",
424
+ "body"
425
+ ]
426
+ },
427
+ {
428
+ "type": "object",
429
+ "additionalProperties": false,
430
+ "properties": {
431
+ "method": {
432
+ "const": "POST"
433
+ },
434
+ "path": {
435
+ "const": "youzan.trade.refund.search/3.0.1"
436
+ },
437
+ "body": {
438
+ "type": "object",
439
+ "additionalProperties": false,
440
+ "properties": {
441
+ "page_no": {
442
+ "type": "integer",
443
+ "const": 1,
444
+ "description": "首个列表请求从第1页开始。"
445
+ },
446
+ "page_size": {
447
+ "type": "integer",
448
+ "minimum": 1,
449
+ "maximum": 20,
450
+ "description": "固定页大小。"
451
+ },
452
+ "tid": {
453
+ "type": "string",
454
+ "minLength": 1,
455
+ "maxLength": 128,
456
+ "pattern": "^[^\\s\\p{Cc}]+$",
457
+ "description": "精确交易订单号,一张订单可以关联多笔售后。"
458
+ },
459
+ "refund_id": {
460
+ "type": "string",
461
+ "minLength": 1,
462
+ "maxLength": 128,
463
+ "pattern": "^[^\\s\\p{Cc}]+$",
464
+ "description": "精确售后单号,非订单号、资金条目号或物流单号。"
465
+ },
466
+ "yz_open_id": {
467
+ "type": "string",
468
+ "const": "***",
469
+ "description": "本地预览的遮盖值,真实请求使用原值。"
470
+ },
471
+ "buyer_phone": {
472
+ "type": "string",
473
+ "const": "***",
474
+ "description": "本地预览的遮盖值,真实请求使用原值。"
475
+ },
476
+ "demand": {
477
+ "type": "integer",
478
+ "enum": [
479
+ 1,
480
+ 2,
481
+ 3
482
+ ],
483
+ "description": "申请诉求:1=仅退款;2=退货退款;3=换货;未知请求值拒绝。"
484
+ },
485
+ "status": {
486
+ "type": "string",
487
+ "$ref": "#/definitions/caseStatusFilter",
488
+ "description": "售后状态筛选。WAIT_SELLER_AGREE=等待卖家同意;WAIT_BUYER_RETURN_GOODS=等待买家退货;WAIT_SELLER_CONFIRM_GOODS=等待卖家确认收货;SELLER_REFUSE_BUYER=卖家拒绝退款;CLOSED=退款关闭;SUCCESS=退款成功;SELLER_REFUSE_BUYER_RETURN_GOODS=卖家拒绝收货等待买家处理;SELLER_RETURN_GOODS=商家确认收货并发送换货;CUSTOMER_SERVICE_IN=客满介入。未知请求值拒绝。"
489
+ },
490
+ "type": {
491
+ "type": "integer",
492
+ "enum": [
493
+ 1,
494
+ 2,
495
+ 3,
496
+ 4,
497
+ 5
498
+ ],
499
+ "description": "申请类型:1=买家申请退款;2=商家主动退款;3=一键退款;4=零售门店换货;5=微商城换货。"
500
+ },
501
+ "phase": {
502
+ "type": "integer",
503
+ "enum": [
504
+ 1,
505
+ 2
506
+ ],
507
+ "description": "阶段:1=售中;2=售后。"
508
+ },
509
+ "search_tag": {
510
+ "type": "integer",
511
+ "enum": [
512
+ 0,
513
+ 1,
514
+ 2
515
+ ],
516
+ "description": "待处理方:0=待商家处理;1=待买家处理;2=客服介入中。"
517
+ },
518
+ "cs_status": {
519
+ "type": "integer",
520
+ "enum": [
521
+ 1,
522
+ 2,
523
+ 3
524
+ ],
525
+ "description": "客服介入筛选:1=不需要客服介入;2=需要客服介入;3=介入结束;不是响应字典。"
526
+ },
527
+ "goods_title": {
528
+ "type": "string",
529
+ "const": "***",
530
+ "description": "本地预览的遮盖值,真实请求使用原值。"
531
+ },
532
+ "sku_no": {
533
+ "type": "string",
534
+ "minLength": 1,
535
+ "maxLength": 128,
536
+ "pattern": "^[^\\s\\p{Cc}](?:[^\\p{Cc}]*[^\\s\\p{Cc}])?$",
537
+ "description": "商品规格编码,不是商品ID。"
538
+ },
539
+ "delivery_status": {
540
+ "type": "integer",
541
+ "enum": [
542
+ 1,
543
+ 2
544
+ ],
545
+ "description": "发货筛选:1=未发货;2=已发货,不证明退货物流结果。"
546
+ },
547
+ "refund_mode": {
548
+ "type": "integer",
549
+ "enum": [
550
+ 0,
551
+ 1,
552
+ 2
553
+ ],
554
+ "description": "退款方式筛选:0=原路退;1=现金退;2=标记退。"
555
+ },
556
+ "return_stock_status": {
557
+ "type": "integer",
558
+ "enum": [
559
+ 0,
560
+ 10,
561
+ 20
562
+ ],
563
+ "description": "库存归还筛选:0=无需入库;10=待入库;20=归还库存成功。"
564
+ },
565
+ "sale_way": {
566
+ "type": "integer",
567
+ "enum": [
568
+ 1,
569
+ 2
570
+ ],
571
+ "description": "销售渠道:1=门店;2=网店。"
572
+ },
573
+ "pay_type": {
574
+ "type": "integer",
575
+ "enum": [
576
+ 0,
577
+ 1,
578
+ 2,
579
+ 3,
580
+ 4,
581
+ 5,
582
+ 6,
583
+ 7,
584
+ 8
585
+ ],
586
+ "description": "支付类型:0=老方式,支付方式与渠道合并;1=无需支付;2=现付;3=部分支付;4=货到付款;5=线下收银;6=单次支付;7=阶段支付;8=外部支付。"
587
+ },
588
+ "create_time_start": {
589
+ "type": "integer",
590
+ "minimum": -62135625600,
591
+ "maximum": 253402271999,
592
+ "description": "北京时间输入编码的整秒时间戳;不承诺端点包含性。"
593
+ },
594
+ "create_time_end": {
595
+ "type": "integer",
596
+ "minimum": -62135625600,
597
+ "maximum": 253402271999,
598
+ "description": "北京时间输入编码的整秒时间戳;不承诺端点包含性。"
599
+ },
600
+ "update_time_start": {
601
+ "type": "integer",
602
+ "minimum": -62135625600,
603
+ "maximum": 253402271999,
604
+ "description": "北京时间输入编码的整秒时间戳;不承诺端点包含性。"
605
+ },
606
+ "update_time_end": {
607
+ "type": "integer",
608
+ "minimum": -62135625600,
609
+ "maximum": 253402271999,
610
+ "description": "北京时间输入编码的整秒时间戳;不承诺端点包含性。"
611
+ }
612
+ },
613
+ "required": [
614
+ "page_no",
615
+ "page_size",
616
+ "create_time_start",
617
+ "create_time_end"
618
+ ]
619
+ }
620
+ },
621
+ "required": [
622
+ "method",
623
+ "path",
624
+ "body"
625
+ ]
626
+ }
627
+ ],
628
+ "additionalItems": false,
629
+ "description": "绑定与首个列表请求,仅描述确定计划,不表示只读一页。"
630
+ },
631
+ "strategy": {
632
+ "type": "object",
633
+ "additionalProperties": false,
634
+ "properties": {
635
+ "pageSize": {
636
+ "type": "integer",
637
+ "minimum": 1,
638
+ "maximum": 20,
639
+ "description": "min(20,maxItems),全程固定。"
640
+ },
641
+ "startPageNo": {
642
+ "const": 1
643
+ },
644
+ "maxPageNo": {
645
+ "const": 100
646
+ },
647
+ "maxDepth": {
648
+ "const": 3000
649
+ },
650
+ "maxItems": {
651
+ "type": "integer",
652
+ "minimum": 1,
653
+ "maximum": 2000,
654
+ "description": "唯一摘要数量预算,不裁切整页,不保证返回该数量。"
655
+ },
656
+ "maxRequests": {
657
+ "type": "integer",
658
+ "minimum": 2,
659
+ "maximum": 101,
660
+ "description": "总业务请求预算,包含店铺核验及未提交页,无自动重试。"
661
+ },
662
+ "autoSplit": {
663
+ "const": false
664
+ },
665
+ "autoRetry": {
666
+ "const": false
667
+ }
668
+ },
669
+ "required": [
670
+ "pageSize",
671
+ "startPageNo",
672
+ "maxPageNo",
673
+ "maxDepth",
674
+ "maxItems",
675
+ "maxRequests",
676
+ "autoSplit",
677
+ "autoRetry"
678
+ ]
679
+ }
680
+ },
681
+ "required": [
682
+ "requests",
683
+ "strategy"
684
+ ]
685
+ },
686
+ "error": {
687
+ "type": "object",
688
+ "additionalProperties": false,
689
+ "properties": {
690
+ "success": {
691
+ "const": false
692
+ },
693
+ "code": {
694
+ "const": -10001
695
+ },
696
+ "message": {
697
+ "type": "string",
698
+ "minLength": 1,
699
+ "description": "受控错误说明,不回显上游自由文本。"
700
+ },
701
+ "details": {
702
+ "type": "object",
703
+ "additionalProperties": false,
704
+ "properties": {
705
+ "category": {
706
+ "type": "string",
707
+ "enum": [
708
+ "validation",
709
+ "configuration",
710
+ "authentication",
711
+ "permission",
712
+ "scope_unresolved",
713
+ "http",
714
+ "business_rejected",
715
+ "not_found",
716
+ "protocol",
717
+ "transport",
718
+ "limit"
719
+ ],
720
+ "description": "失败分类;正常预算停止不是错误。"
721
+ },
722
+ "stage": {
723
+ "type": "string",
724
+ "enum": [
725
+ "input",
726
+ "context",
727
+ "configuration",
728
+ "shop-binding",
729
+ "case",
730
+ "cases",
731
+ "refunds",
732
+ "output-model",
733
+ "transport",
734
+ "response"
735
+ ],
736
+ "description": "失败阶段。"
737
+ },
738
+ "command": {
739
+ "const": "aftersale.case.scan"
740
+ },
741
+ "targetScope": {
742
+ "type": "object",
743
+ "additionalProperties": false,
744
+ "properties": {
745
+ "kdtId": {
746
+ "$ref": "#/definitions/shopId"
747
+ }
748
+ },
749
+ "required": []
750
+ },
751
+ "requestState": {
752
+ "type": "string",
753
+ "enum": [
754
+ "not_sent",
755
+ "sent",
756
+ "unknown"
757
+ ],
758
+ "description": "not_sent=尚未发送当前阶段请求;sent=已发送并取得响应;unknown=请求结果不明,不自动重放。"
759
+ },
760
+ "nextStep": {
761
+ "type": "string",
762
+ "minLength": 1,
763
+ "description": "在原范围停止核查,不自动重试或切换身份。"
764
+ },
765
+ "api": {
766
+ "type": "string",
767
+ "minLength": 1,
768
+ "description": "准确API名与版本,不含URL或凭据。"
769
+ },
770
+ "httpStatus": {
771
+ "type": "integer",
772
+ "minimum": 100,
773
+ "maximum": 599,
774
+ "description": "已观察HTTP状态。"
775
+ },
776
+ "businessCode": {
777
+ "$ref": "#/definitions/diagnosticCode"
778
+ },
779
+ "gatewayCode": {
780
+ "$ref": "#/definitions/diagnosticCode"
781
+ },
782
+ "trace_id": {
783
+ "$ref": "#/definitions/diagnosticId"
784
+ },
785
+ "request_id": {
786
+ "$ref": "#/definitions/diagnosticId"
787
+ },
788
+ "progress": {
789
+ "type": "object",
790
+ "additionalProperties": false,
791
+ "properties": {
792
+ "requests": {
793
+ "type": "integer",
794
+ "minimum": 0,
795
+ "maximum": 101,
796
+ "description": "已发送次数,含绑定。"
797
+ },
798
+ "pages": {
799
+ "type": "integer",
800
+ "minimum": 0,
801
+ "maximum": 100,
802
+ "description": "已提交页数。"
803
+ },
804
+ "lastCommittedPageNo": {
805
+ "anyOf": [
806
+ {
807
+ "type": "integer",
808
+ "minimum": 1,
809
+ "maximum": 100,
810
+ "description": "最后提交页,不是恢复游标。"
811
+ },
812
+ {
813
+ "type": "null"
814
+ }
815
+ ]
816
+ }
817
+ },
818
+ "required": [
819
+ "requests",
820
+ "pages",
821
+ "lastCommittedPageNo"
822
+ ]
823
+ }
824
+ },
825
+ "required": [
826
+ "category",
827
+ "stage",
828
+ "command",
829
+ "targetScope",
830
+ "requestState",
831
+ "nextStep"
832
+ ]
833
+ }
834
+ },
835
+ "required": [
836
+ "success",
837
+ "code",
838
+ "message"
839
+ ]
840
+ },
841
+ "definitions": {
842
+ "shopId": {
843
+ "type": "integer",
844
+ "minimum": 1,
845
+ "maximum": 9007199254740991,
846
+ "description": "目标店铺ID,正安全整数,必须与当前店铺及凭证绑定一致。"
847
+ },
848
+ "time": {
849
+ "type": "string",
850
+ "format": "beijing-date-time-ms",
851
+ "description": "北京时间YYYY-MM-DD HH:mm:ss.SSS;输出保留三位毫秒,输入范围只接受整秒。"
852
+ },
853
+ "caseStatusFilter": {
854
+ "type": "string",
855
+ "enum": [
856
+ "WAIT_SELLER_AGREE",
857
+ "WAIT_BUYER_RETURN_GOODS",
858
+ "WAIT_SELLER_CONFIRM_GOODS",
859
+ "SELLER_REFUSE_BUYER",
860
+ "CLOSED",
861
+ "SUCCESS",
862
+ "CUSTOMER_SERVICE_IN",
863
+ "SELLER_REFUSE_BUYER_RETURN_GOODS",
864
+ "SELLER_RETURN_GOODS"
865
+ ],
866
+ "description": "售后状态筛选。WAIT_SELLER_AGREE=等待卖家同意;WAIT_BUYER_RETURN_GOODS=等待买家退货;WAIT_SELLER_CONFIRM_GOODS=等待卖家确认收货;SELLER_REFUSE_BUYER=卖家拒绝退款;CLOSED=退款关闭;SUCCESS=退款成功;SELLER_REFUSE_BUYER_RETURN_GOODS=卖家拒绝收货等待买家处理;SELLER_RETURN_GOODS=商家确认收货并发送换货;CUSTOMER_SERVICE_IN=客满介入。未知请求值拒绝。"
867
+ },
868
+ "caseSummary": {
869
+ "type": "object",
870
+ "additionalProperties": false,
871
+ "properties": {
872
+ "caseId": {
873
+ "type": "string",
874
+ "minLength": 1,
875
+ "maxLength": 128,
876
+ "pattern": "^[^\\s\\p{Cc}]+$",
877
+ "description": "店铺范围内售后单号,非资金条目号。"
878
+ },
879
+ "orderNo": {
880
+ "type": "string",
881
+ "minLength": 1,
882
+ "maxLength": 128,
883
+ "pattern": "^[^\\s\\p{Cc}]+$",
884
+ "description": "关联交易订单号,不按订单号去重。"
885
+ },
886
+ "kdtId": {
887
+ "$ref": "#/definitions/shopId"
888
+ },
889
+ "nodeKdtId": {
890
+ "$ref": "#/definitions/shopId"
891
+ },
892
+ "status": {
893
+ "type": "string",
894
+ "minLength": 1,
895
+ "description": "售后状态。WAIT_SELLER_AGREE=等待卖家同意;WAIT_BUYER_RETURN_GOODS=等待买家退货;WAIT_SELLER_CONFIRM_GOODS=等待卖家确认收货;SELLER_REFUSE_BUYER=卖家拒绝退款;CLOSED=退款关闭;SUCCESS=退款成功;SELLER_REFUSE_BUYER_RETURN_GOODS=卖家拒绝收货等待买家处理;SELLER_RETURN_GOODS=商家确认收货并发送换货;CUSTOMER_SERVICE_IN=客满介入。未来非空文本保留,不猜含义。"
896
+ },
897
+ "amount": {
898
+ "type": "string",
899
+ "pattern": "^(0|[1-9]\\d*)\\.\\d{2}$",
900
+ "description": "申请退款金额,CNY元,两位小数。精确分值0..9223372036854775807,不代表已退款或到账。"
901
+ },
902
+ "hasReturnGoods": {
903
+ "type": "boolean",
904
+ "description": "上游是否有退货的事实,可选,false保留。"
905
+ },
906
+ "createdAt": {
907
+ "$ref": "#/definitions/time"
908
+ },
909
+ "updatedAt": {
910
+ "$ref": "#/definitions/time"
911
+ },
912
+ "serviceStatus": {
913
+ "type": "integer",
914
+ "minimum": -9007199254740991,
915
+ "maximum": 9007199254740991,
916
+ "description": "客服响应状态:1=客满未介入;2=客满介入中;未知安全整数保留,不套请求字典。"
917
+ },
918
+ "deliveryStatus": {
919
+ "type": "integer",
920
+ "minimum": -9007199254740991,
921
+ "maximum": 9007199254740991,
922
+ "description": "发货状态:1=未发货;2=已发货;未知安全整数保留。"
923
+ }
924
+ },
925
+ "required": [
926
+ "caseId",
927
+ "orderNo",
928
+ "kdtId",
929
+ "status",
930
+ "amount"
931
+ ],
932
+ "description": "售后摘要;可选字段缺失时省略,显式null或错型失败。"
933
+ },
934
+ "diagnosticCode": {
935
+ "anyOf": [
936
+ {
937
+ "type": "integer",
938
+ "minimum": -9007199254740991,
939
+ "maximum": 9007199254740991
940
+ },
941
+ {
942
+ "type": "string",
943
+ "pattern": "^-?\\d{1,12}$"
944
+ }
945
+ ],
946
+ "description": "已观察的安全诊断码。"
947
+ },
948
+ "diagnosticId": {
949
+ "type": "string",
950
+ "pattern": "^[a-zA-Z0-9_-]{1,128}$",
951
+ "description": "通过安全白名单的诊断标识。"
952
+ }
953
+ },
954
+ "notes": [
955
+ "--kdt-id 省略时使用本次有效上下文 shopId;显式提供的非法值不回退。两者都缺失时拒绝;目标范围、同店核验和服务端权限仍按本命令校验。",
956
+ "本命令仅限orgType=shop且目标与context.shopId一致;缺上下文只允许显式店铺本地预览,无效上下文仍拒绝。",
957
+ "规范化input是业务模型,不是JSON入参;format与dry-run不进入该模型。",
958
+ "创建时间对与两个预算必填,更新时间对可选且仍受创建范围限定。未知枚举、重复单值选项及多余参数拒绝。",
959
+ "每页整页验证、整页提交,按店铺及售后号保留首次版本;total缺失不猜末页,total变化页不提交。",
960
+ "停止优先级:协议或范围错误;total变化、缺失、无进展;观察总数页末;数量预算;请求预算;页窗。",
961
+ "响应累计10MiB,最终JSON含换行5MiB;失败丢弃已读结果,stdout为空,stderr错误JSON且非零退出。",
962
+ "分页走完不等于无遗漏;不承诺快照、可靠增量或可恢复游标,不自动二分、持久化、重试或换店。"
963
+ ]
964
+ }