glupbit/websocket/subscription

WebSocket subscription types, message builders, and response decoders.

Types

Response from a LIST_SUBSCRIPTIONS query.

pub type ListSubscriptionsResponse {
  ListSubscriptionsResponse(
    method: String,
    result: List(SubscriptionInfo),
    ticket: String,
  )
}

Constructors

  • ListSubscriptionsResponse(
      method: String,
      result: List(SubscriptionInfo),
      ticket: String,
    )

Real-time orderbook data from WebSocket.

pub type OrderbookData {
  OrderbookData(
    code: String,
    total_ask_size: Float,
    total_bid_size: Float,
    orderbook_units: List(orderbook.OrderbookUnit),
    timestamp: Int,
  )
}

Constructors

  • OrderbookData(
      code: String,
      total_ask_size: Float,
      total_bid_size: Float,
      orderbook_units: List(orderbook.OrderbookUnit),
      timestamp: Int,
    )

A subscription request.

pub type Subscription {
  TickerSub(
    codes: List(types.Market),
    is_only_snapshot: Bool,
    is_only_realtime: Bool,
  )
  TradeSub(
    codes: List(types.Market),
    is_only_snapshot: Bool,
    is_only_realtime: Bool,
  )
  OrderbookSub(
    codes: List(types.Market),
    level: option.Option(String),
    is_only_snapshot: Bool,
    is_only_realtime: Bool,
  )
  CandleSub(
    codes: List(types.Market),
    unit: String,
    is_only_snapshot: Bool,
    is_only_realtime: Bool,
  )
  MyOrderSub(codes: option.Option(List(types.Market)))
  MyAssetSub
}

Constructors

  • TickerSub(
      codes: List(types.Market),
      is_only_snapshot: Bool,
      is_only_realtime: Bool,
    )
  • TradeSub(
      codes: List(types.Market),
      is_only_snapshot: Bool,
      is_only_realtime: Bool,
    )
  • OrderbookSub(
      codes: List(types.Market),
      level: option.Option(String),
      is_only_snapshot: Bool,
      is_only_realtime: Bool,
    )
  • CandleSub(
      codes: List(types.Market),
      unit: String,
      is_only_snapshot: Bool,
      is_only_realtime: Bool,
    )
  • MyOrderSub(codes: option.Option(List(types.Market)))
  • MyAssetSub

Information about a single active subscription.

pub type SubscriptionInfo {
  SubscriptionInfo(
    type_name: String,
    codes: option.Option(List(String)),
    level: option.Option(Float),
  )
}

Constructors

Real-time ticker data from WebSocket.

pub type TickerData {
  TickerData(
    code: String,
    trade_price: Float,
    change: String,
    signed_change_rate: Float,
    acc_trade_volume_24h: Float,
    timestamp: Int,
  )
}

Constructors

  • TickerData(
      code: String,
      trade_price: Float,
      change: String,
      signed_change_rate: Float,
      acc_trade_volume_24h: Float,
      timestamp: Int,
    )

Real-time trade data from WebSocket.

pub type TradeData {
  TradeData(
    code: String,
    trade_price: Float,
    trade_volume: Float,
    ask_bid: String,
    trade_timestamp: Int,
    sequential_id: Int,
  )
}

Constructors

  • TradeData(
      code: String,
      trade_price: Float,
      trade_volume: Float,
      ask_bid: String,
      trade_timestamp: Int,
      sequential_id: Int,
    )

WebSocket response format.

pub type WsFormat {
  Default
  Simple
  JsonList
  SimpleList
}

Constructors

  • Default
  • Simple
  • JsonList
  • SimpleList

Values

pub fn build_list_subscriptions_message(ticket: String) -> String

Build a LIST_SUBSCRIPTIONS request message as a JSON string.

pub fn build_subscription_message(
  ticket: String,
  subscriptions: List(Subscription),
  format: WsFormat,
) -> String

Build a WebSocket subscription message as a JSON string. Returns a JSON array: [{“ticket”:“…”}, {“type”:“ticker”,“codes”:[…]}, …, {“format”:“DEFAULT”}]

pub fn list_subscriptions_response_decoder() -> decode.Decoder(
  ListSubscriptionsResponse,
)

Decoder for the LIST_SUBSCRIPTIONS response message.

pub fn orderbook_data_decoder() -> decode.Decoder(OrderbookData)

Decoder for WebSocket orderbook data.

pub fn subscription_info_decoder() -> decode.Decoder(
  SubscriptionInfo,
)

Decoder for a single subscription info item.

pub fn ticker_data_decoder() -> decode.Decoder(TickerData)

Decoder for WebSocket ticker data.

pub fn trade_data_decoder() -> decode.Decoder(TradeData)

Decoder for WebSocket trade data.

Search Document