IWebSocket
Scripting object for WebSocket communication with the server.
The microapp host implements this interface and guest microapps use it to subscribe/unsubscribe to server-side events delivered over WebSocket.
See WebSocketEvents for supported events
Extends
Methods
_dispose()?
optional _dispose(): void;
Returns
void
Inherited from
_toJSON()
_toJSON(): RemotingScriptingObject;
Returns
Inherited from
subscribe()
subscribe(options: SubscribeOptions): Promise<SubscribeResult>;
Subscribe to a WebSocket resource event.
Sends a subscribe command to the WebSocket server for the specified resource.
Either resourceId or filter must be provided in the options.
On success, returns a SubscribeResult containing the subscriptionId.
If a matching subscription is already active, the existing subscriptionId is returned.
The subscriptionId is used to correlate incoming event messages and to unsubscribe.
Parameters
options
subscription options including resource name, optional resourceId or filter
Returns
Promise<SubscribeResult>
subscription result containing the unique subscriptionId
Throws
error if the resource is unknown or filter/resourceId is invalid
Examples
subscribe by resourceId
const result = await websocket.subscribe({
resource: 'serviceOrder',
resourceId: '1e65313c-db09-496c-85ba-bb0758623f93'
});
console.log('Subscribed with id:', result.subscriptionId);
subscribe by filter
const result = await websocket.subscribe({
resource: 'serviceOrder',
filter: { loanId: ['lo7ee116-ec80-4dbf-b387-14606d0e4807'] }
});
console.log('Subscribed with id:', result.subscriptionId);
unsubscribe()
unsubscribe(subscriptionId: string): Promise<void>;
Unsubscribe from an active WebSocket subscription.
Sends an unsubscribe command to the WebSocket server for the given subscriptionId. After unsubscribing, no further event messages will be received for this subscription.
Parameters
subscriptionId
string
unique identifier of the subscription to cancel
Returns
Promise<void>
Throws
error if the subscriptionId does not exist
Example
await websocket.unsubscribe('4fa1ad8a-0ffa-46b5-8871-9b4b4cbf2eb3');
Properties
id
readonly id: string;
Inherited from
Message
readonly Message: IEvent;
Event fired when a WebSocket message is received for an active subscription.
Use WebSocketMessageListener to handle this event
Examples
with v2 SSF
guest.subscribe({
eventId: 'websocket.message',
callback: ({ eventParams }) => {
console.log('Received event for subscription', eventParams.subscriptionId);
console.log('Resource:', eventParams.resource);
console.log('Payload:', eventParams.payload);
}
});
with v1 SSF
elli.script.subscribe('websocket', 'message', ({ eventParams }) => {
console.log('Received event for subscription', eventParams.subscriptionId);
console.log('Resource:', eventParams.resource);
console.log('Payload:', eventParams.payload);
});
objectType
readonly objectType: string;