文档

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();

自动数据收集

挂件会在每次对话中自动捕获并存储以下内容:

数据来源
客户端 IPHTTP 头
浏览器 / 操作系统User-Agent 头
语言Accept-Language 头
时区Intl API(JavaScript)
页面 URLwindow.location
来源页(Referrer)Referer 头