@faiber/faiber-crm

中文文档
2.8.0发布于 2026/11/14TypeScriptES Module近 30 天下载 3878

已输入CRM工作空间,管道,线索,交易,公司,联系人,团队,任务,活动,营销,报告和自动化读取.

中文使用文档

@faiber/faiber-crm (英语)

已输入CRM工作空间,管道,线索,交易,公司,联系人,团队,任务,活动,营销,报告和自动化读取.

npm install @faiber/faiber-crm
import { FaiberClient, MemoryTokenProvider } from "@faiber/sdk-core";
import { CrmApi } from "@faiber/faiber-crm";

const client = new FaiberClient("crm", {
  domains: { crm: process.env.FAIBER_CRM_URL! },
  tokenProvider: new MemoryTokenProvider(),
  axios: { timeout: 15_000, withCredentials: true },
});
const api = new CrmApi(client);
const response = await api.listLeads({ q: "Acme", limit: 25 });
const leads = response.data.data.items;
const nextCursor = response.data.data.next_cursor;

// Use a distinct key for each intended mutation. A duplicate key returns 409.
const created = await api.createLead(
  { title: "Acme renewal", estimated_value: 50000, currency: "IRR" },
  { headers: { "Idempotency-Key": crypto.randomUUID() } },
);
await api.updateLead(created.data.data.id,
  { version: created.data.data.version, score: 80 },
  { headers: { "Idempotency-Key": crypto.randomUUID() } },
);

配置的境内流离失所者代号提供者转发了熊鼠授权; withCredentials 启用安全 Http Only cookie 会话, 支持部署。 将浏览器符号保存在内存 。 每个行动的JSDoc都规定了当地许可规则; crm:admin 绕过现代的CRM处理器检查,否则列出的权限就是替代权限. 仅凭作用并不能使数据进入。 部署认证和网关隔离必须分别配置。 遗产调查处没有地方授权警卫.

该软件包通过 92 个挂载的 HTTP 操作 api.operations,包括单数/多元工作流程相容路线,健康/准备状态和两个明确API未找到的边界. 简洁方法 api 涵盖共同工作流程。 来源覆盖范围不能证明当地执行或网关政策。 分开 /mcp 摘要-证据挂载使用 RMCP 协议并签名的即时运行赠款;在此软件包中它不是一个打入的 REST 业务操作. 静态仪表板资产使用服务器前端倒置.

大部分商业路线回归 { data, meta: { request_id } }. 保健、准备就绪和办公室检查使用情况 { status, message, data }; 当数据库或经纪人无法使用时, 准备返回 HTTP 503 . listLeads, (中文(简体) ), listLightLeads,以及 getLead 返回无效 profile, (中文(简体) ), creator, (中文(简体) ), owner, (中文(简体) ), course, (中文(简体) ), classroom,以及 term 总结. listTasks 返回无效 profile, (中文(简体) ), creator,以及 assignee创建/更新和董事会答复保留其赤裸裸的记录合同。 缺少链接, 上游数据或 LMS 读取权限生成无效摘要而不删除 CRM 记录 。 列表返回 {items,next_cursor} 内部数据,带有分级 cursor 财务报告和审定财务报表 limit (默认50,夹住1-100). 铅 statuses 是逗号分隔的。 自定义线索排序仍然比较使用 UUID 光标 id > cursor,因此它不是一个时间顺序的光标保证。 工作流程/节点/工作日志集合返回数组;工作流程和节点列表包括不活跃的非删除行.

文件的变异 Idempotency-Key 需要非空信头最多128个字符。 关键字表示提交材料,重复提交材料返回409;它们不重复成功的答复。 公司/联系人/领导/交易更新、阶段/任务更新、任务状况、团队删除和管道/工作空间补丁使用一个版本。 工作流程更新接受版本但不执行,节点更新没有版本字段. 普通可选补丁无效保存值 。 工作流程 team_id, (中文(简体) ), hint, (中文(简体) ), actions 和节点 sla_minutes, (中文(简体) ), actions 区分省略的值和清除字段的显空值。 记录任务取代两个所有者/团队;省略了ID清除.

删除的有效载荷按路线不同:大多数返回 {id,deleted:true}兼容性 DELETE /workflow-node/{id} 返回时 true中,团队成员删除返回已停用的成员,并重排者删除返回 {lead_id,deleted:number}。团队删除也会解析活动记录和工作流程任务。 使用特定路由命名类型.

