Skip to content

App API

토스 프론트의 기본 정보를 관리하는 API입니다. 단말기 설정, 매장 정보 조회, 시리얼 번호 확인 등의 기능을 제공합니다.

Methods

restartOnboarding

단말기를 로그아웃하고 온보딩 화면으로 이동합니다.

Example

js
/**
 * 단말기 로그아웃 및 온보딩 재시작
 */
await sdk.app.restartOnboarding();

getSerialNumber

단말기의 고유 시리얼 번호를 조회합니다.

Example

js
/**
 * 단말기 시리얼 번호 조회
 * @returns {Object} 시리얼 번호 정보
 */
const { serialNumber } = await sdk.app.getSerialNumber();

getMerchant

현재 로그인된 매장의 정보를 조회합니다.

Example

js
/**
 * 매장 정보 조회
 * @returns {Object} 매장 정보 객체
 */
const merchant = await sdk.app.getMerchant();
console.log("매장 ID:", merchant.id);
console.log("매장명:", merchant.name);
console.log("사업자등록번호:", merchant.businessNumber);

openSetting

단말기의 설정 화면을 엽니다.

Example

js
/**
 * 단말기 설정 화면 열기
 */
await sdk.app.openSetting();

setIdle

첫화면으로 이동합니다.

Example

js
/**
 * 단말기 첫화면 열기
 */
await sdk.app.setIdle();

isDebugMode

실행 중인 플러그인이 개발모드인지, 아닌지 확인합니다.

Example

js
/**
 * 개발모드 여부
 * @returns {Boolean}
 */
const isDebugMode = await sdk.app.isDebugMode();
console.log("개발모드인지:", isDebugMode);

사용 예시

단말기 관리 클래스

js
class DeviceManager {
  constructor() {
    this.serialNumber = null;
    this.merchant = null;
  }

  /**
   * 단말기 정보 초기화
   */
  async initialize() {
    try {
      const { serialNumber } = await sdk.app.getSerialNumber();
      this.serialNumber = serialNumber;
      this.merchant = await sdk.app.getMerchant();
    } catch (error) {
      console.error("단말기 정보 조회 실패:", error);
    }
  }

  /**
   * 단말기 로그아웃
   */
  async logout() {
    await sdk.app.restartOnboarding();
  }

  /**
   * 설정 화면 열기
   */
  async openSettings() {
    await sdk.app.openSetting();
  }

  /**
   * 매장 정보 조회
   * @returns {Object} 매장 정보
   */
  getMerchantInfo() {
    return this.merchant;
  }

  /**
   * 시리얼 번호 조회
   * @returns {string} 시리얼 번호
   */
  getSerialNumber() {
    return this.serialNumber;
  }
}

// 사용 예시
async function manageDevice() {
  const deviceManager = new DeviceManager();
  await deviceManager.initialize();

  // 매장 정보 출력
  const merchant = deviceManager.getMerchantInfo();
  console.log("매장명:", merchant.name);
  console.log("사업자등록번호:", merchant.businessNumber);
}