[−][src]Crate kiteconnect
kiteconnect-rs is a rust implementation of the KiteConnect library.
The crate is called kiteconnect
and you can depend of it via cargo:
[dependencies.kiteconnect]
version = "*"
If you want to use the git version:
[dependencies.kiteconnect]
git = "https://github.com/zerodhatech/kiteconnect-rs"
Basic Operation
kiteconnect-rs had both the connect and ticker implementation of the KiteConnect API
HTTP API
extern crate serde_json as json; use kiteconnect::connect::KiteConnect; fn main() { let mut kiteconnect = KiteConnect::new("<API-KEY>", ""); // Open browser with this URL and get the request token from the callback let loginurl = kiteconnect.login_url(); println!("{:?}", loginurl); // Generate access token with the above request token let resp = kiteconnect.generate_session("<REQUEST-TOKEN>", "<API-SECRET>"); // `generate_session` internally sets the access token from the response println!("{:?}", resp); let holdings: json::Value = kiteconnect.holdings().unwrap(); println!("{:?}", holdings);
Ticker
extern crate kiteconnect; extern crate serde_json as json; use kiteconnect::ticker::{KiteTicker, KiteTickerHandler, WebSocketHandler}; #[derive(Debug)] struct CustomHandler { count: u32 } impl KiteTickerHandler for CustomHandler { fn on_open<T>(&mut self, ws: &mut WebSocketHandler<T>) where T: KiteTickerHandler { // Subscribe to a list of tokens on opening the websocket connection ws.subscribe(vec![123456]); println!("Fellow on_open callback"); } fn on_ticks<T>(&mut self, ws: &mut WebSocketHandler<T>, tick: Vec<json::Value>) where T: KiteTickerHandler { println!("{:?}", tick); println!("Fellow on_ticks callback"); } fn on_close<T>(&mut self, ws: &mut WebSocketHandler<T>) where T: KiteTickerHandler { println!("Fellow on_close callback"); } fn on_error<T>(&mut self, ws: &mut WebSocketHandler<T>) where T: KiteTickerHandler { println!("Fellow on_error callback"); } } fn main() { let mut ticker = KiteTicker::new("<API-KEY>", "<ACCESS-TOKEN>"); let custom_handler = CustomHandler { count: 0 }; ticker.connect(custom_handler, None); loop {}
Modules
connect | |
ticker |