Skip to main content

Share Reservation Query

QueryReservedStocks

Version

Available in v2.2.9 and later.

Parameters

FieldTypeDescription
accountAccountAccount

Result

FieldTypeDescription
IsSuccessboolWhether the request succeeded
Data*[]ReserveStockItemList of reserved shares; an empty list when no records exist
Message*stringError message when IsSuccess is false

Reserved-share balance: ReserveStockItem fields

Return type : Object

FieldTypeDescription
StockNostringStock symbol
MarketMarketMarket: MarketTaiex TWSE, MarketTaisdaq TPEx, MarketTaiemg Emerging
ReservedShareint64Reserved-share balance (shares)

Request example

package main

import (
"fmt"
"fubon"
)

func main() {
// Initialize the SDK and log in
sdk := fubon.NewFubonSDK()

// ... Login and connection initialization steps ...

// Share Reservation Query
reservedResult, err := sdk.Stock.QueryReservedStocks(account)

// Handle transport or SDK errors
if err != nil {
fmt.Printf("❌ Query Reserved Stocks Error: %v (Type: %T)\n", err, err)
return
}

// Check the API result
if !reservedResult.IsSuccess {
message := "No message"
if reservedResult.Message != nil {
message = *reservedResult.Message
}
fmt.Printf("Query reserved stocks failed. Message: %s\n", message)
return
}

// Print the reserved-share balances
if reservedResult.Data != nil && len(*reservedResult.Data) > 0 {
fmt.Printf("✅ Found %d reserved stocks\n", len(*reservedResult.Data))

for i, item := range *reservedResult.Data {
fmt.Printf("\n--- Stock %d ---\n", i+1)
fmt.Printf("StockNo: %s\n", item.StockNo)
fmt.Printf("Market: %v\n", item.Market)
fmt.Printf("ReservedShare: %d\n", item.ReservedShare)
}
} else {
fmt.Println("Query reserved stocks success but no data returned.")
}
}

Response example

// QueryReservedStocks response structure
Result{
IsSuccess: true,
Message: nil,
Data: &[]ReserveStockItem{
{StockNo: "2330", Market: MarketTaiex, ReservedShare: 5599},
{StockNo: "1260", Market: MarketTaiemg, ReservedShare: 3000},
},
}