@crvouga/mockingbird-service-brevo

中文文档
1.11.0发布于 2026/11/11MITTypeScriptES Module构建来源已验证近 30 天下载 2870

Stateful Brevo 联系人创建,外部 id 更新和电子邮件删除模拟器.

中文使用文档
文档目录6 节
  1. 安装
  2. 使用量
  3. 路线
  4. 管制和核查
  5. 故意不模拟
  6. API 密码

@crvouga/mockingbird-service-brevo (英语)

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

WIP Brevo v3 接触周期,基于官方联系参考. 没有发送信件 .

安装

bun add @crvouga/mockingbird-service-brevo

使用量

import { BrevoClient } from "@getbrevo/brevo"
import { createRuntime } from "@crvouga/mockingbird-service-brevo"

// The Brevo SDK your application already uses. Only its fetch changes: requests reach the
// emulator in this process instead of api.brevo.com.
const emulator = createRuntime()
const brevo = new BrevoClient({
  apiKey: "mock_brevo_key",
  fetch: ((url: RequestInfo | URL, init?: RequestInit) =>
    emulator.fetch(new Request(url, init))) as typeof fetch,
})

const created = await brevo.contacts.createContact({
  email: "[email protected]",
  ext_id: "mock-contact",
  listIds: [1],
  updateEnabled: false,
})
console.log(created) // { id: 1 }

运行 mockingbird-brevo serve --port 12124 并设置 SDK的车 baseUrl 改为 http://localhost:12124/v3 (单位:千美元)@getbrevo/brevo; 一个原始的 HTTP 客户端替换 联合国 https://api.brevo.com 来源)。 消费者必须使该基础URL可注入( 供应商没有定义标准环境变量). 使用合成器 api-key: mock_brevo_key,或配置 apiKeys 内 createRuntime。 。 。 .

路线

  • POST /v3/contacts: 与数字id(201)建立联系. 复制电子邮件或 外部编号为 updateEnabled: false 返回 400 duplicate_parameter 没有变异. updateEnabled: true 更新现有联系人(204).
  • PUT /v3/contacts/{identifier}?identifierType=ext_id: 更新属性,包括 attributes.EMAIL,而不改变联系人的数字代号或现有列表成员 (204) (英语). listIds 增加成员; unlinkListIds 把他们带走.
  • DELETE /v3/contacts/{encoded-email}?identifierType=email_id:删除该联系人(204).
  • GET /v3/contacts/{identifier}:读取联系人. 明确 identifierType 支持 email_id, (中文(简体) ), contact_id,以及 ext_id;默认识别电子邮件或数字 id.

失去的联系人返回 404 document_not_found无效的识别器, 畸形的身体, 无效的电子邮件和相冲突的更新返回 400; 缺少或无效的 API 密钥返回 401. 错误使用 {code, message}。这里没有网路.

管制和核查

通过合成 contacts 以种子模拟器; 重置还原这些固定装置。 共享管理员 路径包括 /__admin/state/contacts 用于检查/种子, /__admin/reset时间线 检查站, /__admin/clock, (中文(简体) ), /__admin/requests 财务报告和审定财务报表 /__admin/faults。请求已登出日志 作为元数据,从不联系机构或 API 密钥。 设定 adminPrefix 以迁移这棵树.

命名空间载体是 x-mockingbird-namespace, (中文(简体) ), /__admin/ns/{namespace},或 API 密钥 绘制到 PUT /__admin/credentials。每个命名空间都有独立的联系人和ID. 错误预设 : unauthorized, (中文(简体) ), rate_limited (429同后重试), server_error (503个), 财务报告和审定财务报表 connection_drop通用过失规则也支持确定性延迟.

接受测试从第280期的原始请求,命名空间/重置行为, 过失并服务于HTTP. 财产测试涵盖每一项行动并检测出有意的分歧. bun scripts/parity.ts 需求 BREVO_API_KEY 安全地比较缺失的接触信封; 它不创建、更新或删除真正的联系人。 现场写对等尚未核实 .

故意不模拟

电子邮件/短信发送、运动、清单管理、批量进出口、短信/什么sApp标识、, 强制Morge,属性定义目录,联系人统计和账户级配额. 只支持电子邮件和外部编号创建 。 没有真正的客户固定装置或外出事件.

API 密码

  • BrevoAPI: 使用 fetch, (中文(简体) ), reset, (中文(简体) ), contacts 财务报告和审定财务报表 counters 藏书.
  • BREVO_NAMESPACE: 服务名称 (brevo) (中文(简体) ).
  • createRuntime: 共享管理员、命名空间、时钟、断层和日记表面; 接受 apiKeys 财务报告和审定财务报表 contacts 除了共享运行时间选项.
  • BREVO_PRESETS: 命名断层预设.
  • document, (中文(简体) ), operationIds, (中文(简体) ), supportedOperationIds:生成了OpenAPI合同元数据.
  • createServer, (中文(简体) ), serveTarget, (中文(简体) ), DEFAULT_PORT 从 ./server: 节点 HTTP 服务器和 CLI 目标(默认端口12124).

公共类型包括: Contact, (中文(简体) ), BrevoAPIOptions, (中文(简体) ), OperationId 财务报告和审定财务报表 SupportedOperationId。 。 。 .

版本与发布记录

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

版本发布日期距今
1.11.0latest2026/11/11今天
1.10.92026/11/038 天前
1.10.82026/11/038 天前
1.10.72026/11/038 天前
1.10.62026/11/038 天前
1.10.52026/11/038 天前

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

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

Stateful Brevo 联系人创建,外部 id 更新和电子邮件删除模拟器.

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

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

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

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

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

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

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

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

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

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

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

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