广泛 JSON 是故意的 Rust 模型存储任意值:工作空间 settings; 连 address编号 :custom_data; 联系人 consent编号 :custom_data; 牵头/交易 custom_data; 管道获得旗帜/行动; 节点行动; 活动/运动元数据; 审计历史事件数据; 持久工作结果; 报告人工智能解释和确定性摘要; 遗留的办公室旗帜/指定标识/元数据。 配置文件首/后名是可选远程 JSON 值 。 这些领域仍为JSON安全,而不是暗示有固定的计划。 工作流程行动定义本身是具有内部/外部种类的具体输出对象.

所有调用都保留完整的Axios响应,包括信头,状态和请求上下文. 最后请求选项支持超时、截取器、适配器、证书和 AbortSignal. Axios拒绝认证(401),许可(403),缺失记录(404),版本/理想冲突(409),验证(422),准备(503)以及默认运输故障.

try {
  await api.getOverview(undefined, { signal: AbortSignal.timeout(5_000) });
} catch (error) {
  // Axios errors retain response.status and the backend error body.
}

API没有找到的诊断 operations.routerApiNotFoundAny(method) 财务报告和审定财务报表 operations.routerApiPathNotFoundAny("obsolete/items", method) 返回结构为404而不修改客户关系管理数据。 头部没有躯体,CORS可以空出200来回答选择. 故意诊断、供应 validateStatus 并检查一个尸体。 Wildcard诊断拒绝注册的API路径, transversal, % 逃出,查询/分解语法和回击本地. CONNECT需要一种具有明确隧道能力的Axios适配器.

使用 @faiber/faiber-ts-sdk 来配置多个 Faiber 服务.

嵌入式铅信息

const { data: { data: page } } = await api.listLightLeads({ limit: 25 });
for (const lead of page.items) {
  console.log(lead.profile?.first_name, lead.creator?.phone);
  console.log(lead.course?.name, lead.classroom?.name, lead.term?.title);
  console.log(lead.classroom?.current_session, lead.classroom?.total_sessions);
}

直接使用返回的对象; 不覆盖 profile 与 null 或每条线索发布一个剖面图/LMS请求. term 是 LMS 课程类别,课程持续时间是无效的字符串。 后端既解决了UUID,又解决了元数据中遗留的数值LMS链接. 课程和课堂摘要还需要打电话者 lms:course:read 财务报告和审定财务报表 lms:classroom:read 权限; 客户关系管理权限不能取代这些 LMS 授权。 现有的无记名/cookie认证,取消信号和Axios响应元数据适用不变.

导出类型包括: CrmLead, (中文(简体) ), CrmProfileSummary, (中文(简体) ), CrmCourseSummary, (中文(简体) ), CrmClassroomSummary, (中文(简体) ), CrmTermSummary,以及 CrmTaskView。 。 。 . CrmLeadRecord 财务报告和审定财务报表 CrmTask 仍然是赤裸裸的突变模型。 通过完整的SDK,使用同样的方法 faiber.crm 类别 CrmService。 。 。 .

版本与发布记录

@faiber/faiber-crm 共发布 66 个版本,首次发布于 2026/07/18;过去 12 个月发布了 66 个版本。

版本发布日期距今
2.8.0latest2026/11/14今天
2.7.02026/11/059 天前
2.6.02026/11/049 天前
2.5.02026/11/049 天前
2.4.02026/11/0310 天前
2.3.02026/11/0211 天前

关于 @faiber/faiber-crm 的常见问题

@faiber/faiber-crm 是什么?

已输入CRM工作空间,管道,线索,交易,公司,联系人,团队,任务,活动,营销,报告和自动化读取.

如何安装 @faiber/faiber-crm?

在项目目录运行 npm install @faiber/faiber-crm,或使用 pnpm add / yarn add / bun add。

@faiber/faiber-crm 支持 TypeScript 吗?

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

@faiber/faiber-crm 支持 ESM 还是 CommonJS?

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

@faiber/faiber-crm 可以商用吗?

@faiber/faiber-crm 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@faiber/faiber-crm 的下载量有多少?

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

@faiber/faiber-crm 还在维护吗?

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