Funds and Transfers

get_fund_details

Signature


pub async fn get_fund_details( &self, req: FundDetailsRequest, ) -> Result<Vec<FundDetails>, TigerError>

Description

Filter segments/type/currency/millisecond range/limit/token.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.seg_typesOption<Vec<String>>OptionalNone (omitted)
req.fund_typeOption<String>OptionalNone (omitted)
req.currencyOption<String>OptionalNone (omitted)
req.start_dateOption<i64>OptionalNone (omitted)
req.end_dateOption<i64>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.page_tokenOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<FundDetails>, TigerError>

FieldTypeDescription
idStringID
accountStringAccount
seg_typeStringSegment type
fund_typeStringFund type
currencyStringCurrency
amountf64Turnover amount
balancef64Balance
occur_timei64Occur time
remarkStringRemark
external_idStringExternal ID

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_fund_details(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.get_fund_details(FundDetailsRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "id": "",
    "account": "",
    "seg_type": "",
    "fund_type": "",
    "currency": "",
    "amount": 0,
    "balance": 0,
    "occur_time": 0
  }
]

get_funding_history

Signature


pub async fn get_funding_history( &self, req: FundingHistoryRequest, ) -> Result<Vec<FundingHistoryItem>, TigerError>

Description

Segment/currency/range/limit optional.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.seg_typeOption<String>OptionalNone (omitted)
req.currencyOption<String>OptionalNone (omitted)
req.start_dateOption<i64>OptionalNone (omitted)
req.end_dateOption<i64>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<FundingHistoryItem>, TigerError>

FieldTypeDescription
idi64ID
ref_idStringReference ID
fund_typei32Fund type
type_descStringType description
currencyStringCurrency
amountf64Turnover amount
business_dateStringBusiness date
statusStringTrading status
status_descStringStatus description
completed_statusboolCompleted status
created_ati64Created at
updated_ati64Updated at

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_funding_history(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.get_funding_history(FundingHistoryRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "id": 0,
    "ref_id": "",
    "fund_type": 0,
    "type_desc": "",
    "currency": "",
    "amount": 0,
    "business_date": "",
    "status": ""
  }
]

get_segment_fund_available

Signature


pub async fn get_segment_fund_available( &self, req: SegmentFundRequest, ) -> Result<Vec<SegmentFundAvailableItem>, TigerError>

Description

Segments/currency according to account.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.idOption<String>OptionalNone (omitted)
req.from_segmentOption<String>OptionalNone (omitted)
req.to_segmentOption<String>OptionalNone (omitted)
req.currencyOption<String>OptionalNone (omitted)
req.amountOption<f64>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<SegmentFundAvailableItem>, TigerError>

FieldTypeDescription
from_segmentStringFrom segment
currencyStringCurrency
amountf64Turnover amount

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_segment_fund_available(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.get_segment_fund_available(SegmentFundRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "from_segment": "",
    "currency": "",
    "amount": 0
  }
]

get_segment_fund_history

Signature


pub async fn get_segment_fund_history( &self, req: SegmentFundRequest, ) -> Result<Vec<SegmentFundHistoryItem>, TigerError>

Description

Segment/currency/limit optional.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.idOption<String>OptionalNone (omitted)
req.from_segmentOption<String>OptionalNone (omitted)
req.to_segmentOption<String>OptionalNone (omitted)
req.currencyOption<String>OptionalNone (omitted)
req.amountOption<f64>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Vec<SegmentFundHistoryItem>, TigerError>

FieldTypeDescription
idi64ID
from_segmentStringFrom segment
to_segmentStringTo segment
currencyStringCurrency
amountf64Turnover amount
statusStringTrading status
status_descStringStatus description
settled_ati64Settled at
created_ati64Created at
updated_ati64Updated at

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_get_segment_fund_history(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.get_segment_fund_history(SegmentFundRequest { ..Default::default() }).await?;

    Ok(())

}

Response example

[
  {
    "id": 0,
    "from_segment": "",
    "to_segment": "",
    "currency": "",
    "amount": 0,
    "status": "",
    "status_desc": "",
    "settled_at": 0
  }
]


transfer_segment_fund

Signature


pub async fn transfer_segment_fund( &self, req: SegmentFundRequest, ) -> Result<Option<SegmentFund>, TigerError>

Description

