当前位置: 首页 > news >正文

印度尼西亚股票实时数据API对接文档

概述

本文档详细说明如何对接StockTV全球股票API中的印度尼西亚股票数据。印尼股票市场是东南亚重要的金融市场之一,以雅加达综合指数为代表。

认证方式

所有API请求都需要在URL参数中包含API Key:

key=您的API密钥

基础信息

  • 印度尼西亚国家ID: countryId=48
  • 主要交易所ID:
    • 印尼证券交易所(IDX): exchangeId=61
    • 雅加达证券交易所: exchangeId=61 (同IDX)

API端点

1. 印尼股票市场列表

获取印尼股票市场列表,支持分页查询。

请求示例:

GET https://api.stocktv.top/stock/stocks?countryId=48&pageSize=50&page=1&key=您的API密钥

参数说明:

  • countryId: 必须为48(印度尼西亚)
  • pageSize: 每页返回数量(默认10,最大100)
  • page: 页码(默认1)
  • exchangeId: 可选,交易所ID

响应示例:

{"code": 200,"message": "操作成功","data": {"records": [{"id": 89234,"name": "Bank Central Asia","symbol": "BBCA","last": 9850,"chg": 150,"chgPct": 1.55,"high": 9900,"low": 9800,"volume": 45678200,"avgVolume": 35214800,"exchangeId": 61,"countryId": 48,"flag": "ID","open": true,"lastClose": 9700,"time": 1716458537,"url": "/equities/bank-central-asia","fundamentalMarketCap": 985000000000000,"fundamentalRevenue": "125.4T","performanceDay": 1.55,"performanceWeek": 3.21,"performanceMonth": 8.45,"performanceYear": 22.36,"technicalDay": "buy","technicalWeek": "strong_buy"}],"total": 800,"size": 50,"current": 1,"pages": 16}
}

2. 查询特定印尼股票

通过股票ID、名称或代码查询印尼股票信息。

请求示例:

GET https://api.stocktv.top/stock/queryStocks?countryId=48&symbol=BBCA&key=您的API密钥

参数说明:

  • id: 股票PID(可选)
  • name: 股票名称(可选)
  • symbol: 股票代码(可选)
  • url: 股票详情页URL(可选)

3. 印尼指数数据

获取印尼主要股票指数信息。

请求示例:

GET https://api.stocktv.top/stock/indices?countryId=48&key=您的API密钥

响应包含:

  • 雅加达综合指数(JCI/IDX Composite)
  • LQ45指数
  • Jakarta Islamic Index等

4. 印尼股票K线数据

获取印尼股票的K线图表数据。

请求示例:

GET https://api.stocktv.top/stock/kline?pid=89234&interval=PT1H&key=您的API密钥

时间间隔参数:

  • PT5M: 5分钟
  • PT15M: 15分钟
  • PT1H: 1小时
  • PT5H: 5小时
  • P1D: 1天
  • P1W: 1周
  • P1M: 1月

5. 印尼股票涨跌排行榜

获取印尼股票的涨跌幅排行榜。

请求示例:

GET https://api.stocktv.top/stock/updownList?countryId=48&type=1&key=您的API密钥

类型参数:

  • 1: 涨幅榜
  • 2: 跌幅榜
  • 3: 涨停榜
  • 4: 跌停榜

6. 印尼上市公司信息

获取印尼上市公司的详细信息。

请求示例:

GET https://api.stocktv.top/stock/companies?countryId=48&pageSize=10&page=1&key=您的API密钥

7. WebSocket实时数据

通过WebSocket获取印尼股票的实时价格数据。

连接示例:

const ws = new WebSocket("wss://ws-api.stocktv.top/connect?key=您的API密钥");

数据说明

交易时间

  • 印尼股市交易时间(西部印尼时间WIB):
    • 早盘: 9:00-12:00
    • 午盘: 13:30-16:00
  • API中的open字段表示当前是否处于交易时间

价格货币

  • 所有印尼股票价格均以印尼盾(IDR)为单位

特殊处理

  • 印尼股票代码通常为4位字母
  • 印尼市场有独特的行业分类体系

印尼主要指数

指数代码 指数名称 说明
JCI 雅加达综合指数 印尼主要股票指数,包含所有上市公司
LQ45 LQ45指数 45只最具流动性的股票
JII 雅加达伊斯兰指数 符合伊斯兰教法的股票指数

印尼知名上市公司

公司名称 股票代码 行业 中文名称
Bank Central Asia BBCA 银行 中亚银行
Bank Rakyat Indonesia BBRI 银行 印尼人民银行
Telkom Indonesia TLKM 电信 印尼电信
Astra International ASII 汽车 阿斯特拉国际
Unilever Indonesia UNVR 消费品 联合利华印尼

示例代码

Python示例

