@crvouga/mockingbird-service-wholescripts

中文文档
3.10.4发布于 2026/11/03MITTypeScriptES Module构建来源已验证近 30 天下载 1.5万

状态仿真者 " 批发 " 补充 " API " :产品和私人标签目录、提交命令、状况民意测验和取消,并进行行政地位过渡.

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 路线
  4. 管理员(超过标准合同)
  5. 命名空间
  6. 公司和种子数据
  7. 故意不模拟
  8. API 密码

@crvouga/ mockingbird-service-wallscriptes 页面存档备份,存于互联网档案馆

本地模拟器。 真正的API合同. 部分 嘲笑鸟。 。 。 .

国家模拟器 说明 用于测试套件的API:产品 目录,私人标签(MedPax)目录,命令提交,状态投票和取消. 命令 只在测试时(模拟器时钟上的管理员过渡或自动推进路径)移动. 批发稿没有发出webhooks,所以应用程序在下一次状态民意调查中看到每个变化.

  • 行动范围: 支助
  • 销售商没有发布任何信息。 合同openapi.yaml由我们手写 消费者的Zod计划(后端和EMR) wholescripts.types.ts)和补充调度器的Python客户端.

安装

npm install -D @crvouga/mockingbird-service-wholescripts

仅限无害环境管理。 节点 22或 Bun 1.2. 无土生属地. 给它服务 npx mockingbird-wholescripts serve, (中文(简体) ), createServer 从 ./server (节点),或 createRuntime 与任何获取服务器.

使用量

点 WHOLESCRIPTS_API_URL 在模拟者那里。 是后端读取的 (单位:千美元)global-services/services/wholescripts),《欧洲公路货运公约》(services/wholescripts)和补充排程器 (单位:千美元)supplement_management) (中文(简体) ). 无空 WHOLESCRIPTS_USERNAME 编号 : WHOLESCRIPTS_PASSWORD 双对被接受,除非你用 --username/--password。 。 。 .

npx mockingbird-wholescripts serve --port 8803 --auto-advance "2000:Processing,Complete"
import { createServer } from "@crvouga/mockingbird-service-wholescripts/server"

// Test setup: a local Wholescripts.
const server = await createServer()
const baseUrl = server.url // the app's WHOLESCRIPTS_API_URL

// Application code: the order it submits to Wholescripts.
const headers = { authorization: `Basic ${btoa("acme:secret")}`, "content-type": "application/json" }
const response = await fetch(`${baseUrl}/api/Orders/Submit`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    ShippingAddress: { FName: "Ada", LName: "L", Address1: "1 Main St", City: "Phoenix", State: "AZ", Zip: "85004" },
    Items: [{ Sku: "SKU001", Quantity: 1 }],
    ShippingMethod: "Ground",
  }),
})
const submitted = (await response.json()) as { orderNumber: string }

// Test control: ship it the way the vendor would.
await fetch(`${baseUrl}/__admin/orders/${submitted.orderNumber}/transition`, {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({ to: "Complete", trackingNumber: "1Z999", carrier: "UPS" }),
})

// Application code: its next status poll sees the shipment.
await fetch(`${baseUrl}/api/Orders/Status?ordernum=${submitted.orderNumber}`, { headers })

await server.close()

路线

路线行为
GET /api/Orders/PrivateLabelProductList{privateLabelProducts: [], medPaxPills: [{sku, genericName, privateLabelName, quantity}], privateLabelCartons: [{sku, name, cartonImage, quantity}]}。 。 。 .
GET /api/Orders/ProductList产品行productName, (中文(简体) ), sku, (中文(简体) ), medPaxSku, (中文(简体) ), categories价格, quantity, (中文(简体) ), defaultDosing选项 medPaxDetails) (中文(简体) ). instockonly=true 保留 quantity > 0 (EMR号), search 匹配名称/SKU/品牌/类别(补充调度器), limit 盖子.
POST /api/Orders/Submit{ShippingAddress, Notes?, Items: [{Sku, Quantity, MedPaxName?, MedPaxPills?: [{Sku, Quantity, ItemTime}]}], ShippingMethod} → {orderNumber, success: true, msg}违反合同或未知的SKU(产品、MedPax、避孕药或卡通SKU)仍然 200个 与 success: false 和原因在内 msg,这是两个消费者 读.
GET /api/Orders/Status?ordernum=[{orderNumber, orderDate, salesOrder, status, tracking: [{trackingNumber, carrier, trackingUrl}], message, subTotal, shipMethod, shipCharge, discount, tax, serviceFee, orderTotal}]· ; [] 对于未知的命令。 总价来自目录(MedPax SKUs按其 medPaxDetails 价格)外加9.95航运("免费"方法为0).
POST /api/Orders/Cancel{OrderNumber} → {success, msg}成功时 Pending编号 :Processing 没有跟踪; 否则 success: false。未知顺序 : 404.

