longbridge
provides an easy-to-use interface for invokes Longbridge OpenAPI
.
Add dependencies to Cargo.toml
toml
[dependencies]
longbridge = "0.1.0"
Setting environment variables(MacOS/Linux)
bash
export LONGBRIDGE_APP_KEY="App Key get from user center"
export LONGBRIDGE_APP_SECRET="App Secret get from user center"
export LONGBRIDGE_ACCESS_TOKEN="Access Token get from user center"
Setting environment variables(Windows)
powershell
setx LONGBRIDGE_APP_KEY "App Key get from user center"
setx LONGBRIDGE_APP_SECRET "App Secret get from user center"
setx LONGBRIDGE_ACCESS_TOKEN "Access Token get from user center"
```rust,no_run use std::sync::Arc;
use longbridge::{ decimal, trade::{OrderSide, OrderType, SubmitOrderOptions, TimeInForceType}, Config, QuoteContext, TradeContext, };
async fn main() -> Result<(), Box
// Create a context for quote APIs
let (ctx, _) = QuoteContext::try_new(config.clone()).await?;
// Get basic information of securities
let resp = ctx
.quote(["700.HK", "AAPL.US", "TSLA.US", "NFLX.US"])
.await?;
println!("{:?}", resp);
Ok(())
} ```
```rust, no_run use std::sync::Arc;
use longbridge::{quote::SubFlags, Config, QuoteContext};
async fn main() -> Result<(), Box
// Create a context for quote APIs
let (ctx, mut receiver) = QuoteContext::try_new(config).await?;
// Subscribe
ctx.subscribe(["700.HK"], SubFlags::QUOTE, true).await?;
// Receive push events
while let Some(event) = receiver.recv().await {
println!("{:?}", event);
}
Ok(())
} ```
```rust, no_run use std::sync::Arc;
use longbridge::{ decimal, trade::{OrderSide, OrderType, SubmitOrderOptions, TimeInForceType}, Config, TradeContext, };
async fn main() -> Result<(), Box
// Create a context for trade APIs
let (ctx, _) = TradeContext::try_new(config).await?;
// Submit order
let opts = SubmitOrderOptions::new(
"700.HK",
OrderType::LO,
OrderSide::Buy,
decimal!(500i32),
TimeInForceType::Day,
)
.submitted_price(decimal!(50i32))
.remark("Hello from Rust SDK".to_string());
let resp = ctx.submit_order(opts).await?;
println!("{:?}", resp);
Ok(())
} ```
To avoid compiling unused dependencies, Longbridge gates certain features, all of which are disabled by default:
| Feature | Description |
|----------|-------------------------------------|
| blocking | Provides the blocking
client API. |
Licensed under either of