Skip to content

커머스 관련

jinsang edited this page Aug 29, 2023 · 2 revisions

구성


API 가이드

구매 완료

  • 구매 완료 정보 전송
static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • 구매 완료의 경우: ACParams.TYPE.BUY_DONE
    • value: 화면명
      • 예: 구매 완료 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.payMethodName: 지불방법
  • params.orderNumber: 주문번호
  • params.products: 분석에서 사용할 제품들 (필수)

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.BUY_DONE, '구매 완료 화면')
params.memberKey = '멤버ID'
params.payMethodName = '지불방법'
params.orderNumber = '주문번호'
params.products = []
products.map((item) => {
  params.products?.push(
    new ACProduct(
      '제품명',
      '제품 카테고리',
      '100', // 제품 총 가격(제품수량을 모두 포함하는 가격)
      20, // 제품 수량
      '제품ID',
      '옵션코드명'
    )
  )
})
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })

구매 취소

  • 구매 취소 정보 전송

메서드

static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • 구매 취소의 경우: ACParams.TYPE.BUY_CANCEL
    • value: 화면명
      • 예: 구매 취소 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.payMethodName: 지불방법
  • params.orderNumber: 주문번호
  • params.products: 분석에서 사용할 제품들 (필수)

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.BUY_CANCEL, '구매 취소 화면')
params.memberKey = '멤버ID'
params.payMethodName = '지불방법'
params.orderNumber = '주문번호'
params.products = []
products.map((item) => {
  params.products?.push(
    new ACProduct(
      '제품명',
      '제품 카테고리',
      '100', // 제품 총 가격(제품수량을 모두 포함하는 가격)
      20, // 제품 수량
      '제품ID',
      '옵션코드명'
    )
  )
})
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })

장바구니 추가

  • 장바구니 추가 정보 전송

메서드

static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • 장바구니 추가의 경우: ACParams.TYPE.ADDCART
    • value: 화면명
      • 예: 장바구니 추가 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.products: 분석에서 사용할 제품들 (필수)

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.ADDCART, '장바구니 추가 화면')
params.memberKey = '멤버ID'
params.products = []
products.map((item) => {
  params.products?.push(
    new ACProduct(
      '제품명',
      '제품 카테고리',
      '100', // 제품 총 가격(제품수량을 모두 포함하는 가격)
      20, // 제품 수량
      '제품ID',
      '옵션코드명'
    )
  )
})
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })

장바구니 제거

  • 장바구니 제거 정보 전송

메서드

static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • 장바구니 제거의 경우: ACParams.TYPE.DELCART
    • value: 화면명
      • 예: 장바구니 제거 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.products: 분석에서 사용할 제품들 (필수)

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.DELCART, '장바구니 제거 화면')
params.memberKey = '멤버ID'
params.products = []
products.map((item) => {
  params.products?.push(
    new ACProduct(
      '제품명',
      '제품 카테고리',
      '100', // 제품 총 가격(제품수량을 모두 포함하는 가격)
      20, // 제품 수량
      '제품ID',
      '옵션코드명'
    )
  )
})
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })

제품 노출

  • 제품 노출 정보 전송

메서드

static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • 제품 노출의 경우: ACParams.TYPE.APPEAR_PRODUCT
    • value: 화면명
      • 예: 장바구니 제거 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.productName: 제품명
  • params.productCategoryName: 제품 카테고리명
  • params.productId: 제품ID, 제품 식별을 위한 ID
  • params.productPrice: 제품가격
    • 소수점은 사용하지 않습니다.
      • 예) xx.123 으로 전송시 정수부분만 사용합니다.
    • $와 같이 숫자로 변환이 불가능한 경우 0 으로 대체됩니다.

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.APPEAR_PRODUCT, '제품 노출 화면')
params.memberKey = '멤버ID'
params.productName = '제품명'
params.productCategoryName = '제품카테고리명'
params.productId = '제품ID'
params.productPrice = '100'
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })

Link

  • 링크 정보 전송
  • 링크 API는 사용전에 에이스카운터 통계 화면에 등록하셔야 합니다.

메서드

static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • Link의 경우: ACParams.TYPE.LINK
    • value: 화면명
      • 예: 링크 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.linkName: 링크명

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.LINK, '링크 화면')
params.memberKey = '멤버ID'
params.linkName = '링크명'
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })

Tel

  • 연락 정보 전송

메서드

static send(value: ACParams, callback: (error?: object, result?: ACEResponseToCaller) => void): void;
static send(value: ACParams): Promise<ACEResponseToCaller>;

매개변수

  • ACParams.init(type: ParamType, value?: string): 이벤트 정보 전송에 사용되는 static 메서드
    • type: 이벤트 종류
      • Tel의 경우: ACParams.TYPE.TEL
    • value: 화면명
      • 예: Tel 화면
  • params.memberKey: 멤버ID, 사용자 식별을 위한 ID
  • params.tel: 연락처

예제코드

import { ACParams, ACS } from 'acecounter.sdk.react-native'

const params = ACParams.init(ACParams.TYPE.TEL, 'Tel 화면')
params.memberKey = '멤버ID'
params.tel = '연락처'
ACS.send(params)
  .then((response) => {
    if (response) {
      console.log('response: ' + JSON.stringify(response))
    }
    console.log(`success sdk send ${params.name}`)
  })
  .catch((err) => {
    if (err) {
      console.log('err: ' + JSON.stringify(err))
    }
  })