customerio-hello-world
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCustomer.io Hello World
Customer.io Hello World
Overview
概述
Create a minimal working Customer.io example that identifies a user and triggers an event.
创建一个最小可用的Customer.io示例,用于识别用户并触发事件。
Prerequisites
前提条件
- Completed skill
customerio-install-auth - Customer.io SDK installed
- Valid Site ID and API Key configured
- 已完成技能
customerio-install-auth - 已安装Customer.io SDK
- 已配置有效的Site ID和API密钥
Instructions
操作步骤
Step 1: Create Basic Integration
步骤1:创建基础集成
typescript
// hello-customerio.ts
import { TrackClient, RegionUS } from '@customerio/track';
const client = new TrackClient(
process.env.CUSTOMERIO_SITE_ID!,
process.env.CUSTOMERIO_API_KEY!,
{ region: RegionUS }
);
async function main() {
// Step 1: Identify a user
await client.identify('user-123', {
email: 'hello@example.com',
first_name: 'Hello',
created_at: Math.floor(Date.now() / 1000)
});
console.log('User identified');
// Step 2: Track an event
await client.track('user-123', {
name: 'hello_world',
data: {
source: 'sdk-test',
timestamp: new Date().toISOString()
}
});
console.log('Event tracked');
}
main().catch(console.error);typescript
// hello-customerio.ts
import { TrackClient, RegionUS } from '@customerio/track';
const client = new TrackClient(
process.env.CUSTOMERIO_SITE_ID!,
process.env.CUSTOMERIO_API_KEY!,
{ region: RegionUS }
);
async function main() {
// Step 1: Identify a user
await client.identify('user-123', {
email: 'hello@example.com',
first_name: 'Hello',
created_at: Math.floor(Date.now() / 1000)
});
console.log('User identified');
// Step 2: Track an event
await client.track('user-123', {
name: 'hello_world',
data: {
source: 'sdk-test',
timestamp: new Date().toISOString()
}
});
console.log('Event tracked');
}
main().catch(console.error);Step 2: Run the Example
步骤2:运行示例
bash
npx ts-node hello-customerio.tsbash
npx ts-node hello-customerio.tsStep 3: Verify in Dashboard
步骤3:在控制台中验证
- Go to Customer.io dashboard
- Navigate to People section
- Search for "user-123" or "hello@example.com"
- Verify user profile shows attributes
- Check Activity tab for "hello_world" event
- 进入Customer.io控制台
- 导航至「用户(People)」板块
- 搜索“user-123”或“hello@example.com”
- 验证用户资料中显示的属性
- 查看「活动(Activity)」标签页中的“hello_world”事件
Output
输出结果
- User created/updated in Customer.io
- Event recorded in user's activity log
- Console output confirming success
- 在Customer.io中创建/更新用户
- 在用户的活动日志中记录事件
- 控制台输出成功确认信息
Error Handling
错误处理
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid credentials | Verify Site ID and API Key |
| 400 Bad Request | Invalid data format | Check attribute names and types |
| User not found | Identify not called | Always identify before tracking events |
| Event not showing | Dashboard delay | Wait 1-2 minutes and refresh |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 401 未授权 | 凭证无效 | 验证Site ID和API密钥 |
| 400 错误请求 | 数据格式无效 | 检查属性名称和类型 |
| 用户未找到 | 未调用Identify接口 | 始终在追踪事件前调用Identify |
| 事件未显示 | 控制台延迟 | 等待1-2分钟后刷新页面 |
Examples
示例
Python Hello World
Python Hello World
python
import os
from customerio import CustomerIO
cio = CustomerIO(
site_id=os.environ.get('CUSTOMERIO_SITE_ID'),
api_key=os.environ.get('CUSTOMERIO_API_KEY')
)python
import os
from customerio import CustomerIO
cio = CustomerIO(
site_id=os.environ.get('CUSTOMERIO_SITE_ID'),
api_key=os.environ.get('CUSTOMERIO_API_KEY')
)Identify user
Identify user
cio.identify(id='user-123', email='hello@example.com', first_name='Hello')
print('User identified')
cio.identify(id='user-123', email='hello@example.com', first_name='Hello')
print('User identified')
Track event
Track event
cio.track(customer_id='user-123', name='hello_world', source='sdk-test')
print('Event tracked')
undefinedcio.track(customer_id='user-123', name='hello_world', source='sdk-test')
print('Event tracked')
undefinedWith Anonymous User
匿名用户示例
typescript
// Track anonymous user with device ID
await client.identify('device-abc123', {
anonymous_id: 'device-abc123',
platform: 'web'
});typescript
// Track anonymous user with device ID
await client.identify('device-abc123', {
anonymous_id: 'device-abc123',
platform: 'web'
});Resources
参考资源
Next Steps
后续步骤
After verifying hello world works, proceed to to set up your development workflow.
customerio-local-dev-loop确认hello world示例可正常运行后,继续使用技能设置你的开发工作流。
customerio-local-dev-loop