Websocket Reference
Identify Data Schema
token
String
Authentication token generated from the appropriate endpoint for your connection type — /auth/user for a producer (type 0), /auth/developer for a consumer (type 1).
Identify Type Enum
User (Producer)
0
Developer (Consumer)
1
Payload Format
Example Payload
{
"op": 5,
"d": {
"ts": "2022-05-04T10:26:11.268507+01:00",
"val": 95
},
"uid": "8e864e3a-979a-4d04-b4e9-b6d020f20ba0",
"seq": 73,
"t": "HEART_RATE"
}{
"op": 6,
"d": {
"val": 95
},
"t": "HEART_RATE"
}Heartbeat
Upon opening a websocket connection to the server, you will immediately be sent an Op 2 HELLO payload containing the heartbeat interval (in milliseconds) that the client should use when sending heartbeat messages to the server.
{
"op": 2,
"d": {
"heartbeat_interval": 40000
}
}Heartbeat Acknowledged
{"op": 1} // Sent back to the client by the server every "heartbeat_interval" msOpcodes
HEARTBEAT
0
Fired periodically by the client to keep the connection alive.
Client
HEARTBEAT_ACK
1
Sent by the server to acknowledge that a heartbeat has been received.
Server
HELLO
2
Sent by the server immediately after connecting. Contains the heartbeat interval for the client to use.
Server
IDENTIFY
3
Sent by the client to complete the handshake with the server. Contains authentication details.
Client
READY
4
Sent by the server once the handshake has been completed. The client will be able to receive/send payloads immediately after this is received.
Server
DISPATCH
5
An event dispatched by the server. Contains details about the event, as well as the data payload for the event.
Server
SUBMIT
6
Sent by the client to notify the server of new data which will then be routed to the correct consumer appropriately.
Client (producer only)
REPLAY
7
Request a replay of payloads between a lower (after) and upper (before) sequence bound. Both bounds are required and exclusive.
Client (consumer only)
Data Types
HEART_RATE
val is the BPM of each reading
STEPS
val the amount of accumulated steps
DISTANCE
val the accumulated distance in meters
FLOORS_CLIMBED
val the accumulated floors climbed
STEPS_CADENCE
val the amount of steps per second taken by the user
SPEED
val the speed in meter per second of the user
ACCELERATION
d the acceleration data of the device.
- d[0] -> acceleration in x direction
- d[1] -> acceleration in y direction
- d[2] -> acceleration in z direction
GYROSCOPE
d the rotation rate of the device.
- d[0] -> rotation in x direction
- d[1] -> rotation in y direction
- d[2] -> rotation in z direction
Close Codes
1000
Normal closure (including server shutdown)
1003
A malformed frame was received (unparseable JSON)
1011
Internal server error
4000
IDENTIFY payload expected but was not received
4001
Improper or expired token was passed for IDENTIFY
4002
Consumer session limit reached for this developer ID
4003
Multiple IDENTIFY payloads received
4004
Unrecognised opcode, or an opcode not valid for this session type (e.g. SUBMIT on a consumer, REPLAY on a producer)
4005
Heartbeat expected but was not received
Last updated
Was this helpful?