xtb-api-unofficial - v0.1.0
    Preparing search index...

    Interface WSPushMessage

    Push message structure for real-time data updates.

    Push messages have status: 1 and contain event arrays with real-time updates for subscribed data types (ticks, positions, symbols, etc.).

    // Handle incoming push messages
    ws.on('message', (msg) => {
    if ('status' in msg && msg.status === 1) {
    const pushMsg = msg as WSPushMessage;
    for (const event of pushMsg.events) {
    if (event.eid === SubscriptionEid.TICKS && event.row.value.xcfdtick) {
    const tick = event.row.value.xcfdtick;
    console.log(`${tick.symbol}: ${tick.bid}/${tick.ask}`);
    }
    }
    }
    });
    interface WSPushMessage {
        data?: unknown;
        error?: { code: string; message: string };
        events: {
            eid: number;
            row: {
                key: string;
                value: {
                    xcfdsymbol?: {
                        description: string;
                        groupId: number;
                        idAssetClass: number;
                        name: string;
                        precision: number;
                        quoteId: number;
                    };
                    xcfdtick?: {
                        ask: number;
                        askVolume?: number;
                        bid: number;
                        bidVolume?: number;
                        high?: number;
                        low?: number;
                        symbol: string;
                        time?: number;
                    };
                    xcfdtrade?: {
                        openPrice: number;
                        orderId: string;
                        side: number;
                        symbol: string;
                        volume: number;
                    };
                    [key: string]: unknown;
                };
            };
        }[];
        reqId: string;
        response?: unknown[];
        status: 1;
    }

    Hierarchy (View Summary)

    Index

    Properties

    data?: unknown

    Alternative response data format

    error?: { code: string; message: string }

    Error information (if failed)

    events: {
        eid: number;
        row: {
            key: string;
            value: {
                xcfdsymbol?: {
                    description: string;
                    groupId: number;
                    idAssetClass: number;
                    name: string;
                    precision: number;
                    quoteId: number;
                };
                xcfdtick?: {
                    ask: number;
                    askVolume?: number;
                    bid: number;
                    bidVolume?: number;
                    high?: number;
                    low?: number;
                    symbol: string;
                    time?: number;
                };
                xcfdtrade?: {
                    openPrice: number;
                    orderId: string;
                    side: number;
                    symbol: string;
                    volume: number;
                };
                [key: string]: unknown;
            };
        };
    }[]

    Array of real-time events

    Type Declaration

    • eid: number

      Element ID indicating data type

    • row: {
          key: string;
          value: {
              xcfdsymbol?: {
                  description: string;
                  groupId: number;
                  idAssetClass: number;
                  name: string;
                  precision: number;
                  quoteId: number;
              };
              xcfdtick?: {
                  ask: number;
                  askVolume?: number;
                  bid: number;
                  bidVolume?: number;
                  high?: number;
                  low?: number;
                  symbol: string;
                  time?: number;
              };
              xcfdtrade?: {
                  openPrice: number;
                  orderId: string;
                  side: number;
                  symbol: string;
                  volume: number;
              };
              [key: string]: unknown;
          };
      }

      Event data

      • key: string

        Data key (often symbol key)

      • value: {
            xcfdsymbol?: {
                description: string;
                groupId: number;
                idAssetClass: number;
                name: string;
                precision: number;
                quoteId: number;
            };
            xcfdtick?: {
                ask: number;
                askVolume?: number;
                bid: number;
                bidVolume?: number;
                high?: number;
                low?: number;
                symbol: string;
                time?: number;
            };
            xcfdtrade?: {
                openPrice: number;
                orderId: string;
                side: number;
                symbol: string;
                volume: number;
            };
            [key: string]: unknown;
        }

        Event payload

        • Optionalxcfdsymbol?: {
              description: string;
              groupId: number;
              idAssetClass: number;
              name: string;
              precision: number;
              quoteId: number;
          }

          Symbol/instrument data for EID 3 (SYMBOLS)

          • description: string

            Description

          • groupId: number

            Group ID

          • idAssetClass: number

            Asset class ID

          • name: string

            Symbol name

          • precision: number

            Price precision

          • quoteId: number

            Quote ID

        • Optionalxcfdtick?: {
              ask: number;
              askVolume?: number;
              bid: number;
              bidVolume?: number;
              high?: number;
              low?: number;
              symbol: string;
              time?: number;
          }

          Tick/quote data for EID 2 (TICKS)

          • ask: number

            Ask price

          • OptionalaskVolume?: number

            Ask volume

          • bid: number

            Bid price

          • OptionalbidVolume?: number

            Bid volume

          • Optionalhigh?: number

            Daily high

          • Optionallow?: number

            Daily low

          • symbol: string

            Symbol name

          • Optionaltime?: number

            Timestamp

        • Optionalxcfdtrade?: {
              openPrice: number;
              orderId: string;
              side: number;
              symbol: string;
              volume: number;
          }

          Position/trade data for EID 1 (POSITIONS)

          • openPrice: number

            Open price

          • orderId: string

            Order/position ID

          • side: number

            Trade side (0=buy, 1=sell)

          • symbol: string

            Symbol name

          • volume: number

            Position volume

    reqId: string

    Request ID matching the original request

    response?: unknown[]

    Response data array (if successful)

    status: 1

    Status 1 indicates this is a push message