Skip to main content

Get Batch Order Detail

BatchOrderDetail

Input Parameters

ParameterTypeDescription
accountAccountAccount
batchResultBatchResultBatch Order List Item

Result Return

ParameterTypeDescription
IsSuccessboolWhether successful
Data*[]OrderResultReturns order information list
Message*stringReturns error message when IsSuccess = false

Order Information OrderResult Fields

Return type : Object

ParameterTypeDescription
FunctionType*int64Function Type: 0 New Order, 10 Execute New Order, 15 Change Price, 20 Change Qty, 30 Cancel Order, 90 Fail
Date*stringTransaction Date
SeqNo*stringOrder Sequence Number
BranchNo*stringBranch Code
Account*stringAccount
OrderNo*stringOrder Number
AssetType*int64Asset Type: 0 Securities
Market*stringMarket: TAIEX Listed Stocks, TAISDAQ OTC Stocks, TAIEMG Emerging Stocks
MarketTypeMarketTypeMarket Type Category: MarketTypeCommon Regular Stock, MarketTypeFixing Fixing, MarketTypeIntradayOdd Intraday Odd Lot, MarketTypeOdd Post-market Odd Lot, MarketTypeEmg Emerging, MarketTypeEmgOdd Emerging Odd Lot
StockNo*stringStock Symbol
BuySell*BsActionBuy/Sell Action: BsActionBuy Buy, BsActionSell Sell
PriceType*PriceTypeEffective Price Type: PriceTypeLimit Limit, PriceTypeLimitUp Limit Up, PriceTypeLimitDown Limit Down, PriceTypeMarket Market, PriceTypeReference Reference
Price*stringPrice
Quantity*int64Original Order Quantity
TimeInForce*TimeInForceOrder Condition: TimeInForceRod ROD, TimeInForceFok FOK, TimeInForceIoc IOC
OrderType*OrderTypeOrder Type: OrderTypeStock Common, OrderTypeMargin Margin, OrderTypeShort Short Sell, OrderTypeDayTrade Day Trade, OrderTypeSbl SBL
IsPreOrder*boolIs Pre-order
Status*int64Order Status: 0 Pre-order, 4 Sending to Backend, 9 Connection Timeout, 10 Order Success, 30 Cancelled Unfilled, 40 Partial Fill/Rest Cancelled, 50 Fully Filled, 90 Fail
AfterPriceType*PriceTypeEffective Price Type: PriceTypeLimit Limit, PriceTypeLimitUp Limit Up, PriceTypeLimitDown Limit Down, PriceTypeMarket Market, PriceTypeReference Reference
AfterPrice*stringEffective Order Price
Unit*int64Unit
AfterQty*int64Effective Order Quantity (including filled part)
FilledQty*int64Filled Quantity
FilledMoney*int64Filled Amount
BeforeQty*int64Effective Qty Before Change
BeforePrice*stringEffective Price Before Change
UserDef*stringUser Defined Field
LastTime*stringLast Modified Time
Details*stringOrder History (Value exists only when querying OrderResultDetail or OrderHistory)
ErrorMessage*stringError Message
caution

This function is only for querying the result of batch order submission. To get the latest status of orders, please use the single order query function.

Request Example

package main

import (
"fmt"
"fubon"
)

func main() {
// Initialize SDK and login
sdk := fubon.NewSDK()

// ... Login, connection, and other initialization steps ...

// Get batch order list first
batchList, err := sdk.Stock.BatchOrderLists(account)
if err != nil {
fmt.Printf("❌ Get Batch List Format/Parse Error: %v\n", err)
return
}

// Select the first batch to query details
if batchList.Data != nil && len(*batchList.Data) > 0 {
batchRes := (*batchList.Data)[0]
fmt.Printf("Querying batch detail for: %s\n", *batchRes.BatchSeqNo)

// Query Batch Order Detail
batchDetail, err := sdk.Stock.BatchOrderDetail(account, batchRes)
if err != nil {
fmt.Printf("❌ Batch Order Detail Format/Parse Error: %v (Type: %T)\n", err, err)
return
}

// Check Success
if !batchDetail.IsSuccess {
message := "No message"
if batchDetail.Message != nil {
message = *batchDetail.Message
}
fmt.Printf("Get order result failed. Message: %s\n", message)
return
}

// Output Batch Details
if batchDetail.Data != nil && len(*batchDetail.Data) > 0 {
fmt.Printf("✅ Batch contains %d orders\n", len(*batchDetail.Data))

for i, result := range *batchDetail.Data {
fmt.Printf("\n--- Order %d ---\n", i+1)
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)
}
} else {
fmt.Println("Order result success but no data returned.")
}
} else {
fmt.Println("⚠️ No batch orders found")
}
}

Response Example

// BatchOrderDetail Return Structure
Result{
IsSuccess: true,
Message: nil,
Data: &[]OrderResult{
{
FunctionType: nil, // Function Type
Date: "2023/10/18", // Date
SeqNo: "00000000007", // Order Sequence Number
BranchNo: "6460", // Branch Code
Account: "26", // Account
OrderNo: "bA683", // Order Number
AssetType: 0, // Asset Type
Market: "TAIEX", // Market Type
MarketType: Common, // Market Type Category
StockNo: "2888", // Stock Symbol
BuySell: Buy, // Buy/Sell Action
PriceType: Limit, // Original Price Type
Price: "8.9", // Price
Quantity: 2000, // Original Order Quantity
TimeInForce: Rod, // Order Condition
OrderType: Stock, // Order Type
IsPreOrder: false, // Is Pre-order
Status: 10, // Order Status
AfterPriceType: Limit, // Effective Price Type
AfterPrice: "8.9", // Effective Price
Unit: 1000, // Unit
AfterQty: 2000, // Effective Order Quantity
FilledQty: 0, // Filled Quantity
FilledMoney: 0, // Filled Amount
BeforeQty: 0, // Effective Qty Before Change
BeforePrice: "8.9", // Effective Price Before Change
UserDef: "", // User Defined Field
LastTime: "14:41:32.647", // Last Modified Time
Details: nil, // Order History
ErrorMessage: "", // Error Message
},
// ... more orders
},
}