SuperAPI AI 工具集

intercom-prod-checklist

部署与运维

查看项目

更新于 10-16 07:06

技能介绍

用途

该技能面向将 Intercom 集成部署到生产环境的场景,提供一份完整的上线前检查清单和回滚程序。它适合在发布前逐项核对集成质量,并在上线时作为准入门槛使用。

主要能力

检查清单按故障类别分为六组,每组对应一类典型问题,需要按顺序逐项完成,不能因为“应该没问题”而跳过任何一组:

  1. 认证与密钥:生产访问令牌存入密钥管理器而非环境文件;令牌仅具备所需的最小 OAuth 范围;记录并测试令牌轮换流程;开发、预发、生产工作区使用不同令牌;通过 grep -r "dG9r" . 确认源码中无硬编码令牌。
  2. API 集成质量:所有 API 调用包裹错误处理(try/catch 配合 IntercomError);实现 429 速率限制的指数退避重试;实现 5xx 服务端错误重试;配置请求超时(建议 30 秒);分页正确支持游标迭代;联系人搜索高效使用复合查询。
  3. Webhook 端点:Webhook URL 使用 HTTPS(Intercom 要求);实现 X-Hub-Signature 验证(HMAC-SHA1);处理程序在 5 秒内响应(Intercom 超时限制);幂等处理重复 Webhook;处理失败重试(Intercom 在 1 分钟后重试一次)。
  4. 数据处理:日志中脱敏 PII(邮箱、姓名、电话号码);联系人数据缓存设置合理 TTL;实现联系人数据的 GDPR 删除处理;发送到 API 前校验自定义属性。
  5. 监控与告警:健康检查端点包含 Intercom 连通性测试;配置错误率告警(阈值:5 分钟内 5%);跟踪速率限制使用量(达到限额 80% 时告警);延迟监控(P95 超过 2 秒告警);监控 Intercom 状态页(https://status.intercom.com)。
  6. 健康检查与上线:生产健康端点在 Intercom 不健康时返回 503;使用生产令牌运行上线前验证脚本;演练回滚流程。

使用方式

技能包含预检脚本作为上线准入门槛,运行时输出认证结果(PASS 才通过)、当前速率限制余量、Intercom 状态指示(none 表示正常)以及 Webhook 端点 HTTP 状态码;认证返回非 200 时脚本以非零退出并阻止上线。健康检查端点在 Intercom 健康时返回 200,降级或不健康时返回 503,并在 JSON 正文中给出分类原因。资料中提供了一个最小健康检查骨架:

async function checkIntercomHealth(client: IntercomClient) {
  const start = Date.now();
  try {
    await client.admins.list();
    return { status: "healthy", latencyMs: Date.now() - start };
  } catch (err) {
    // 429 → degraded, 401 → unhealthy + unauthenticated, else unhealthy
    return { status: "unhealthy", latencyMs: Date.now() - start };
  }
}

完整实现位于 references/implementation.md,包含 TypeScript 模块和 Express /health 端点。预检与回滚脚本位于 references/examples.md。

前置条件包括:拥有生产 Intercom 工作区并在开发者中心签发访问令牌;在运行检查的环境中导出 $INTERCOM_ACCESS_TOKEN;具备 curl 和 jq 用于预检与状态探测;集成部署在功能开关之后,以便无需重新部署即可禁用;接收 Webhook 时可选设置 $WEBHOOK_URL。

适用场景

适用于 Intercom 集成准备上线、发布前核查、以及生产环境故障时的回滚处置。

限制

资料未说明该技能支持的具体平台、是否需要特定运行时版本或依赖包;也未提供价格或收费信息。回滚步骤包括关闭功能开关、回滚部署、验证 /health、在开发者中心禁用 Webhook,但完整脚本需参考对应文件。对于版本升级场景,资料建议参考同包中的 intercom-upgrade-migration 技能。