缺少或错误 基本全权证书答401 {"Message": "Authorization has been denied for this request."}。 。 。 .

状态是 Pending (新设), Processing, (中文(简体) ), Complete, (中文(简体) ), Cancelled, (中文(简体) ), Error,或任意字符串 a 测试集。 我们的消费者如何阅读它们:排程地图 Pending编号 :Processing 改为 placed (或 shipped 一旦跟踪存在, Complete 改为 shipped (承运人交接,而不是交货), 任何包含 cancel编号 :error 改为 cancelled编号 :failed,其他一切则 unknown。 。 。 . 后端和EMR不映射状态.

管理员(超过标准合同)

路线效果
POST /__admin/orders/:orderNumber/transition{to, trackingNumber?, carrier?, trackingUrl?, message?}。一个追踪号码附于 tracking· ; Complete 不产生UPS号码. Processing编号 :Complete 设定 salesOrder。 。 。 .
GET /__admin/orders命名空间的订单(只有SKU和数量).
GET编号 :PUT /__admin/catalog读取或替换 {products, medPaxPills, privateLabelCartons} 用于命名空间.
GET编号 :PUT /__admin/settings{accounts?: [{username, password}], autoAdvance?: {afterMs, path} | null}。 。 。 .
POST /__admin/tick应用模拟器时钟上到期的每个自动推进步骤(已安装的模拟器每100 ms).

错误预设( E)POST /__admin/faults {"preset": "<name>", "count"?: n}· ; GET /__admin/faults/presets: submit_rejected (200个) success: false, (中文(简体) ), submit_timeout (排列顺序,然后是 连接滴:调度器的"命令可能已经放置"分支,", status_empty (单位:千美元)[], (中文(简体) ), status_schema_drift (后端的 zod 拒绝,所以它返回) null, (中文(简体) ), server_error (500美元,计时器重复使用), unauthorized (401) (英语).

命名空间

x-mockingbird-namespace页:1 /__admin/ns/<name> 前缀在 WHOLESCRIPTS_API_URL,或按基本 用户名 : PUT /__admin/credentials {"credentials": {"<WHOLESCRIPTS_USERNAME>": "<namespace>"}}。 。 。 .

公司和种子数据

默认目录是我们消费者自己测试用的行 (消费者应用软件) wholescripts-service.test.ts)),并反复重复 medPaxSkus 独有, 加上调度器的 MedPax 框 000000000200095263 财务报告和审定财务报表 medPaxDetails 排行计时器的目录同步读取. Protein Powder (单位:千美元)PP001)已出库. 没有沙盒 记录存在; 装入记录行 serve --catalog <file>,则 catalog 选项,或 PUT /__admin/catalog。 。 。 .

