事前準備
| 項目 | 說明 |
|---|---|
| 產品 | 富邦新一代 API(Fubon Neo API) |
| 必要條件 | 富邦證券帳戶、數位憑證、API 使用聲明 + 連線測試 |
| 主要平台 | Windows(憑證工具與連線測試程式) |
| 登入方式 | 憑證登入 |
| 下一步 | 安裝與版本相容性 / 快速開始 |
caution
準備好富邦證券帳戶
若您已有您的富邦證券帳戶請跳過此步驟,未擁有富邦證券帳戶請立即開戶

申請憑證
至憑證申請、展期點選立即執行下載富邦證券憑證e總管(TCEM.exe)申請憑證

登入完成並且認證後,輸入手機或電子信箱收取OTP驗證

完成申請,憑證將存放於 C:\CAFubon\(您的身分證字號),並以您的身份證字號為檔名

API 使用風險暨聲明書簽署及測試
線上簽署
依照下方說明連結分別進行API 聲明書簽署、API 連線測試 線上簽署SOP說明書
連 線測試
下載使用連線測試程式 (for Windows), 或直接使用新一代 API 進行連線登入 連線測試小幫手
安裝與版本相容性
請先閱讀安裝與版本相容性以確認各語言最低版本與安裝方式,並至SDK 下載取得安裝檔。
開始拓展程式交易之旅
- Python
- Node.js
- C#
from fubon_neo.sdk import FubonSDK, Order
from fubon_neo.constant import TimeInForce, OrderType, PriceType, MarketType, BSAction
# 載入設定檔與登入
sdk = FubonSDK()
accounts = sdk.login("您的身分證號", "您的登入密碼", "您的憑證路徑位置", "您的憑證密碼")
## accounts = sdk.login("您的身分證號", "您的登入密碼", "您的憑證路徑位置") # 若憑證選用"預設密碼", SDK v1.3.2與較新版本適用
acc = accounts.data[0]
# 建立委託物件
order = Order(
buy_sell = BSAction.Buy,
symbol = "2881",
quantity = 2000,
price = "66",
market_type = MarketType.Common,
price_type = PriceType.Limit,
time_in_force = TimeInForce.ROD,
order_type = OrderType.Stock,
user_def = "From_Py" # optional field
)
# 下單
order_res = sdk.stock.place_order(acc, order)
print(order_res)
恭喜您🎊,完成下單,即可看到系統回覆的結果
Result { is_success: True, message: None, data : OrderResult{ date: "2023/10/13", seq_no: "00000000015", branch_no: "6460", account: "26", order_no: "bA626", asset_type: 0, market: "TAIEX", market_type: Common, stock_no: "2881", buy_sell: Buy, price_type: Limit, price: 66.0, quantity: 2000, time_in_force: ROD, order_type: Stock, is_pre_order: false, status: 10, after_price_type: Limit, after_price: 66.0, unit: 1000, after_qty: 2000, filled_qty: 0, filled_money: 0, before_qty: 0, before_price: 66.0, user_def: "From_Py", last_time: "16:48:09.247", error_message: None} }
const { FubonSDK, BSAction, TimeInForce, OrderType, PriceType, MarketType } = require('fubon-neo');
// 載入設定檔與登入
const sdk = new FubonSDK();
const accounts = sdk.login("您的身分證號", "您的登入密碼", "您的憑證路徑", "您的憑證密碼");
// const accounts = sdk.login("您的身分證號", "您的登入密碼", "您的憑證路徑位置"); // 若憑證選用"預設密碼", SDK v1.3.2與較新版本適用
const acc = accounts.data[0];
// 建立委託物件
const order = {
buySell: BSAction.Buy,
symbol: 2881,
price: "66",
quantity: 2000,
marketType: MarketType.Common,
priceType: PriceType.Limit,
timeInForce: TimeInForce.ROD,
orderType: OrderType.Stock,
userDef: "from Js"
};
// 下單
sdk.stock.placeOrder(acc,order);
恭喜您🎊 ,完成下單,即可看到系統回覆的結果
{ isSuccess: true, data:{ date : '2023/10/13', seqNo : '00000000016', branchNo : '6460', account : '26', orderNo : 'bA627', assetType : 0, market : 'TAIEX', marketType : 'Common', stockNo : '2881', buySell : 'Buy', priceType : 'Limit', price : 66, quantity : 2000, timeInForce : 'ROD', orderType : 'Stock', isPreOrder : false, status : 10, afterPriceType : 'Limit', afterPrice : 66, unit : 1000, afterQty : 2000, filledQty : 0, filledMoney : 0, beforeQty : 0, beforePrice : 66, userDef : 'From JS', lastTime : '17:19:06.048' } }
using FubonNeo.Sdk;
//載入設定檔與登入
var sdk = new FubonSDK();
var acc_obj = sdk.Login("您的身分證號", "您的登入密碼", "您的憑證路徑" ,"您的憑證密碼");
/*
// 若憑 證選用"預設密碼", SDK v1.3.2 與較新版本適用
var acc_obj = sdk.Login("您的身分證號", "您的登入密碼", "您的憑證路徑");
*/
var acc = acc_obj.data[0];
//建立委託物件
var order = new Order(
BsAction.Buy,
"2881",
"66",
2000,
MarketType.Common,
PriceType.Limit,
TimeInForce.ROD,
OrderType.DayTrade,
"From C#"
);
// 下單
var order_res = sdk.Stock.PlaceOrder(acc, order);
Console.WriteLine(order_res);
恭喜您🎊,完成下單,即可看到系統回覆的結果
{ isSuccess = True, message = , data = { date = 2023/10/13, seqNo = 00000000016, branchNo = 6460, account = 26, orderNo = bA627, assetType = 0, market = TAIEX, marketType = Common, stockNo = 2881, buySell = Buy, priceType = Limit , price = 66, quantity = 2000, timeInForce = ROD, orderType = DayTrade, isPreOrder = False, status = 10, afterPriceType = Limit, afterPrice = 66, unit = 1000, afterQty = 2000, filledQty = 0, filledMoney = 0, beforeQty = 0, beforePrice = 66, userDef = From C#, lastTime = 17:19:06.048, errorMessage = } }