1. 基礎配置
- 接口域名:
https://api.stocktv.top - 德國 Country ID: 17
- 主要交易所: 法蘭克福證券交易所 (FWB/Xetra)
- 認證方式: URL 參數
key=您的API密鑰
2. 核心接口流程
對接德國股票的核心邏輯與其它國家一致:先查列表獲取 PID -\> 再查 K 線或實時行情。
第一步:獲取德國股票列表
查詢德國市場的股票代碼、名稱及系統 PID。
- 接口:
/stock/stocks - 方法:
GET -
參數:
countryId: 17 (必填)pageSize:20(建議設置)page:1
-
請求示例:
GET https://api.stocktv.top/stock/stocks?countryId=17&pageSize=20&page=1&key=YOUR_KEY -
響應關鍵字段:
id: PID (後續獲取K線必須使用此ID)symbol: 股票代碼 (如 "BMW", "VOW3", "SIE")name: 公司名稱 (如 "BMW AG", "Volkswagen")last: 最新價格 (歐元 EUR)
第二步:獲取德國指數 (DAX 40)
獲取德國最重要的 DAX 指數行情。
- 接口:
/stock/indices - 方法:
GET - 參數:
countryId=17 -
請求示例:
GET https://api.stocktv.top/stock/indices?countryId=17&key=YOUR_KEY -
常見指數:
- DAX: 德國主要藍籌股指數
- MDAX: 中盤股指數
- TecDAX: 科技股指數
第三步:獲取 K 線數據
使用第一步獲取的 id (PID) 查詢歷史數據。
- 接口:
/stock/kline - 方法:
GET -
參數:
pid: 股票ID (例如 BMW 的 PID)interval: 週期 (P1D=日線,PT1H=1小時,PT5M=5分鐘)
-
請求示例:
GET https://api.stocktv.top/stock/kline?pid=12345&interval=P1D&key=YOUR_KEY
3. 代碼示例 (JavaScript/Node.js)
以下代碼展示瞭如何獲取德國股票列表,並自動提取第一隻股票的 PID 來查詢 K 線數據。
// 配置區
const API_KEY = 'YOUR_API_KEY'; // 請替換您的 Key
const BASE_URL = 'https://api.stocktv.top';
const GERMANY_ID = 17; // 德國市場 ID
/**
* 1. 獲取德國股票列表
*/
async function getGermanMarket() {
const url = `${BASE_URL}/stock/stocks?countryId=${GERMANY_ID}&pageSize=10&page=1&key=${API_KEY}`;
try {
console.log(`正在獲取德國股票列表 (ID:${GERMANY_ID})...`);
const response = await fetch(url);
const result = await response.json();
if (result.code === 200) {
const stocks = result.data.records;
console.log(`獲取成功,共 ${result.data.total} 條數據。前 3 條如下:`);
// 打印前3條供參考
stocks.slice(0, 3).forEach(stock => {
console.log(`- [${stock.symbol}] ${stock.name} | PID: ${stock.id} | Price: €${stock.last}`);
});
// 如果有數據,演示如何獲取第一隻股票的 K 線
if (stocks.length > 0) {
const targetPid = stocks[0].id;
const targetName = stocks[0].name;
await getKlineData(targetPid, targetName);
}
} else {
console.error('獲取列表失敗:', result.message);
}
} catch (error) {
console.error('網絡請求錯誤:', error);
}
}
/**
* 2. 獲取單隻股票 K 線數據
*/
async function getKlineData(pid, name) {
// 請求日線數據 (P1D)
const url = `${BASE_URL}/stock/kline?pid=${pid}&interval=P1D&key=${API_KEY}`;
try {
console.log(`\n正在獲取 [${name}] (PID:${pid}) 的日線數據...`);
const response = await fetch(url);
const result = await response.json();
if (result.code === 200 && result.data) {
const klineData = result.data;
console.log(`成功獲取 ${klineData.length} 條 K 線數據。最新一條:`);
const latest = klineData[klineData.length - 1];
console.log(`時間: ${new Date(latest.time).toLocaleDateString()}`);
console.log(`收盤價: ${latest.close}`);
console.log(`成交量: ${latest.volume}`);
} else {
console.log('該股票暫無 K 線數據');
}
} catch (error) {
console.error('K線請求錯誤:', error);
}
}
// 執行主函數
getGermanMarket();
4. 注意事項
- 貨幣單位: 德國市場返回的價格單位通常為 歐元 (EUR)。
- 交易時間: 德國法蘭克福交易所的交易時間通常為中歐時間 (CET) 09:00 - 17:30。在獲取實時 WebSocket 數據時請留意該時段。
-
主要公司代碼示例:
- SAP: SAP SE
- SIE: Siemens AG (西門子)
- ALV: Allianz SE (安聯)
- DTE: Deutsche Telekom (德國電信)