Prywatny kanał użytkownika

Zobacz jako Markdown

Najpierw stwórz listenKey :

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

Przykład odpowiedzi:

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

listenKey domyślnie obowiązuje przez 60 minut. Zaleca się odnawianie co 30 minut.

Odnawianie

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

Zamknij

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

Połącz się z prywatnymi WebSocket

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

Kompatybilna metoda JWT połączenia:

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

Po udanej weryfikacji serwer automatycznie subskrybuje połączenie z prywatnym kanałem obecnego użytkownika. Nie jest wymagana ręczna subskrypcja.

Pomyślne potwierdzenie uwierzytelnienia:

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

Typowe prywatne wydarzenia

WydarzenieOpis
ORDER_TRADE_UPDATEZmiany statusu zlecenia, w tym nowe zlecenia, poprawki, transakcje i anulowanie
ACCOUNT_UPDATESaldo konta i zmiany pozycji

Prywatny opakujący wiadomość push:

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

REST endpointy zapytań oraz WebSocket prywatne strumienie używają oddzielnych schematów. Klienci powinni analizować każdy schemat niezależnie i nie zakładać, że nazwy pól są identyczne.

Typowe różnice

DomenaREST dziedzinaWebSocket dziedzina
Status zamówieniastatusorderStatus
Zamrożona równowagafrozenMarginfrozenBalance
Tryb marginesowymarginModemarginMode, zwracał się jako ciąg w pozycjach i strumieniach

Odbudowa i pojednanie

  • Odnawianie listenKey przed wygaśnięciem i tworzenie nowego, jeśli odnowienie się nie powiedzie.
  • Ponowne połączenie, ponowne uwierzytelnienie i traktowanie nowego gniazda jako nowej sesji zdarzeń.
  • Deduplikować zdarzenia przed zmianą sald partnera lub zapisów zleceń.
  • Jeśli zdarzenia mogły zostać przeoczone, zapytaj orders, positions, oraz account state przez REST.
  • Stosuj się do przewodnika po połączeniach i biciu serca do ponownego próbowania i obsługi połączenia z opóźnieniami.