WS
wss://ws.canal.dev/v2Conectar 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âmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| key | string | sim | Sua chave de API na query string. |
| client_id | string | não | Identificador estável do dispositivo para retomar sessão. |
| compression | boolean | não | Ativa 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{}