Web SDK
블럭스 Web SDK 를 설치하고 사용하는 방법을 알아봅니다.
SDK 설치
- 스크립트 태그
- 모듈 임포트
HTML 페이지에 스크립트 태그로 블럭스 Web SDK 파일을 추가합니다.
* Next.js를 사용하시는 경우, _document.tsx 혹은 layout.tsx의 <Head> 사이에 삽입하세요.
* React를 사용하시는 경우, public/index.html의 <head> 사이에 삽입하세요.
<script src="https://scripts.blux.ai/blux_web_sdk/2.2.28/sdk_script.js"></script>
아래 명령어로 블럭스 Web SDK를 설치합니다.
* Node.js 버전 ≥ 10.24.1 환경만 지 원해요.
npm install @blux.ai/web-sdk
yarn add @blux.ai/web-sdk
pnpm install @blux.ai/web-sdk
BluxClient 초기화
BluxClient 인스턴스를 생성해서 SDK를 초기화하세요. 생성한 인스턴스로 블럭스 Web SDK의 모든 메서드를 호출할 수 있습니다. 내 서비스의 애플리케이션 아이디와 API 키 정보는 연동 키 확인하기 에서 자세히 확인하세요.
* 인스턴스를 생성하면 자동으로 SDK가 초기화 돼요.
- 인스턴스를 생성한 이후, 별도의 비동기 처리 없이 바로 메서드를 호출해도 돼요.
- 스크립트 태그
- 모듈 임포트
<script>
const bluxClient = new BluxClient({
bluxApplicationId: "BLUX_APPLICATION_ID",
bluxAPIKey: "BLUX_API_KEY",
});
</script>
import { BluxClient } from @blux.ai/web-sdk
const bluxClient = new BluxClient({
bluxApplicationId: "BLUX_APPLICATION_ID",
bluxAPIKey: "BLUX_API_KEY",
});
파라미터
bluxApplicationId필수string
고객님의 서비스를 식별하는 고유 아이디입니다.
bluxAPIKey필수string
블럭스에서 발급하는 API 키입니다.
customDeviceIdstring
고객사가 자체적으로 관리하는 디바이스 식별자입니다. 외부 시스템의 디바이스와 블럭스 디바이스를 매핑할 때 사용하세요.
* customDeviceId 옵션은 Web SDK 2.2.11 이상에서 지원됩니다.
유저
signIn()
유저 로그인을 요청합니다. signIn()을 호출하지 않으면 블럭스 SDK는 유저를 식별할 수 없어요. 아래의 경우에 반드시 호출하세요.
① 회원 유저가 자동 로그인 한 시점
② 비회원 유저가 로그인하여 회원 유저로 식별되는 시점
bluxClient.signIn({ userId: "USER_ID" });
파라미터
userId필수string
유저를 식별하는 고유 아이디입니다.
응답
Promise<void>
signOut()
유저 로그아웃을 요청합니다. 회원 유저가 로그아웃하는 시점에 호출하세요.
bluxClient.signOut();
응답
Promise<void>
setUserProperties()
유저의 전화번호, 이메일 주소, 광고 수신 동의 여부 등을 설정합니다.
bluxClient.setUserProperties({
userProperties: {
phone_number: "01012345678",
email_address: "test@blux.ai",
marketing_notification_consent: true,
}
});
파라미터
userProperties필수Record
유저의 기본 정보입니다.
phone_numberstring
유저의 전화번호입니다. 블럭스의 문자/카카오톡 발송에 사용되고 있어요.
-없이 숫자로만 구성된 문자열입니다.email_addressstring
유저의 이메일 주소입니다. 블럭스의 이메일 발송에 사용되고 있어요.
marketing_notification_consentboolean
광고 수신 전역 동의 설정입니다. 전역 동의 또는 채널별 동의 둘 중 하나라도
false면 해당 채널의 광고 수신은 거부됩니다. 둘 다 미설정이어도 해당 채널은 거부됩니다.marketing_notification_sms_consentboolean
광고 문자 수신 동의 여부입니다.
marketing_notification_email_consentboolean
광고 이메일 수신 동의 여부입니다.
marketing_notification_push_consentboolean
광고 푸시 알림 수신 동의 여부입니다.
marketing_notification_kakao_consentboolean
광고 카카오톡 수신 동의 여부입니다.
응답
Promise<void>
setCustomUserProperties()
setUserProperties()로 설정하는 기본 정보 이외의 추가 정보를 설정합니다.
bluxClient.setCustomUserProperties({
customUserProperties: {
"membership_level": "GOLD",
"age": 25,
"is_active": true,
"last_login_date": "2025-06-17T11:15:00.123+09:00",
}
});
파라미터
customUserProperties필수Record<string, string | boolean | number | null>
유저의 추가 정보 입니다. 예를 들어, 회원 등급, 나이, 활성 여부, 최근 로그인 일시 등을 설정할 수 있습니다. 블럭스의 유저 세그멘테이션에 사용되고 있어요.
응답
Promise<void>
이벤트
Event 객체
유저의 행동 데이터를 담고 있는 객체입니다. 행동의 종류, 정보, 발생 시간 등을 자세히 알 수 있습니다.
기본 이벤트
기본 이벤트는 블럭스가 미리 정의해 둔 이벤트 객체입니다. 자주 쓰이는 장바구니 담기, 좋아요 누르기, 상세페이지 진입하기 등의 이벤트를 포함합니다.
AddProductDetailViewEvent
유저가 상품의 상세 정보를 탐색한 순간이에요. 예를 들어, 유저가 상품의 상세페이지에 진입한 순간을 의미해요.
const addProductDetailViewEvent = new AddProductDetailViewEvent({
itemId: "ITEM_ID",
customEventProperties: {
brandName: "Nike",
categoryName: "Shoes",
},
});
객체 상세
itemId필수string
상품을 식별하는 고유 아이디입니다. 연동 시 사용한 상품 아이디를 입력하세요.
customEventPropertiesMap<String, Object>
이벤트 추가 속성입니다. 위 속성 이외의 속성을 추가하고 싶다면 이 필드를 사용하세요.
AddCartaddEvent
유저가 상품에 대한 강한 선호를 표현한 순간이에요. 예를 들어, 유저가 상품을 장바구니에 담은 순간을 의미해요.
const addCartaddEvent = new AddCartaddEvent({
itemId: "ITEM_ID",
customEventProperties: {
brandName: "Nike",
addedFrom: "product_detail",
},
});