WebSocket API v1 – megbízások leadása és törlése

Utolsó frissítés: 2025. április 1.

A WebSocket API v1 támogatja a kereskedést az addOrder és cancelOrder végpontokon keresztül. Az addOrder végpont új megbízások leadására, a cancelOrder végpont pedig meglévő (nyitott) megbízások törlésére szolgál.

Mind az addOrder, mind a cancelOrder privát végpontok, ami azt jelenti, hogy csak hitelesített WebSocket kapcsolaton keresztül érhetők el.

Kezdeti kapcsolatot kell létesíteni a hitelesített WebSocket URL-lel: wss://ws-auth.kraken.com/ , amely ezután korlátlan ideig nyitva tartható, amíg a megbízásokat leadják és törlik. Egyetlen WebSocket kapcsolat több kérés támogatására készült, így nem szükséges (és nem is ajánlott) minden egyes kereskedési végpont hívásakor csatlakozni/leválasztani.

WebSocket hitelesítés

A WebSocket hitelesítési token lekérhető a REST API GetWebSocketsToken végpontján keresztül.

Miután egy tokent lekértek, kapcsolat létesíthető a privát WebSocket URL-lel: wss://ws-auth.kraken.com/ , és az addOrder és cancelOrder végpontok ezután korlátlan ideig használhatók (a token nem jár le, amíg megbízások leadására és törlésére használják).

Vegye figyelembe, hogy a token lekérésére használt API kulcsnak rendelkeznie kell mind a Modify Orders, mind a Cancel/Close Orders engedélyekkel, különben engedély megtagadva hibaüzenet érkezik a WebSocket API-tól.

Megbízás leadása

Miután hitelesített WebSocket kapcsolat létesült, megbízás adható le a következő üzenet elküldésével:

  • {"event":"addOrder", "token":"nT9n23/7oLdq+bNHNMNJ4VvF1hiHhjTnPOaCMiB1GJ0", "pair":"XBT/USD", "type":"buy", "ordertype":"limit", "price":"9857", "volume":"0.002", "leverage":"5", "userref":"8874657"}

Ezután válasz érkezik, amely jelzi a kérés állapotát (hogy a megbízást elfogadták-e vagy elutasították). Egy sikeresen elfogadott és leadott megbízás esetén a válasz „ok” állapotot jelez, és hasonló lesz a következőhöz:

  • {"descr":"buy 0.00200000 XBTUSD @ limit 9857.0 with 5:1 leverage","event":"addOrderStatus","status":"ok","txid":"OPOUJF-BWKCL-FG5DQL"}

Egy elutasított és nem leadott megbízás esetén a válasz „error” állapotot jelez, hibaüzenettel együtt, amely jelzi az elutasítás okát (érvénytelen argumentumok, elégtelen fedezet stb.), például a következő elutasítás egy olyan megbízás esetén, amely nem felelt meg a minimális megbízásméretnek:

  • {"errorMessage":"EOrder:Order minimum not met","event":"addOrderStatus","status":"error"}

Megbízás törlése

Miután hitelesített WebSocket kapcsolat létesült (vagy lehetőleg egy meglévő kapcsolatot újra felhasználtak), megbízás törölhető a következő üzenet elküldésével:

  • {"event":"cancelOrder", "token":"s74Ajl83it0dNNKcF072NJ5wDmLTGIceaCbV96eWbFg", "txid":["OJZ3DI-IU6QC-ME7TVE"]}

Ezután válasz érkezik, amely jelzi a kérés állapotát (hogy a törlést elfogadták-e vagy elutasították). Egy sikeresen törölt megbízás esetén a válasz „ok” állapotot jelez, és hasonló lesz a következőhöz:

  • {"event":"cancelOrderStatus","status":"ok"}

Egy elutasított törlési kérés esetén a válasz „error” állapotot jelez, hibaüzenettel együtt, amely jelzi az elutasítás okát (érvénytelen megbízásazonosító stb.), például a következő elutasítás egy olyan kérés esetén, amely egy már törölt megbízás törlésére vonatkozott:

  • {"errorMessage":"EOrder:Unknown order","event":"cancelOrderStatus","status":"error"}

Vegye figyelembe, hogy a REST API CancelOrder végponttal ellentétben egyetlen WebSocket törlési üzenetben több megbízásazonosító is megadható. A törlendő megbízásazonosítókat külön bejegyzésként kell feltüntetni a txid tömbben, az alábbiak szerint:

  • {"event":"cancelOrder", "token":"c4JjTNHSurKmWDsnrGaCxIuCOa4FurCZK2ppktvT2Yo", "txid":["OLVCRZ-DNKJI-VRTZKY","O67X6E-PBGSR-GU23R5","OECCDC-T2R4V-52CR7T"]}

További segítségre van szükséged?