Canal utilisateur privé

Afficher en Markdown

Créez d’abord un listenKey :

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

Exemple de réponse :

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

listenKey est valable 60 minutes par défaut. Il est recommandé de renouveler toutes les 30 minutes.

Renouveler

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

Fermer

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

Connectez-vous à un WebSocket privé

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

Méthode de connexion JWT compatible :

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

Après réussite de l’authentification, le serveur s’abonne automatiquement à la connexion au canal privé de l’utilisateur actuel. Aucun abonnement manuel n’est requis.

Accusé de réception d’authentification réussi :

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

Événements privés courants

ÉvénementDescription
ORDER_TRADE_UPDATEModifications du statut des ordres, y compris un nouvel ordre, un amendement, un échange et une annulation
ACCOUNT_UPDATEChangements de solde et de position du compte

Enveloppe de message privé :

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

REST requêtes les terminaux et WebSocket flux privés utilisent des schémas séparés. Les clients doivent analyser chaque schéma indépendamment et ne doivent pas supposer que les noms des champs sont identiques.

Différences courantes

DomaineREST champWebSocket champ
Statut de l’ordrestatusorderStatus
Solde figéfrozenMarginfrozenBalance
Mode margemarginModemarginMode, retourné comme une chaîne dans les positions et les flux

Rétablissement et réconciliation

  • Renouveler le listenKey avant l’expiration et en créer un nouveau si le renouvellement échoue.
  • Reconnecter, réauthentifier et traiter le nouveau socket comme une nouvelle session d’événement.
  • Dédupliquer les événements avant de modifier les soldes des partenaires ou les registres d’ordre.
  • Si des événements ont été manqués, interroger ordres, positions, et état du compte jusqu’à REST.
  • Suivez le guide de connexion et battement de cœur pour la gestion des réessais et de la connexion obsolète.