Sending and receiving session events

The session event endpoints allow to listen for events related to a specific session and to send new events to all registered listeners.

See all REST API Guides.

Register for session specific events

To receive events of a session, simply perform a GET request to the desired sessions event endpoint. For example, if we want to receive any events that are related to the session with token 6fdbd1a0-c339-11e9-b775-6d49dd567772:

GET /_wave/api/sessions/6fdbd1a0-c339-11e9-b775-6d49dd567772/events
{
  "type": "status",
  "data": "paused"
}

As this endpoint makes use of the HTTP long polling, you will not immediately receive a response. The connection stays open either until an event gets triggered, in which case the server will respond with that events data, or there is no event within the timeout, which will return an empty response.

With one request only one event can be received. To get any further events, additional requests are necessary. To not miss any events, it is important to perform the next request immediately after receiving a response.

Sending events

To create a new event, simply send a POST request containing the event data to the desired sessions event endpoint. For example, if you want to trigger a new event for a session with token 6fdbd1a0-c339-11e9-b775-6d49dd567772:

POST /_wave/api/sessions/6fdbd1a0-c339-11e9-b775-6d49dd567772/events
{
  "type": "status",
  "data": "paused"
}

This will cause any client, that currently has a connection open as described in the preceding section, to receive the specified event.