Customer.io Hello World 是一个用于创建最小可用 Customer.io 集成示例的技能,帮助开发者快速理解并验证 Customer.io 的核心操作。
用途 该技能用于学习 Customer.io 基础、测试 SDK 配置,或创建第一个 identify + track 流程。它覆盖 Customer.io 的三项基本操作:识别用户(创建或更新用户资料)、追踪事件,以及发送事务性邮件。
主要能力
- 识别用户:使用 identify() 创建或更新用户资料,第一个参数为内部用户 ID(不可变,建议使用数据库主键),email 属性为发送邮件活动所必需,created_at 必须为 Unix 秒级时间戳。
- 追踪事件:使用 track() 在用户活动时间线上记录自定义事件,事件名称区分大小写且需与仪表盘中的活动触发器完全匹配,建议使用 snake_case 命名。
- 追踪匿名事件:使用 trackAnonymous() 在用户注册前追踪事件,之后在 identify() 中传入 anonymous_id 以合并注册前活动。
- 发送事务性邮件:使用 APIClient 和 SendEmailRequest 发送事务性邮件,需指定 transactional_message_id 和 message_data,并通过 identifiers 关联用户资料。
- 验证:在仪表盘(https://fly.customer.io)中检查用户资料、活动事件和邮件投递情况。
使用方式 前置条件:安装 customerio-node(npm install customerio-node),配置 CUSTOMERIO_SITE_ID、CUSTOMERIO_TRACK_API_KEY 和 CUSTOMERIO_APP_API_KEY 环境变量。 示例代码使用 TypeScript,通过 npx tsx scripts/hello-customerio.ts 运行。完整示例包括识别用户、追踪事件和清理测试用户(使用 suppress() 抑制测试用户,使其不会收到消息)。
适用场景 适用于学习 Customer.io 基础、测试 SDK 配置、创建第一个 identify + track 流程,以及在非生产工作区中验证集成。
限制
- 必须使用合成标识符和开发专用资料,不得使用真实客户邮箱或生产分群作为教程目标。
- 用户必须先被识别才能追踪事件。
- 事件名称区分大小写,必须与活动触发器完全匹配。
- created_at 必须为 Unix 秒级时间戳,而非毫秒。
- 事务性邮件需要正确的 transactional_message_id。
- 仪表盘事件传播可能有 1-2 分钟延迟。
- 常见错误包括 401 Unauthorized(凭据无效)、400 Bad Request(负载格式错误)、用户未出现在 People 标签(未调用 identify())、事件未出现在 Activity(仪表盘传播延迟)、事务性邮件失败(transactional_message_id 错误)。
资源
- Track API Reference
- Transactional API Concepts
- customerio-node README
后续步骤 验证 hello world 工作后,可继续使用 customerio-local-dev-loop 设置开发工作流。