Node.js 中对接 StockTV 的马来西亚股票平台 API

在 Node.js 中对接 StockTV 的马来西亚股票平台 API,可以按照以下步骤实现:


1. 准备工作

  • 获取 API Key:通过 Telegram 联系 获取 key 参数。
  • 安装依赖
    npm install axios ws
    

2. HTTP API 调用示例

示例 1:获取马来西亚股票市场列表

const axios = require('axios');

const API_KEY = 'YOUR_API_KEY'; // 替换为实际 API Key
const COUNTRY_ID = 42; // 马来西亚的国家 ID

async function getMalaysiaStocks() {
  try {
    const response = await axios.get('https://api.stocktv.top/stock/stocks', {
      params: {
        countryId: COUNTRY_ID,
        pageSize: 10,
        page: 1,
        key: API_KEY
      }
    });
    console.log('马来西亚股票列表:', response.data.data.records);
  } catch (error) {
    console.error('请求失败:', error.response?.data || error.message);
  }
}

getMalaysiaStocks();

示例 2:获取股票 K 线数据

async function getStockKline(pid = 7310) {
  try {
    const response = await axios.get('https://api.stocktv.top/stock/kline', {
      params: {
        pid: pid,
        interval: 'PT15M', // 15 分钟间隔
        key: API_KEY
      }
    });
    console.log('K 线数据:', response.data.data);
  } catch (error) {
    console.error('请求失败:', error.response?.data || error.message);
  }
}

getStockKline();

3. WebSocket 实时数据对接

const WebSocket = require('ws');

const WS_URL = `wss://ws-api.stocktv.top/connect?key=${API_KEY}`;

const ws = new WebSocket(WS_URL);

// 连接成功
ws.on('open', () => {
  console.log('WebSocket 连接成功');
  // 发送心跳(示例每 30 秒一次)
  setInterval(() => {
    ws.ping();
  }, 30000);
});

// 接收消息
ws.on('message', (data) => {
  const message = JSON.parse(data);
  console.log('实时数据:', message);
});

// 错误处理
ws.on('error', (err) => {
  console.error('WebSocket 错误:', err);
});

// 断开连接
ws.on('close', () => {
  console.log('WebSocket 连接关闭');
});

4. 关键参数说明

  • 国家 ID:马来西亚的 countryId42(根据示例响应确认)。
  • 时间间隔
    • PT5M(5 分钟)、PT15M(15 分钟)、PT1H(1 小时)等。
  • 股票 PID:通过 【股票】市场列表 接口获取股票的 id 字段。

5. 注意事项

  1. 替换 API Key:所有请求需替换 联系我们获取key 为实际 Key。
  2. 错误处理:添加 try/catch.catch() 处理异常。
  3. 分页查询:若数据量大,使用 pagepageSize 分页。
  4. WebSocket 心跳:需定期发送心跳(如 ping)保持连接。

6. 完整文档参考

  • 接口详情见 Postman Collection
  • 若需完整代码或调试支持,可联系 StockTV 的技术支持团队。
posted @ 2025-03-17 21:48  CryptoPP  阅读(18)  评论(0)    收藏  举报