WebSocket

Получайте обновления стакана, сделок и цен в реальном времени по одному WebSocket-соединению. Авторизуйтесь, чтобы также получать приватные события по вашим ордерам/сделкам. Адрес: wss://globet.market/ws

Подписка#

После подключения отправьте JSON-сообщение подписки. Для данных рынка передайте id токенов исхода в assets_ids.

ПолеТипОписание
typereq"market" | "user"Тип канала.
assets_idsstring[]Id токенов исхода (канал market).
operation"subscribe" | "unsubscribe"По умолчанию subscribe.
authobject{ apiKey, secret, passphrase } — нужно для канала user.
const ws = new WebSocket("wss://globet.market/ws");

ws.onopen = () => {
  ws.send(JSON.stringify({
    type: "market",
    assets_ids: [tokenId],
    operation: "subscribe",
  }));
};

ws.onmessage = (ev) => {
  const msg = JSON.parse(ev.data);
  console.log(msg.event_type, msg);
};

Типы событий#

После подписки сервер присылает такие типы сообщений:

СобытиеКаналОписание
bookmarketСнимок/дельта стакана по токену.
trademarketНовая сделка по токену.
pricemarketОбновлённая лучшая цена / середина.
useruserСобытия по вашим ордерам/сделкам (нужна авторизация).

Приватный канал (user)#

Подпишитесь с type "user" и вашими ключами в auth, чтобы получать обновления, когда ваши ордера исполняются, отменяются или истекают.

ws.send(JSON.stringify({
  type: "user",
  operation: "subscribe",
  auth: {
    apiKey: process.env.GLOBET_API_KEY,
    secret: process.env.GLOBET_API_SECRET,
    passphrase: process.env.GLOBET_API_PASSPHRASE,
  },
}));

Heartbeat и переподключение

Держите сокет активным и переподключайтесь с задержкой при разрыве. Отправляйте сообщения подписки заново после каждого переподключения — подписки привязаны к соединению.