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:马来西亚的
countryId
为42
(根据示例响应确认)。 - 时间间隔:
PT5M
(5 分钟)、PT15M
(15 分钟)、PT1H
(1 小时)等。
- 股票 PID:通过
【股票】市场列表
接口获取股票的id
字段。
5. 注意事项
- 替换 API Key:所有请求需替换
联系我们获取key
为实际 Key。 - 错误处理:添加
try/catch
或.catch()
处理异常。 - 分页查询:若数据量大,使用
page
和pageSize
分页。 - WebSocket 心跳:需定期发送心跳(如
ping
)保持连接。
6. 完整文档参考
- 接口详情见 Postman Collection。
- 若需完整代码或调试支持,可联系 StockTV 的技术支持团队。