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?)#
현재 방문자에 대한 클라이언트 측 이벤트(예: 구매, 요금제 업그레이드)를 기록합니다. 이벤트는 이벤트로 트리거되는 투어를 시작할 수 있고 투어 목표 달성에 집계됩니다. keepalive를 사용한 최선의 노력(best-effort) 전달이므로, 페이지 이동 직전(결제 리디렉션)에 발생한 이벤트도 도착합니다. 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 헤더 |
| 브라우저 / OS | User-Agent 헤더 |
| 언어 | Accept-Language 헤더 |
| 시간대 | Intl API(JavaScript) |
| 페이지 URL | window.location |
| 리퍼러 | Referer 헤더 |