Plugin Unicast API
플러그인 간 1:1 메시지 통신을 위한 인터페이스를 제공해요. 특정 플러그인을 대상으로 메시지를 전송하거나, 다른 플러그인으로부터 메시지를 수신할 수 있어요.
Methods
send
지정한 플러그인으로 메시지를 전송해요.
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
posPluginSdk.pluginUnicast.send(message, to);Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
message | T | O | 전송할 메시지. 어떤 타입이든 넣을 수 있어요 |
to | string | O | 메시지를 수신할 플러그인 이름 |
Response
반환값이 없어요.
플러그인 정보가 아직 초기화되지 않은 시점에
send를 호출해도 내부 버퍼에 저장되어, 초기화 완료 후 자동으로 전송돼요.
listen
다른 플러그인으로부터 메시지를 수신할 콜백을 등록해요.
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
posPluginSdk.pluginUnicast.listen('message', (message, from) => {
console.log('발신 플러그인:', from);
console.log('수신 메시지:', message);
});Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
event | 'message' | O | 구독할 이벤트. 현재 'message'만 지원해요 |
callback | (message: T, from: string) => void | O | 메시지와 발신 플러그인 이름을 받아 실행돼요 |
Response
반환값이 없어요.
사용 예시
플러그인 A → 플러그인 B 메시지 전송
플러그인 A (송신)
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
posPluginSdk.pluginUnicast.send({ orderId: '12345', status: 'ready' }, 'plugin-b');플러그인 B (수신)
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
posPluginSdk.pluginUnicast.listen('message', (message, from) => {
console.log(`${from}로부터 메시지 수신:`, message);
// { orderId: '12345', status: 'ready' }
});