serve --catalog rows.json 在每个命名空间的默认目录上设置一个 JSON 文件,并且 重设返回( 不同于 PUT /__admin/catalog,它取代目录,直到下一次重置。 文件为 {products?, medPaxPills?, privateLabelCartons?},或一系列产品。 一行需要它来 sku (和产品 productName; 其它字符串默认为 "" 和每个数字 0,所以给予 quantity 应生存的产品 instockonly=true默认 (单位:千美元)--catalog-mode merge) 默认的 SKU 已经替换了它的行,其他的就是 后附,并保留所保留文件的列表. --catalog-mode replace 让整个文件 目录( 它所遗漏的列表为空) 。 在舰队,设定 options: {"catalog": "rows.json", "catalog-mode": "replace"}编辑 catalog 选项 createRuntime 仍然需要一个整体 Catalog。 。 。 .

故意不模拟

  • Webhooks:批发版无;状态有民意调查.
  • 实际完成时间、部分装运和返回:除非测试或 autoAdvance 移动它.
  • 货运地址和接收者经过验证,但从未存储或回放(PHI).
  • 实际收税,贴现,服务费和承运人税率:收税/贴现/收费为0,航运为平价.
  • 付款授权:未能付款只能通过 submit_rejected 或一个 Error 过渡.

API 密码

导出仁爱说明
WholescriptsAPI类进程模拟器 : fetch(request), (中文(简体) ), reset(), (中文(简体) ), transition(orderNumber, {to, …}), (中文(简体) ), tick(), (中文(简体) ), orders()选项: sqlite, (中文(简体) ), now, (中文(简体) ), namespace, (中文(简体) ), catalog, (中文(简体) ), settings。 。 。 .
createRuntime函数全面服务合同的仿真器(保健、管理员、命名空间、证书、预设)。 选项 : catalog, (中文(简体) ), settings, (中文(简体) ), tickMs, (中文(简体) ), clock, (中文(简体) ), seed, (中文(简体) ), adminKey, (中文(简体) ), onLog。 。 。 .
WHOLESCRIPTS_PRESETS对象每个命名的断层预设.
WHOLESCRIPTS_NAMESPACE字符串服务名称, "wholescripts"。 。 。 .
basicUsername函数Basic 用户名包含一个请求( 如何将证书映射到命名空间) .
canonicalStatus函数过渡目标的犬壳(Canonic 外壳)complete → Complete) (中文(简体) ).
DEFAULT_CATALOG对象默认 {products, medPaxPills, privateLabelCartons}。 。 。 .
parseCatalogDocument, (中文(简体) ), mergeCatalog函数检查a --catalog 文档(填充已省略的字段)并将其放入SKU的目录.
MEDPAX_BOX_SKU字符串补充排程器的MedPax盒 SKU, 000000000200095263。 。 。 .
document, (中文(简体) ), operationIds, (中文(简体) ), supportedOperationIds数值销售商为OpenAPI合同及其业务代号.
createServer, (中文(简体) ), serveTarget, (中文(简体) ), DEFAULT_PORT (单位:千美元)./server(中文(简体) )节点服务过来 node:http (自动提醒每100米) serve CLI目标; 第8803口.

部分 嘲笑鸟。 。 。 .

版本与发布记录

@crvouga/mockingbird-service-wholescripts 共发布 37 个版本,首次发布于 2026/09/23;过去 12 个月发布了 37 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
3.10.4latest2026/11/038 天前
3.10.32026/11/038 天前
3.10.22026/11/038 天前
3.10.12026/11/038 天前
3.10.02026/10/2417 天前
3.9.02026/10/2220 天前

关于 @crvouga/mockingbird-service-wholescripts 的常见问题

@crvouga/mockingbird-service-wholescripts 是什么?

状态仿真者 " 批发 " 补充 " API " :产品和私人标签目录、提交命令、状况民意测验和取消,并进行行政地位过渡.

如何安装 @crvouga/mockingbird-service-wholescripts?

在项目目录运行 npm install @crvouga/mockingbird-service-wholescripts,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 mockingbird-wholescripts,可以用 npx mockingbird-wholescripts 直接运行。

@crvouga/mockingbird-service-wholescripts 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@crvouga/mockingbird-service-wholescripts 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@crvouga/mockingbird-service-wholescripts 可以商用吗?

@crvouga/mockingbird-service-wholescripts 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@crvouga/mockingbird-service-wholescripts 的下载量有多少?

根据 npm 官方下载统计,@crvouga/mockingbird-service-wholescripts 在 2026/10/11 – 2026/11/09 这 30 天内被下载 15,260 次,日均约 509 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@crvouga/mockingbird-service-wholescripts 还在维护吗?

最新版本 3.10.4 发布于 2026/11/03(8 天前);至今共发布 37 个版本,其中过去 12 个月发布了 37 个;首次发布于 2026/09/23。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。