SDK
JavaScript SDK
웹사이트나 애플리케이션에 SOLAPI CRM SDK를 설치하여 고객 행동을 추적하고, 레코드를 생성하고, 사용자를 식별할 수 있습니다. 가볍고 비동기적으로 동작하여 사이트 성능에 영향을 주지 않습니다.

설치
npm 설치 bash
npm install @solapi/crm-sdk초기화
SDK 초기화 javascript
import SolapiCRM from '@solapi/crm-sdk';
SolapiCRM.init({
trackingKey: 'YOUR_TRACKING_KEY',
autoPageView: true, // 페이지 뷰 자동 추적
batchSize: 10, // 10건마다 일괄 전송
flushInterval: 5000, // 5초 간격 자동 전송
debug: false
});이벤트 추적
커스텀 이벤트 추적 javascript
// 커스텀 이벤트
SolapiCRM.track('PURCHASE', {
productName: 'CRM Pro',
amount: 79000,
currency: 'KRW'
});
// 페이지 뷰 수동 추적
SolapiCRM.trackPageView();사용자 식별
사용자 식별 (익명 → 실명) javascript
// 로그인 시 사용자 식별
SolapiCRM.identify('record_abc123', {
name: '홍길동',
email: 'hong@example.com',
plan: 'professional'
});
// 로그아웃 시 초기화
SolapiCRM.reset();identify 호출 시 이전에 익명(anon_ 접두사)으로 기록된 이벤트가 해당 레코드에 자동으로 병합됩니다.
슈퍼 프로퍼티
전역 속성 설정 javascript
// 모든 이벤트에 자동 포함될 속성
SolapiCRM.register({
appVersion: '2.1.0',
platform: 'web'
});
// 이미 설정된 값이 없을 때만 등록
SolapiCRM.registerOnce({
firstVisit: new Date().toISOString()
});
// 특정 속성 제거
SolapiCRM.unregister('appVersion');레코드 생성
SDK에서 레코드 생성 javascript
await SolapiCRM.createRecord({
name: '웹 문의 - 홍길동',
data: {
source: 'website',
inquiry: '요금제 문의'
},
tags: ['웹문의', 'inbound']
});추적 제어
옵트인/아웃 javascript
// 추적 중지 (GDPR 등 개인정보 동의 철회)
SolapiCRM.optOutTracking();
// 추적 재개
SolapiCRM.optInTracking();
// 상태 확인
SolapiCRM.hasOptedOut(); // true or false주요 특징
자동 배치
이벤트를 일정 수(기본 10건) 또는 시간(기본 5초) 단위로 묶어 전송합니다.
SPA 지원
history.pushState/replaceState를 감지하여 SPA 라우팅 변경 시에도 페이지 뷰를 자동 추적합니다.
자동 재시도
전송 실패 시 지수 백오프로 최대 3회 자동 재시도합니다.
TypeScript
완전한 TypeScript 타입 정의를 제공합니다.
경량
외부 의존성 없이 순수 JavaScript로 구현되어 번들 크기가 작습니다.
개인정보 보호
옵트인/아웃 API로 GDPR 등 개인정보 규정을 준수합니다.