Skip to main content

查詢歷史委託

OrderHistory

輸入參數

參數類別說明
accountAccount帳號
startDatestring查詢開始日 (格式: YYYYMMDD)
endDate*string (空值預設與開始日相同)查詢終止日 (格式: YYYYMMDD)
info

每次查詢最大設定30日日期區間

Result 回傳

參數類別說明
IsSuccessbool是否成功
Data*[]OrderResult回傳歷史委託列表 (含歷程)
Message*string當 IsSuccess = false 回傳錯誤訊息

委託資訊 OrderResult 欄位

Return type : Object

參數類別說明
FunctionType*int64功能別 : 0 新單 、 10 新單執行 、 15 改價 、 20 改量 、 30 刪單 、 90 失敗
Date*string交易日期
SeqNo*string委託單流水序號
BranchNo*string分公司代號
Account*string帳號
OrderNo*string委託書號
AssetType*int64資產類別 : 0 證券
Market*string市場類型 : TAIEX 上市股票 、 TAISDAQ 上櫃股票 、 TAIEMG 興櫃股票
MarketTypeMarketType盤別種類 : MarketTypeCommon 整股 、 MarketTypeFixing 定盤 、 MarketTypeIntradayOdd 盤中零股 、 MarketTypeOdd 盤後零股 、 MarketTypeEmg 興櫃 、 MarketTypeEmgOdd 興櫃零股
StockNo*string股票代號
BuySell*BsAction買賣別 : BsActionBuy 買 、 BsActionSell
PriceType*PriceType有效委託價格別 : PriceTypeLimit 限價 、 PriceTypeLimitUp 漲停 、 PriceTypeLimitDown 跌停 、 PriceTypeMarket 市價 、 PriceTypeReference 參考價
Price*string價格
Quantity*int64原始委託股數
TimeInForce*TimeInForce委託條件別 : TimeInForceRod ROD 、 TimeInForceFok FOK 、 TimeInForceIoc IOC
OrderType*OrderType委託單類型 : OrderTypeStock 現股 、 OrderTypeMargin 融資 、 OrderTypeShort 融券 、 OrderTypeDayTrade 現股當沖 、 OrderTypeSbl 借券
IsPreOrder*bool是否為預約單
Status*int64委託單狀態 : 0 預約單 、 4 系統將委託送往後台 、 9 連線逾時 、10 委託成功 、 30 未成交刪單成功 、 40 部分成交,剩餘取消 、 50 完全成交 、 90 失敗
AfterPriceType*PriceType有效委託價格別 : PriceTypeLimit 限價 、 PriceTypeLimitUp 漲停 、 PriceTypeLimitDown 跌停 、 PriceTypeMarket 市價 、 PriceTypeReference 參考價
AfterPrice*string有效委託價格
Unit*int64單位數
AfterQty*int64有效委託股數(包含已成交部分)
FilledQty*int64成交股數
FilledMoney*int64成交價金
BeforeQty*int64改單前有效量
BeforePrice*string改單前有效價
UserDef*string自訂欄位
LastTime*string最後異動時間
ErrorMessage*string錯誤訊息
Details*[]OrderDetail委託歷程
>> FunctionType*int64功能別 : 0 新單 、 10 新單執行 、 15 改價 、 20 改量 、 30 刪單 、 50 完全成交 、 90 失敗
>> ModifiedTime*string修改時間
>> BeforeQty*int64原始委託股數
>> AfterQty*int64有效委託股數(包含已成交部分)
>> BeforePrice*string原始委託價
>> AfterPrice*string有效委託價
>> FilledMoney*string成交價金
>> Status*int64委託單狀態
>> ErrorMessage*string錯誤訊息

請求範例

package main

import (
"fmt"
"fubon"
)

func main() {
// 初始化 SDK 並登入
sdk := fubon.NewSDK()

// ... 登入、連線等初始化步驟 ...

// 查詢歷史委託
startDate := "20250502"
endDate := "20250502"

orderHis, err := sdk.Stock.OrderHistory(account, startDate, &endDate)

// 錯誤處理
if err != nil {
fmt.Printf("❌ Order History Format/Parse Error:: %v (Type: %T)\n", err, err)
return
}

// 檢查是否成功
if !orderHis.IsSuccess {
message := "No message"
if orderHis.Message != nil {
message = *orderHis.Message
}
fmt.Printf("Order history failed. Message: %s\n", message)
return
}

// 輸出歷史委託列表
if orderHis.Data != nil && len(*orderHis.Data) > 0 {
fmt.Printf("✅ Found %d historical orders\n", len(*orderHis.Data))

for i, result := range *orderHis.Data {
fmt.Printf("\n=== Historical Order %d ===\n", i+1)
fmt.Printf("Date: %s\n", *result.Date)
fmt.Printf("OrderNo: %s\n", *result.OrderNo)
fmt.Printf("StockNo: %s\n", *result.StockNo)
fmt.Printf("BuySell: %v\n", *result.BuySell)
fmt.Printf("Price: %s\n", *result.Price)
fmt.Printf("Quantity: %d\n", *result.Quantity)
fmt.Printf("Status: %d\n", *result.Status)
fmt.Printf("FilledQty: %d\n", *result.FilledQty)

// 顯示委託歷程
if result.Details != nil && len(*result.Details) > 0 {
fmt.Printf("\n 委託歷程 (%d 筆):\n", len(*result.Details))
for j, detail := range *result.Details {
fmt.Printf(" [%d] FunctionType: %d, Time: %s\n",
j+1, *detail.FunctionType, *detail.ModifiedTime)
fmt.Printf(" Qty: %d -> %d, Price: %s -> %s\n",
*detail.BeforeQty, *detail.AfterQty,
*detail.BeforePrice, *detail.AfterPrice)
}
}
}
} else {
fmt.Println("No order history data.")
}
}

回傳範例

// OrderHistory 回傳結構
Result{
IsSuccess: true,
Message: nil,
Data: &[]OrderResult{
{
FunctionType: nil, // 功能別
Date: "2025/05/02", // 交易日期
SeqNo: "00000000001", // 委託單流水序號
BranchNo: "6460", // 分公司代號
Account: "26", // 帳號
OrderNo: "bA598", // 委託書號
AssetType: 0, // 資產類別
Market: "TAIEX", // 市場類型
MarketType: Common, // 盤別種類
StockNo: "2888", // 股票代號
BuySell: Buy, // 買賣別
PriceType: Limit, // 原始委託價格別
Price: "8.9", // 價格
Quantity: 2000, // 原始委託股數
TimeInForce: Rod, // 委託條件別
OrderType: Stock, // 委託單類型
IsPreOrder: false, // 是否為預約單
Status: 10, // 委託單狀態
AfterPriceType: nil, // 有效委託價格別
AfterPrice: "9", // 有效委託價格
Unit: 1000, // 單位數
AfterQty: 1000, // 有效委託股數
FilledQty: 0, // 成交股數
FilledMoney: 0, // 成交價金
BeforeQty: nil, // 改單前有效量
BeforePrice: nil, // 改單前有效價
UserDef: "", // 自訂欄位
LastTime: "14:19:41.879", // 最後異動時間
ErrorMessage: "", // 錯誤訊息
Details: &[]OrderDetail{ // 委託歷程
{
FunctionType: 10,
ModifiedTime: "14:19:41.879",
BeforeQty: 0,
AfterQty: 1000,
BeforePrice: "9.0",
AfterPrice: "9.0",
Status: 10,
ErrorMessage: "",
},
},
},
// ... 更多歷史委託單
},
}