customerio-hello-world

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Customer.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
    customerio-install-auth
    skill
  • 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.ts
bash
npx ts-node hello-customerio.ts

Step 3: Verify in Dashboard

步骤3:在控制台中验证

  1. Go to Customer.io dashboard
  2. Navigate to People section
  3. Search for "user-123" or "hello@example.com"
  4. Verify user profile shows attributes
  5. Check Activity tab for "hello_world" event
  1. 进入Customer.io控制台
  2. 导航至「用户(People)」板块
  3. 搜索“user-123”或“hello@example.com
  4. 验证用户资料中显示的属性
  5. 查看「活动(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

错误处理

ErrorCauseSolution
401 UnauthorizedInvalid credentialsVerify Site ID and API Key
400 Bad RequestInvalid data formatCheck attribute names and types
User not foundIdentify not calledAlways identify before tracking events
Event not showingDashboard delayWait 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')
undefined
cio.track(customer_id='user-123', name='hello_world', source='sdk-test') print('Event tracked')
undefined

With 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
customerio-local-dev-loop
to set up your development workflow.
确认hello world示例可正常运行后,继续使用
customerio-local-dev-loop
技能设置你的开发工作流。