Skip to content

Barcode API

바코드 스캐너와 연동하는 API입니다. 바코드 전송, 스캔 이벤트 수신, 스캔 모드 제어 기능을 제공합니다.

Methods

send

바코드 값을 POS로 전달합니다. 카탈로그를 추가할 수 있는 화면(예: 주문 탭)에서 호출하면, 포스에 등록된 바코드인 경우 해당 메뉴가 자동으로 추가되고, 등록되지 않은 바코드인 경우 메뉴 등록 화면이 표시됩니다.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

await posPluginSdk.barcode.send('8801234567890');

on

바코드 스캔 이벤트를 구독합니다.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

posPluginSdk.barcode.on('scan', (barcode) => {
    console.log('스캔된 바코드:', barcode);
});

useBarcodeScan

iframe 화면이 활성화되어 있을 때 바코드가 입력되면 자동으로 POS로 전송합니다. 한 번 실행하면 unUseBarcodeScan을 호출하기 전까지 바코드 값이 계속 POS로 전송됩니다. iframe 방식으로 플러그인을 실행할 때 사용하세요.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

posPluginSdk.barcode.useBarcodeScan();

unUseBarcodeScan

useBarcodeScan으로 활성화한 자동 전송을 해제합니다.

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

posPluginSdk.barcode.unUseBarcodeScan();

사용 예시

바코드 스캔 처리

ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';

function startBarcodeScanner() {
    posPluginSdk.barcode.useBarcodeScan();

    posPluginSdk.barcode.on('scan', async (barcode) => {
        console.log('스캔된 바코드:', barcode);
        // 상품 조회 등 후속 처리
    });
}

function stopBarcodeScanner() {
    posPluginSdk.barcode.unUseBarcodeScan();
}