import requestsdef get_indonesia_stocks(symbol=None):"""获取印尼股票数据"""url = "https://api.stocktv.top/stock/stocks"params = {"countryId": 48,  # 修正为48"pageSize": 50,"page": 1,"key": "您的API密钥"}if symbol:params["symbol"] = symbolresponse = requests.get(url, params=params)return response.json()# 获取中亚银行股票数据
bbca_data = get_indonesia_stocks("BBCA")
print(bbca_data)# 获取印尼指数数据
def get_indonesia_indices():url = "https://api.stocktv.top/stock/indices"params = {"countryId": 48,  # 修正为48"key": "您的API密钥"}response = requests.get(url, params=params)return response.json()indices_data = get_indonesia_indices()
print(indices_data)# 批量获取印尼蓝筹股
def get_indonesia_blue_chips():blue_chips = ["BBCA", "BBRI", "TLKM", "ASII", "UNVR"]results = {}for symbol in blue_chips:data = get_indonesia_stocks(symbol)if data["code"] == 200 and data["data"]["records"]:results[symbol] = data["data"]["records"][0]return resultsblue_chips_data = get_indonesia_blue_chips()
print(blue_chips_data)

JavaScript示例

async function fetchIndonesiaStocks(symbol = null) {let url = `https://api.stocktv.top/stock/stocks?countryId=48&pageSize=50&page=1&key=您的API密钥`;  // 修正为48if (symbol) {url += `&symbol=${symbol}`;}try {const response = await fetch(url);const data = await response.json();return data;} catch (error) {console.error('获取数据失败:', error);return null;}
}// 使用示例
fetchIndonesiaStocks('BBCA').then(data => {if (data && data.code === 200) {console.log('中亚银行数据:', data);}
});// 获取印尼指数
async function fetchIndonesiaIndices() {try {const response = await fetch(`https://api.stocktv.top/stock/indices?countryId=48&key=您的API密钥`  // 修正为48);const data = await response.json();return data;} catch (error) {console.error('获取指数数据失败:', error);return null;}
}// 实时监控函数
async function monitorIndonesiaMarket() {const indices = await fetchIndonesiaIndices();const jci = indices.data.find(index => index.symbol === 'JCI' || index.name.includes('Composite'));if (jci) {console.log(`雅加达综合指数: ${jci.last} (${jci.chg > 0 ? '+' : ''}${jci.chgPct}%)`);}// 监控主要股票const stocks = await fetchIndonesiaStocks();if (stocks) {stocks.data.records.slice(0, 5).forEach(stock => {console.log(`${stock.symbol} - ${stock.name}: ${stock.last}`);});}
}// 每5分钟执行一次监控
setInterval(monitorIndonesiaMarket, 300000);

实时监控示例

import time
import requests
from datetime import datetimeclass IndonesiaMarketMonitor:def __init__(self, api_key):self.api_key = api_keyself.previous_prices = {}def get_stock_data(self, symbol):"""获取单只股票数据"""url = "https://api.stocktv.top/stock/queryStocks"params = {"countryId": 48,  # 修正为48"symbol": symbol,"key": self.api_key}try:response = requests.get(url, params=params, timeout=10)return response.json()except Exception as e:print(f"获取{symbol}数据失败: {e}")return Nonedef monitor_stocks(self, symbols, interval=60):"""监控多只股票"""while True:try:current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")print(f"\n=== 印尼股市监控 {current_time} ===")for symbol in symbols:data = self.get_stock_data(symbol)if data and data["code"] == 200 and data["data"]:stock = data["data"][0]current_price = stock["last"]if symbol in self.previous_prices:prev_price = self.previous_prices[symbol]change = current_price - prev_pricechange_pct = (change / prev_price) * 100trend = "↑" if change > 0 else "↓" if change < 0 else "→"print(f"{symbol} {trend} {current_price:,.0f} ({change:+.0f}, {change_pct:+.2f}%)")else:print(f"{symbol} → {current_price:,.0f} (首次获取)")self.previous_prices[symbol] = current_pricetime.sleep(interval)except KeyboardInterrupt:print("\n监控已停止")breakexcept Exception as e:print(f"监控出错: {e}")time.sleep(30)# 使用示例
if __name__ == "__main__":monitor = IndonesiaMarketMonitor("您的API密钥")# 监控印尼主要股票symbols = ["BBCA", "BBRI", "TLKM", "ASII", "UNVR"]monitor.monitor_stocks(symbols, interval=300)  # 每5分钟更新

WebSocket实时数据

通过WebSocket获取印尼股票的实时价格数据。

连接示例:

const ws = new WebSocket("wss://ws-api.stocktv.top/connect?key=您的API密钥");// 连接建立时
ws.onopen = function() {console.log("已连接到印尼股市实时数据");
};// 接收消息时
ws.onmessage = function(event) {const data = JSON.parse(event.data);// 印尼股票通常以.JK后缀标识if (data.symbol && data.symbol.includes('.JK')) {const symbol = data.symbol.replace('.JK', '');console.log(`印尼股票 ${symbol} 实时价格: ${data.last_numeric}`);// 更新界面显示updateStockDisplay(symbol, data.last_numeric, data.chg, data.chgPct);}
};// 错误处理
ws.onerror = function(error) {console.error("WebSocket错误:", error);
};// 连接关闭时
ws.onclose = function() {console.log("连接已关闭,尝试重连...");setTimeout(connectWebSocket, 5000);
};// 更新界面显示的函数
function updateStockDisplay(symbol, price, change, changePercent) {const element = document.getElementById(`stock-${symbol}`);if (element) {const trend = change > 0 ? '↑' : change < 0 ? '↓' : '→';element.innerHTML = `${symbol}: ${price} <span class="${change > 0 ? 'positive' : change < 0 ? 'negative' : 'neutral'}">${trend} ${change} (${changePercent}%)</span>`;}
}

错误处理

错误代码 说明 处理建议
400 参数错误 检查countryId参数是否正确设置为48
401 认证失败 检查API Key是否有效
404 资源不存在 检查股票代码或ID是否正确
500 服务器错误 稍后重试或联系技术支持
503 服务不可用 印尼市场可能处于非交易时间

印尼股市特点

  1. 交易货币: 印尼盾(IDR)
  2. 交易时间: 周一至周五,上午9:00-12:00,下午13:30-16:00
  3. 涨跌幅限制: ±20%(主板),±35%(发展板)
  4. 行业分布: 金融、消费、资源、电信是主要板块
  5. 外资限制: 部分行业有外资持股限制

注意事项

  1. 时区差异: 印尼有三个时区,股市交易以西印尼时间(WIB)为准
  2. 货币单位: 印尼盾面值较大,注意数值处理
  3. 伊斯兰历法: 印尼伊斯兰节日可能影响交易日安排

技术支持

如有疑问或需要帮助,请通过以下方式联系:

  • Telegram: https://t.me/CryptoRzz
  • 邮箱: stocktv.top@outlook.com
  • 技术支持时间: 周一至周五 9:00-18:00 (北京时间)
http://www.hskmm.com/?act=detail&tid=28032

相关文章:

  • 2025 年铝门窗厂家推荐榜,系统 / 智能 / 断桥 / 窄边 / 定制 / 全景 / 阳光房 / 隐框 / 隔声 / 防火铝门窗公司推荐
  • 如何播放 M3U8 格式的视频
  • 20232304 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • Codeforces Round 1056 (Div. 2) A~D
  • 现代软件工程阅读和提问作业-1
  • 一种CDN动态加速回源白名单选路及降低源站探测量的方法
  • Windows系统-应用问题全面剖析Ⅰ:德承工控机DA-1200在Windows操作系统下[开机黑屏]的解决方法 - Johnny
  • 某中心在旧金山设立AGI实验室专注长期AI研究
  • Appcrawler自动遍历工具-智能遍历测试与测试用例生成
  • [USACO20FEB] Clock Tree S
  • 光储充一体化 + MyEMS:新能源场站的 “能源管家” 是这样工作的
  • idea插件Doc View
  • PGSQL + patroni + timescaledb 集群搭建
  • 随着种植精细化需求提升,草莓滴灌管、圆柱式滴灌管及 PVC 滴灌管成为节水灌溉核心装备,盘点五家实力厂家的特色产品
  • 2025 年最新推荐 OCR 图片识别软件厂商榜单:全面解析文字识别与格式转换服务商技术实力及服务能力ocr图片转excel/ocr图片转word厂商推荐
  • 2025 年高纯硼酸生产厂家最新推荐榜单:覆盖多领域优选,助力企业精准找高性能产品制造商核级/半导体/医用/电子/颗粒高纯硼酸厂家推荐
  • 计数集锦2
  • app.Environment.IsDevelopment()了解
  • 2025 年最新注浆管生产厂家综合实力排行榜:聚焦高精度与国企合作案例的优质厂家推荐管棚管/地质/边坡支护/袖阀/锚杆/岩心注浆管厂家推荐
  • 微算法科技(NASDAQ:MLGO)基于任务迁移的弹性框架重塑动态扩缩容,赋能边缘智能计算
  • 从小时级到分钟级:多点DMALL如何用Apache SeaTunnel把数据集成成本砍到1/3?
  • 2025 最新隔音棉生产厂家口碑推荐榜:甄选实力与品质兼具的品牌,含西南 / 昆明高性价比厂商最新推荐防火墙/内衬/鸡蛋/聚酯纤维/装修/吊顶隔音棉厂家推荐
  • 2025 升降杆厂家TOP 榜:梁山信达恒泰,专注多领域设备供应,气动型升降杆源头厂家推荐!
  • Playwright MCP 与 Claude 的完美协作:打造网页操作智能体
  • 2025 年高强钢板厂家最新推荐排行榜:聚焦国内优质企业,涵盖多型号产品,助力工业采购精准选型Q550D/合金/HG785D/ Q690D/S960QL/700L高强钢板厂家推荐
  • 2025 年最新推荐耐磨钢板生产厂家排行榜:涵盖高锰 / 堆焊 / 双金属 / NM 系列及无磁类型,解决采购难题助力企业选高性价比品牌
  • 高纯气体管道工程安装公司厂家推荐/管道施工队哪家好?
  • 找ant组件库对应样式
  • 指针
  • 达芬奇中文入门到精通视频教程DaVinci Resolve常用快捷键