SDK

JavaScript SDK

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

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 등 개인정보 규정을 준수합니다.