솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!솔라피 개발자 샌드박스 홈페이지입니다. 실사용은 solapi.com 으로 이동해주세요!
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 등 개인정보 규정을 준수합니다.