Reference
Describes APIs for direct interaction with Fishjam.
Fishjam publishes documentation for the Sandbox API and Fishjam Server APIs.
Sandbox API
See also: What is the Sandbox API?
Server
Fishjam Server provides a REST API for managing rooms and peers, and Protobufs for receiving structured live updates from the server. The notifications can be configured using Webhook or Websocket.
REST API
Protobufs
Webhook
When using webhooks for receiving notifications, the webhookUrl must be passed
in the RoomConfig options when creating a room.
The HTTP POST to the webhookUrl uses "application/x-protobuf" content type.
The body is binary data, that represents encoded ServerMessage.
Setting batchWebhookNotifications to true in the RoomConfig is recommended. Fishjam then coalesces several notifications into one POST: the body is still a single ServerMessage, but its notification_batch field holds a NotificationBatch, which carries the individual notifications as a repeated list of ServerMessages (see server_notifications.proto). This delivers notifications faster and with fewer requests. The SDK decoders (decodeServerNotifications / decode_server_notifications) unwrap the batch for you, returning the notifications as a flat list — so a single notification and a batch are handled the same way.
For more information see also server setup documentation
Websocket
After opening the Websocket connection to
https://fishjam.io/api/v1/connect/{fishjamId}/socket/server/websocket,
the first message that must be sent is an AuthRequest,
with a valid Management Token.
Next, you can should subscribe to notifications by sending SubscribeRequest event with SERVER_NOTIFICATION event type.