SuperAPI AI 工具集

intercom-deploy-integration

部署与运维

查看项目

更新于 10-15 23:26

技能介绍

用途:把已具备 Intercom 集成的应用发布到 Vercel、Fly.io 或 Google Cloud Run,并正确配置密钥、签名 Webhook 与健康检查。

前置条件:需要 Intercom 生产访问令牌、已安装平台 CLI(vercel、flyctl 或 gcloud)、以及待部署的 Intercom 集成应用。

需要两个密钥:INTERCOM_ACCESS_TOKEN 用于 API 调用(new IntercomClient({ token }));INTERCOM_WEBHOOK_SECRET 为 Developer Hub 签名密钥,用于校验入站 Webhook(对原始请求体做 HMAC-SHA1,与 X-Hub-Signature 头比较)。二者存入平台密钥库,不可硬编码:vercel env add、fly secrets set 或 Cloud Run Secret Manager。密钥不匹配返回 401 Invalid signature;令牌无效表现为健康检查降级。

主要步骤:一、选择平台并写入密钥,Vercel 用 vercel env add INTERCOM_ACCESS_TOKEN production 与 vercel env add INTERCOM_WEBHOOK_SECRET production,Fly.io 用 fly secrets set,Cloud Run 存 Secret Manager 并以 --set-secrets 挂载。二、编写签名 Webhook 处理器:关闭 body 解析读取原始体,重算 HMAC-SHA1 并用 crypto.timingSafeEqual 比较,签名不符返回 401;须在 5 秒内返回,较慢工作放入队列。三、添加 /health 路由,调用 client.admins.list() 并报告 healthy/degraded 与延迟,接入平台存活探针。四、执行部署命令 vercel --prod、fly deploy 或 gcloud run deploy。五、在 Developer Hub > Webhooks 注册 https://your-domain.com/api/webhooks/intercom,选择 topics,复制签名密钥并发送测试通知确认返回 200。

可用 Webhook 主题:conversation.user.created、conversation.user.replied、conversation.admin.replied、conversation.admin.closed、contact.created、contact.signed_up、contact.tag.created、user.created(旧主题)。

成功结果:服务通过 HTTPS 可访问;两个密钥存于平台密钥库;Webhook 端点对有效载荷返回 200 { "received": true },对错误签名返回 401;/health 返回 {"status":"healthy","services":{"intercom":{"connected":true,"latencyMs":142}}};Webhook 已注册且测试通知通过。

常见问题:Webhook 401 多为签名不匹配,需核对密钥;冷启动超时可设最小实例数大于 0;找不到密钥需用平台 CLI 核对;健康检查失败需检查生产令牌;Webhook 投递失败常因超时,应改为异步队列处理。完整的处理器、vercel.json、fly.toml、Cloud Run 部署脚本与健康检查代码见 references/implementation.md,端到端示例见 references/examples.md。