Canal Realtimev2.3
WSwss://ws.canal.dev/v2

Conectar via WebSocket

Abra uma conexão persistente passando sua chave como query string. Após o handshake, o servidor envia connection.ack com o ID do socket e o intervalo de ping. Reconexões devem usar backoff exponencial.

Parâmetros de conexão

ParâmetroTipoObrigatórioDescrição
keystringsimSua chave de API na query string.
client_idstringnãoIdentificador estável do dispositivo para retomar sessão.
compressionbooleannãoAtiva permessage-deflate. Padrão: true.

Exemplo de handshake

# O handshake usa o protocolo WebSocket padrão.
# Teste a conexão com wscat:

wscat -c "wss://ws.canal.dev/v2?key=$CANAL_API_KEY"

# < {"event":"connection.ack","socket_id":"sk_81ab3","ping_interval":25}

Frame connection.ack

{
  "event": "connection.ack",
  "socket_id": "sk_81ab3",
  "ping_interval": 25,
  "region": "gru-1",
  "protocol": 2
}

Fluxo de eventos WebSocket

cliente para servidor servidor para cliente
subscribe{"channel":"suporte-vip"}
subscribe.ack{"channel":"suporte-vip","members":3}
presence.join{"user_id":"usr_bruno"}
message.send{"text":"Oi! Consegue me ajudar?"}
message.new{"id":"msg_04v7d2","user_id":"usr_ana"}
ping{}
pong{}
Made with Vibe