对接BSE交易所获取数据。
📊 核心对接参数
开始之前,您需要了解几个关键参数,它们是调用所有API的基础:
- 国家ID (
countryId) :印度市场固定为14。 - 交易所ID (
exchangeId) :BSE交易所的ID为74(NSE为46)。 - 基础URL :API请求的基地址为
https://api.stocktv.top。 - API密钥 :所有请求都需在URL参数中携带有效的
key,您需要联系StockTV官方获取。
🔌 核心数据接口
下表概述了获取BSE数据的主要接口:
| 功能 | 接口地址 | 关键参数说明 |
|---|---|---|
| 获取BSE股票列表 | /stock/stocks |
countryId=14, exchangeId=74, pageSize, page |
| 查询单个股票 | /stock/queryStocks |
使用 id(股票PID)或 symbol(股票代码)进行查询 |
| 获取K线数据 | /stock/kline |
pid(股票ID), interval(时间间隔,如P1D代表日线) |
| 获取指数行情 | /stock/indices |
countryId=14,可获取BSE Sensex等指数 |
| WebSocket实时推送 | wss://ws-api.stocktv.top/connect |
连接后订阅指定股票代码,接收实时行情推送 |
💻 代码实战示例
以下是一个简单的Python示例,演示如何获取BSE的股票列表:
python
import requests
# 配置信息
BASE_URL = "https://api.stocktv.top/stock"
API_KEY = "YOUR_API_KEY_HERE" # 请替换为您的实际API密钥
def fetch_bse_stocks(page_size=20):
"""
获取BSE交易所股票列表
"""
url = f"{BASE_URL}/stocks"
params = {
"countryId": 14, # 印度
"exchangeId": 74, # BSE
"pageSize": page_size,
"page": 1,
"key": API_KEY
}
try:
response = requests.get(url, params=params, timeout=10)
data = response.json()
if data.get('code') == 200:
stocks = data['data']['records']
print(f"成功获取 {len(stocks)} 只BSE股票:")
for stock in stocks[:5]: # 打印前5只作为示例
print(f"股票名称: {stock['name']}, 代码: {stock['symbol']}, 最新价: {stock.get('last', 'N/A')}")
return stocks
else:
print("请求失败:", data.get('message'))
except Exception as e:
print("请求出现异常:", e)
# 调用函数
fetch_bse_stocks()
💡 进阶功能与最佳实践
除了基础行情,StockTV API还提供了一些实用功能和建议:
- 特色数据 :接口还支持获取IPO新股日历 、涨跌排行榜以及公司的基本面和新闻数据,这些对于全面分析市场非常有用。
- 选择实时推送 :如果您对数据的实时性要求很高(例如构建交易系统),强烈建议使用WebSocket接口,它可以实现毫秒级的延迟,远优于频繁的HTTP请求。
- 实施缓存与错误处理:为了提升应用的稳定性和效率,建议对不常变动的数据(如公司信息)实施缓存策略,并对所有API调用进行适当的错误处理和重试机制。