Skip to content

POS Plugin SDK 변경 이력

0.0.26

  • Navigation
    • [신규] navigation 추가
      • navigate(page, packageName?): POS에서 페이지 이동
      • page: plugin-tab(플러그인 탭 이동), business-type-setting(업종유형 변경)
      • packageName: 이동할 플러그인 탭의 이름, 없으면 첫 번째 플러그인 탭으로 이동
  • 결제
    • [신규] payment.on('before-cancel', callback) 이벤트 추가
      • 결제가 취소되기 직전에 실행돼요.
      • 콜백: (payload: { order: PluginOrder; payment: PluginPayment }) => Promise<void>

0.0.25

  • 주문
    • [신규] PluginOrderDtoorderKey 추가
      • 외부에서 생성하는 주문의 외부 식별자예요. 중복되지 않도록 주의해주세요.
  • toast
    • [신규] toast.error(params), toast.warn(params), toast.success(params) 추가
      • params.button으로 버튼과 클릭 콜백을 함께 노출할 수 있어요.
    • [변경] toast.open(message) deprecated
      • toast.error(), toast.warn(), toast.success()를 사용하세요.
    • [변경] toast.on('click', callback) deprecated
      • toast.error(), toast.warn(), toast.success()button.onClick을 사용하세요.
  • alert
    • [신규] alert 추가
      • open({ message }): alert 표시

0.0.23

  • 테이블
    • [변경] move 이벤트 콜백 인터페이스 변경
      • 기존: (before: number, after: number)
      • 변경: (payload: MovePayload)
    • [신규] merge 이벤트 추가
      • 테이블 합석 시 발생하는 이벤트예요.
      • 콜백: (payload: MergePayload)

0.0.22

  • KDS 주문
    • [변경] PluginKdsOrderItemStateREQUESTED 상태 추가
  • 테이블
    • [삭제] clearTable 메서드 제거

0.0.21

  • Plugin Unicast
    • [신규] pluginUnicast 추가
      • 플러그인 간 메시지를 주고받을 수 있는 유니캐스트 기능이에요.
      • send(message, to): 특정 플러그인으로 메시지 전송
      • listen('message', callback): 다른 플러그인에서 보낸 메시지 수신

0.0.20

  • KDS 주문
    • [신규] kdsOrder 추가
      • getKdsOrderItems(payload): KDS 주문 항목 목록 조회
      • on(event, callback): KDS 주문 이벤트 구독 (open | complete | cancel)
    • [신규] PluginKdsOrderItem 타입 추가
    • [신규] PluginKdsLineItem 타입 추가
    • [신규] PluginKdsLineItemOrderPrice 타입 추가
    • [신규] PluginKdsOrderItemState 타입 추가 (OPENED | COMPLETED | CANCELLED)
    • [신규] PluginKdsOrderRequestType 타입 추가 (ADDED | NEW | CHANGED | CANCELLED | MERGED)

0.0.19

  • 테이블
    • [신규] table.getHalls() 추가
      • 홀(PluginHall) 목록을 조회해요.
  • 사운드
    • [신규] sound 추가
      • play({ url, volume, repeat?, durationMs? }): 사운드 재생
  • 설정
    • [신규] setting.on('change', callback) 이벤트 추가

0.0.18

  • 주문
    • [신규] order.search(params) 추가
      • tableId, orderState 등 다른 도메인 조건으로 주문을 조회할 수 있어요.
      • params: start, end(ISO 8601), page?, size?, tableId?, orderState?

0.0.17

  • 주문
    • [변경] order.on() 이벤트 콜백 변경
      • 'add' | 'accept' | 'decline' | 'expire' | 'complete' | 'update' 이벤트를 지원해요.
      • 콜백에 주문 객체 대신 주문 id(PluginOrder['id'])가 전달돼요.
      • deprecated 되었던 on('cancel') 오버로드를 제거했어요.
    • [신규] PluginOrderchannel 필드 추가 (source, groups)
    • [신규] PluginOrderDtochannel.groups(선택) 추가
    • [신규] PluginOrderGroup 타입 추가 (POS | KIOSK | DELIVERY | TABLE_ORDER | MOBILE_ORDER)
    • [변경] OrderItemTypeCOMBO, GIFT_CARD 추가
    • [변경] PluginOrderItem.chargePrice 설명 변경 (할인 적용 금액 + 옵션 합산 금액)
  • 결제
    • [변경] 결제 이벤트 콜백 시그니처 변경
      • 기존: (payment: PluginPayment)
      • 변경: (paymentId: PluginPayment['id'], orderId: PluginOrder['id'])
  • 임시 주문
    • [신규] draftOrder.on('update', callback) 이벤트 추가
  • 카탈로그
    • [변경] catalog.on() 콜백에 카탈로그 객체 대신 id(PluginCatalogItem['id'])가 전달돼요.
    • [삭제] deprecated 되었던 on('sold-out' | 'on-sale') 제거
  • 카테고리
    • [변경] category.on() 콜백에 카테고리 객체 대신 id(PluginCatalogCategory['id'])가 전달돼요.
  • 옵션
    • [변경] option.on() 콜백에 옵션 객체 대신 id(PluginCatalogItemOption['id'])가 전달돼요.
    • [삭제] deprecated 되었던 on('sold-out' | 'on-sale') 제거
    • [변경] PluginCatalogItemOption 설명 변경
      • minChoices: 필수 여부에 따라 0(필수 아님) 또는 1(필수)로 내려와요.
      • maxChoices: -1 무제한 선택 관련 설명 제거
  • 테이블
    • [변경] getTables() 반환값에 각 테이블의 order(선택) 포함
    • [변경] table.on() 콜백 변경
      • 'clear' | 'add' | 'delete' | 'update': 테이블 객체 대신 id(PluginTable['id'])가 전달돼요.
      • 'move': 콜백이 (beforeId, afterId)를 전달해요.
    • [삭제] deprecated 되었던 on('order-update' | 'order-add') 제거 (order.on 사용 권장)
  • HTTP
    • [신규] 모든 메서드에 options?: { timeoutMs } 파라미터 추가
  • 절전 모드
    • [신규] powerSaver 추가
      • startBlocking(): 절전 모드 방지 시작
      • stopBlocking(): 절전 모드 방지 해제
      • isBlocked(): 절전 모드 방지 활성화 여부 조회
  • 보안 저장소
    • [신규] secureStore 추가
      • get(key), set(key, value), del(key)
  • 플러그인
    • [삭제] plugin.on('close') 제거
  • 기타
    • [삭제] navigation, pluginMessenger 제거