dhan_rs/api/statements.rs
1//! Statement endpoints — Ledger Report, Trade History.
2
3use crate::client::DhanClient;
4use crate::error::Result;
5use crate::types::statements::*;
6
7impl DhanClient {
8 /// Retrieve Trading Account Ledger Report for a date range.
9 ///
10 /// Dates should be in `YYYY-MM-DD` format.
11 ///
12 /// **Endpoint:** `GET /v2/ledger?from-date={from}&to-date={to}`
13 pub async fn get_ledger(&self, from_date: &str, to_date: &str) -> Result<Vec<LedgerEntry>> {
14 let path = format!("/v2/ledger?from-date={from_date}&to-date={to_date}");
15 self.get(&path).await
16 }
17
18 /// Retrieve historical trade data for a date range.
19 ///
20 /// Dates should be in `YYYY-MM-DD` format. Use `page = 0` as default.
21 /// The response is paginated.
22 ///
23 /// **Endpoint:** `GET /v2/trades/{from-date}/{to-date}/{page}`
24 pub async fn get_trade_history(
25 &self,
26 from_date: &str,
27 to_date: &str,
28 page: u32,
29 ) -> Result<Vec<TradeHistoryEntry>> {
30 let path = format!("/v2/trades/{from_date}/{to_date}/{page}");
31 self.get(&path).await
32 }
33}