Skip to main content

Relay.Client

Relay.Client is the basic connection to Relay, allowing you send commands to Relay and setup handlers for inbound events.

Constructor

Constructs a client object to interact with Relay.

Parameters

ParameterTypeDefaultDescription
projectstringrequiredProject ID from your SignalWire Space
tokenstringrequiredToken from your SignalWire Space

Example

Create a Client to interact with the Relay API.

const client = new RelayClient({
project: 'my-project-id',
token: 'my-project-token'
})

Properties

PropertyTypeDescription
connectedbooleanReturns true if the client has connected to Relay
callingRelay.CallingReturns a Relay.Calling instance associated with the client
messagingRelay.MessagingReturns a Relay.Messaging instance associated with the client

Methods

connect

Activates the connection to the Relay API. The connection to Relay does not happen automatically so that you can setup handlers to events that might occur before the connection is successfully established.

Returns

Promise<void>

Example

// Make sure you have attached the listeners you need before connecting the client, or you might miss some events.
await client.connect()

disconnect

Disconnect the client from Relay.

Returns

void

Example

client.disconnect()

on

Attach an event handler for a specific type of event.

Parameters

ParameterTypeDefaultDescription
eventstringrequiredEvent name. Full list of events Relay.Client Events
handlerfunctionrequiredFunction to call when the event comes

Returns

Relay.Client - The client object itself.

Example

Subscribe to the signalwire.ready and signalwire.error events.

client.on('signalwire.ready', (client) => {
// Your client is ready!
}).on('signalwire.error', (error) => {
// Got an error...
})

off

Remove an event handler that were attached with .on(). If no handler parameter is passed, all listeners for that event will be removed.

Parameters

ParameterTypeDefaultDescription
eventstringrequiredEvent name. Full list of events Relay.Client Events
handlerfunctionoptionalFunction to remove.
Note: handler will be removed from the stack by reference so make sure to use the same reference in both .on() and .off() methods.

Returns

Relay.Client - The client object itself.

Example

Subscribe to the signalwire.error and then, remove the event handler.

const errorHandler = (error) => {
// Log the error..
}

client.on('signalwire.error', errorHandler)

// .. later
client.off('signalwire.error', errorHandler)

Events

All available events you can attach a listener on.

EventDescription
signalwire.readyThe session has been established and all other methods can now be used.
signalwire.errorThere is an error dispatch at the session level.
signalwire.socket.openThe websocket is open. However, you have not yet been authenticated.
signalwire.socket.errorThe websocket gave an error.
signalwire.socket.messageThe client has received a message from the websocket.
signalwire.socket.closeThe websocket is closing.