From/to/currency/positive amount required; changes funds.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.idOption<String>OptionalNone (omitted)
req.from_segmentOption<String>Required by server; SDK does not pre-validateNone (omitted)
req.to_segmentOption<String>Required by server; SDK does not pre-validateNone (omitted)
req.currencyOption<String>Required by server; SDK does not pre-validateNone (omitted)
req.amountOption<f64>Required by server; SDK does not pre-validateNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Option<SegmentFund>, TigerError>

FieldTypeDescription
idValueID
from_segmentStringFrom segment
to_segmentStringTo segment
currencyStringCurrency
amountf64Turnover amount
statusStringTrading status
status_descStringStatus description
messageStringMessage
settled_ati64Settled at
created_ati64Created at
updated_ati64Updated at

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_transfer_segment_fund(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.transfer_segment_fund(SegmentFundRequest { from_segment: Some("S".into()), to_segment: Some("C".into()), currency: Some("USD".into()), amount: Some(1.0), ..Default::default() }).await?;

    Ok(())

}

Response example

{
  "id": "",
  "from_segment": "",
  "to_segment": "",
  "currency": "",
  "amount": 0,
  "status": "",
  "status_desc": "",
  "message": ""
}

cancel_segment_fund

Signature


pub async fn cancel_segment_fund( &self, req: SegmentFundRequest, ) -> Result<Option<SegmentFund>, TigerError>

Description

String id required; pending requests only.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.idOption<String>Required by server; SDK does not pre-validateNone (omitted)
req.from_segmentOption<String>OptionalNone (omitted)
req.to_segmentOption<String>OptionalNone (omitted)
req.currencyOption<String>OptionalNone (omitted)
req.amountOption<f64>OptionalNone (omitted)
req.limitOption<i32>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Option<SegmentFund>, TigerError>

FieldTypeDescription
idValueID
from_segmentStringFrom segment
to_segmentStringTo segment
currencyStringCurrency
amountf64Turnover amount
statusStringTrading status
status_descStringStatus description
messageStringMessage
settled_ati64Settled at
created_ati64Created at
updated_ati64Updated at

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_cancel_segment_fund(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.cancel_segment_fund(SegmentFundRequest { id: Some("TRANSFER_ID".into()), ..Default::default() }).await?;

    Ok(())

}

Response example

{
  "id": "",
  "from_segment": "",
  "to_segment": "",
  "currency": "",
  "amount": 0,
  "status": "",
  "status_desc": "",
  "message": ""
}

place_forex_order

Signature


pub async fn place_forex_order( &self, req: ForexOrderRequest, ) -> Result<Option<ForexOrderResult>, TigerError>

Description

Source/target currencies required; choose source or target amount according to server rules; submits conversion.

Parameters

ParameterRust typeRequirementSDK default
req.accountOption<String>Optional; most TradeClient methods inject the default account when NoneNone (omitted)
req.seg_typeOption<String>OptionalNone (omitted)
req.source_currencyOption<String>OptionalNone (omitted)
req.target_currencyOption<String>OptionalNone (omitted)
req.source_amountOption<f64>Conditional: at least one of source_amount / target_amountNone (omitted)
req.target_amountOption<f64>Conditional: at least one of source_amount / target_amountNone (omitted)
req.order_typeOption<String>OptionalNone (omitted)
req.langOption<String>OptionalNone (omitted)

Return

Result<Option<ForexOrderResult>, TigerError>

FieldTypeDescription
idStringID
statusStringTrading status
source_currencyStringSource currency
target_currencyStringTarget currency
source_amountf64Source amount
target_amountf64Target amount
ratef64Exchange rate
submit_timei64Submit time

Example


use std::sync::Arc;

use tigeropen::client::http_client::HttpClient;

use tigeropen::config::ClientConfig;

use tigeropen::error::TigerError;

use tigeropen::model::order::*;

use tigeropen::model::quote::*;

use tigeropen::model::quote_requests::*;

use tigeropen::model::trade_requests::*;

use tigeropen::push::*;

use tigeropen::quote::QuoteClient;

use tigeropen::trade::TradeClient;

async fn example_place_forex_order(config: ClientConfig, quote: &QuoteClient, trade: &TradeClient, push: &Arc<PushClient>) -> Result<(), TigerError> {

    let result_0 = trade.place_forex_order(ForexOrderRequest { source_currency: Some("USD".into()), target_currency: Some("HKD".into()), source_amount: Some(1.0), ..Default::default() }).await?;

    Ok(())

}

Response example

{
  "id": "",
  "status": "",
  "source_currency": "",
  "target_currency": "",
  "source_amount": 0,
  "target_amount": 0,
  "rate": 0,
  "submit_time": 0
}


Did this page help you?