Skip to main content

Cash Reservation Query

QueryReserves

Version

Available in v2.2.9 and later.

Parameters

FieldTypeDescription
accountAccountAccount

Result

FieldTypeDescription
IsSuccessboolWhether the request succeeded
Data*ReserveCashSummaryAccount-wide pre-collected cash summary
Message*stringError message when IsSuccess is false

Pre-collected cash summary: ReserveCashSummary fields

Return type : Object

FieldTypeDescription
BranchNostringBranch code
AccountstringAccount
CurrencystringCurrency: TWD
ReservedAmountint64Pre-collected amount (TWD)
ReturnedAmountint64Returned amount (TWD)
OrderedAmountint64Amount used by orders (TWD)

Request example

package main

import (
"fmt"
"fubon"
)

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

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

// Query the account-wide pre-collected cash summary
reservesResult, err := sdk.Stock.QueryReserves(account)

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

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

// Print the account-wide pre-collected cash summary
if reservesResult.Data != nil {
summary := *reservesResult.Data
fmt.Printf("✅ Reserve summary\n")
fmt.Printf("BranchNo: %s\n", summary.BranchNo)
fmt.Printf("Account: %s\n", summary.Account)
fmt.Printf("ReservedAmount: %d\n", summary.ReservedAmount)
fmt.Printf("ReturnedAmount: %d\n", summary.ReturnedAmount)
fmt.Printf("OrderedAmount: %d\n", summary.OrderedAmount)
} else {
fmt.Println("Query reserves success but no data returned.")
}
}

Response example

// QueryReserves response structure
Result{
IsSuccess: true,
Message: nil,
Data: &ReserveCashSummary{
BranchNo: "20207", // Branch code
Account: "9801163", // Account
Currency: "TWD", // currency
ReservedAmount: 9960200, // pre-collected amount
ReturnedAmount: 0, // returned amount
OrderedAmount: 0, // amount used by orders
},
}