Canal Privado de Usuário

Ver como Markdown

Crie um listenKey primeiro:

1POST /v1/private/user/listen-key

Exemplo de resposta:

1{
2 "code": 0,
3 "message": "success",
4 "data": {
5 "listenKey": "f57cb61ef604ce76be09e753a5dbdd8c",
6 "expireAt": 1777539918867
7 },
8 "requestId": "req-listen-key"
9}

listenKey é válido por 60 minutos por padrão. Recomenda-se renovar a cada 30 minutos.

Renovar

1PUT /v1/private/user/listen-key
2Content-Type: application/json
1{ "listenKey": "f57cb61ef604ce76be09e753a5dbdd8c" }

Fechar

1DELETE /v1/private/user/listen-key
2Content-Type: application/json
1{ "listenKey": "f57cb61ef604ce76be09e753a5dbdd8c" }

Conecte-se ao WebSocket privado

wss://ws.6mm.com/ws?listenKey=YOUR_LISTEN_KEY

Método de conexão JWT compatível:

wss://ws.6mm.com/ws?token=YOUR_ACCESS_TOKEN

Após o sucesso da autenticação, o servidor automaticamente assina a conexão no canal privado do usuário atual. Não é necessária assinatura manual.

Confirmação de autenticação bem-sucedida:

1{ "event": "auth", "success": true, "data": "1188041528" }

Eventos privados comuns

EventoDescrição
ORDER_TRADE_UPDATEMudanças no status do pedido, incluindo nova ordem, emenda, troca e cancelamento
ACCOUNT_UPDATEAlterações no saldo da conta e na posição

Envolvente de mensagem push privada:

1{
2 "topic": "user.5794",
3 "ts": 1771047000000,
4 "data": {
5 "eventType": "ORDER_TRADE_UPDATE"
6 }
7}

REST endpoints de consulta e WebSocket fluxos privados usam esquemas separados. Os clientes devem analisar cada esquema independentemente e não devem assumir que os nomes dos campos são idênticos.

Diferenças comuns

DomínioREST campoWebSocket campo
Status da ordemstatusorderStatus
Saldo congeladofrozenMarginfrozenBalance
Modo margemmarginModemarginMode, retornado como uma sequência nas posições e fluxos

Recuperação e reconciliação

  • Renovar o listenKey antes do vencimento e criar um novo caso a renovação não funcione.

  • Reconectar, reautenticar e tratar o novo socket como uma nova sessão de eventos.

  • Deduplicar eventos antes de alterar saldos de parceiros ou registros de pedidos.

  • Se eventos puderam ter sido perdidos, consulte ordens, posições e estado da conta até REST.

  • Siga o [guia de conexão e batimento] (/developer-api/websocket/connection-subscription-and-heartbeat) para retentar e lidar com conexão obsoleta.
  • Conexão, Assinatura e Batimentos cardíacos