JavaScript API
加载挂件脚本后可用的全局方法。
Respondo.init(config)#
初始化并挂载挂件。必须调用一次。返回挂件实例。
const widget = Respondo.init({
agentId: 'YOUR_AGENT_ID'
});Respondo.identify(identity)#
将用户身份附加到当前会话。请在登录后调用。
Respondo.identify({
email: 'user@example.com',
name: 'John Doe',
userId: 'usr_123',
userHash: 'hmac_sha256_signature', // 可选,用于身份校验
metadata: { plan: 'pro' },
properties: { // 自定义联系人属性
account_type: 'enterprise', // 键在 Agent Settings 中定义
region: 'eu-west'
}
});Respondo.track(name, properties?)#
为当前访客记录一次客户端事件(例如购买、套餐升级)。事件可以启动由事件触发的 Tours,并计入 tour 目标。通过 keepalive 尽力投递,因此在页面跳转前一刻触发的事件(结账跳转)也能送达。请在 init() 之后调用。
Respondo.track('purchase_completed', {
plan: 'pro',
amount: 49
});Respondo.destroy()#
从页面中移除挂件。适用于 SPA 中导航到不应显示挂件的页面时。它不会清除访客的身份或已保存的对话 —— 登出时请使用 Respondo.reset()。
// 从页面中移除挂件
Respondo.destroy();
// 之后如需要可重新初始化(会恢复同一个对话)
Respondo.init({ agentId: 'YOUR_AGENT_ID' });Respondo.reset()#
登出 / 共享设备交接。从浏览器中清除匿名访客 id、已保存的对话和会话令牌,在服务器端吊销会话令牌使其副本失效,并重新挂载一个全新的匿名挂件。请在您应用的登出钩子中调用它。
// 登出时 —— 清除身份、对话和会话,重新开始
Respondo.reset();自动数据收集
挂件会在每次对话中自动捕获并存储以下内容:
| 数据 | 来源 |
|---|---|
| 客户端 IP | HTTP 头 |
| 浏览器 / 操作系统 | User-Agent 头 |
| 语言 | Accept-Language 头 |
| 时区 | Intl API(JavaScript) |
| 页面 URL | window.location |
| 来源页(Referrer) | Referer 头 |