Приватні потоки WebSocket API v1 — openOrders

Останнє оновлення: 1 квіт. 2025 р.

Потік openOrders у WebSocket API v1 — це приватний потік керування обліковим записом, який надає статус усіх відкритих ордерів, пов’язаних із вашим обліковим записом Kraken, у режимі реального часу.

Будь-які зміни статусу ордера, як-от розміщення нового ордера, часткове або повне виконання ордера або скасування ордера, призведуть до надсилання повідомлення про оновлення через потік openOrders.

Як підписатися

Після встановлення з’єднання з WebSocket API v1 на потік openOrders можна підписатися, отримавши токен автентифікації через ендпоінт REST API GetWebSocketsToken, а потім надіславши повідомлення про підписку, подібне до наступного:

  • {"event":"subscribe", "subscription":{"name":"openOrders", "token":"WOg6IVQ5RfogMzkhH25WOg6IVQ5RqhP+U3ZprQVnh7f"}}

Приклад потоку

Нижче наведено приклад потоку openOrders, що ілюструє типи повідомлень, які надходять у разі різних змін статусу ордера:

{"connectionID":14950811667203285981,"event":"systemStatus","status":"online","version":"0.3.0"}{"channelName":"openOrders","event":"subscriptionStatus","status":"subscribed","subscription":{"name":"openOrders"}}[[], "openOrders"]{"event":"heartbeat"}{"event":"heartbeat"}[[{"OH6WIE-OYECX-FIIN3H":{"avg_price":"0.00000","cost":"0.00000","descr":{"close":"","leverage":"5:1","order":"buy 0.00200000 ETH/USD @ limit 100.00000 with 5:1 leverage","ordertype":"limit","pair":"ETH/USD","price":"100.00000","price2":"0.00000","type":"buy"},"expiretm":"1570445592","fee":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq","opentm":"1570445562.883878","refid":null,"starttm":null,"status":"pending","stopprice":"0.00000","userref":0,"vol":"0.00200000","vol_exec":"0.00000000"}}],"openOrders"][[{"OH6WIE-OYECX-FIIN3H":{"status":"open"}}],"openOrders"]{"event":"heartbeat"}{"event":"heartbeat"}[[{"OH6WIE-OYECX-FIIN3H":{"status":"canceled"}}],"openOrders"]{"event":"heartbeat"}{"event":"heartbeat"}

Після підписки на потік openOrders надходить повідомлення про статус підписки:

  • {"channelName":"openOrders","event":"subscriptionStatus","status":"subscribed","subscription":{"name":"openOrders"}}

після чого надходить порожній знімок (snapshot), який вказує на те, що в обліковому записі наразі немає відкритих ордерів:

  • [[], "openOrders"]

Коли розміщується новий ордер, надходить початкове повідомлення з деталями ордера, а відразу за ним — повідомлення про зміну статусу з pending на open:

  • [[{"OH6WIE-OYECX-FIIN3H":{"avg_price":"0.00000","cost":"0.00000","descr":{"close":"","leverage":"5:1","order":"buy 0.00200000 ETH/USD @ limit 100.00000 with 5:1 leverage","ordertype":"limit","pair":"ETH/USD","price":"100.00000","price2":"0.00000","type":"buy"},"expiretm":"1570445592","fee":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq","opentm":"1570445562.883878","refid":null,"starttm":null,"status":"pending","stopprice":"0.00000","userref":0,"vol":"0.00200000","vol_exec":"0.00000000"}}],"openOrders"]

  • [[{"OH6WIE-OYECX-FIIN3H":{"status":"open"}}],"openOrders"]

Через кілька секунд ордер скасовується (до того, як він був виконаний), що призводить до повідомлення про скасування ордера зі зміною статусу з open на canceled:

  • [[{"OH6WIE-OYECX-FIIN3H":{"status":"canceled"}}],"openOrders"]

Розділювачі десяткових дробів і тисяч, наведені в цій статті, можуть відрізнятися від форматів, що відображаються на наших торгових платформах. Докладнішу інформацію див. у нашій статті про те, як ми використовуємо крапки та коми.

Потрібна додаткова допомога?