SuperAPI AI 工具集

intercom-reference-architecture

设计与创作

查看项目

更新于 10-15 23:26

技能介绍

用途:为 Intercom 集成提供生产级参考架构,可用于新项目脚手架搭建,或对照已知良好结构评审现有项目。架构自上而下分四层:API/Webhook 层(Express 路由、Webhook 端点)调用服务层(联系人、会话、文章等业务逻辑与编排),服务层调用 Intercom 客户端层(单例封装 intercom-client SDK,含类型化错误、缓存与限流处理),底层为基础设施(Redis 缓存、任务队列、监控)。依赖严格向下流动,可避免循环导入与测试隔离问题。

主要能力:客户端层提供惰性单例 getClient(),读取 INTERCOM_ACCESS_TOKEN,并用 IntercomServiceError 包装 SDK 原始错误;联系人服务含 findOrCreate(先搜索后创建,避免 409)、syncFromCRM、mergeLead 与游标分页的 searchAll 生成器;会话服务含 replyAsAdmin、addNote、closeWithMessage 与开放队列搜索;文章服务含帮助中心文章创建与列表,新文章默认草稿。

使用方式:需 Node.js + TypeScript 且安装 intercom-client;访问令牌从环境变量读取,勿提交仓库;Webhook 校验需客户端密钥验证 X-Hub-Signature;启用缓存可选 Redis。按客户端层到服务层顺序逐层构建,再接 Webhook、同步、API、缓存目录及配置与测试。

错误处理要点:循环依赖用依赖注入;初始化竞态用惰性单例;缓存不一致由 Webhook 驱动失效;测试隔离在 beforeEach 调 resetClient();401 检查令牌加载;429 时 IntercomServiceError.retryable 为真,可退避重试。

限制:多环境配置与部署需参考 intercom-multi-env-setup 技能。具体目录树与完整示例见资料所述配套文档,本处未提供完整代码。