deriv_api/api/
subscription_calls.rs

1
2// Code generated by generate_calls.rs, DO NOT EDIT.
3use crate::client::DerivClient;
4use crate::error::Result;
5use deriv_api_schema::*;
6use crate::subscription::Subscription;
7
8impl DerivClient {
9
10/// Subscribe to Creates a P2P order for the specified advert.
11pub async fn subscribe_p_2_p_order_create(&self, request: deriv_api_schema::P2pOrderCreateRequest) -> Result<(deriv_api_schema::P2pOrderCreateResponse, Subscription<deriv_api_schema::P2pOrderInfoResponse>)> {
12    let mut request = request;
13    request.subscribe = Some(1);
14    self.create_subscription(&mut request, "p2p_order").await
15}
16
17/// Subscribe to Subscribe to transaction notifications
18pub async fn subscribe_transaction(&self, request: deriv_api_schema::TransactionRequest) -> Result<(deriv_api_schema::TransactionResponse, Subscription<deriv_api_schema::TransactionResponse>)> {
19    let mut request = request;
20    request.subscribe = 1;
21    self.create_subscription(&mut request, "transaction").await
22}
23
24/// Subscribe to Initiate a continuous stream of spot price updates for a group symbols.
25pub async fn subscribe_ticks_batch(&self, request: deriv_api_schema::TicksBatchRequest) -> Result<(deriv_api_schema::TicksBatchResponse, Subscription<deriv_api_schema::TicksBatchResponse>)> {
26    let mut request = request;
27    request.subscribe = Some(1);
28    self.create_subscription(&mut request, "tick").await
29}
30
31/// Subscribe to Initiate a continuous stream of spot price updates for a given symbol.
32pub async fn subscribe_ticks(&self, request: deriv_api_schema::TicksRequest) -> Result<(deriv_api_schema::TicksResponse, Subscription<deriv_api_schema::TicksResponse>)> {
33    let mut request = request;
34    request.subscribe = Some(1);
35    self.create_subscription(&mut request, "tick").await
36}
37
38/// Subscribe to Retrieve information about a P2P advert.
39pub async fn subscribe_p_2_p_advert_info(&self, request: deriv_api_schema::P2pAdvertInfoRequest) -> Result<(deriv_api_schema::P2pAdvertInfoResponse, Subscription<deriv_api_schema::P2pAdvertInfoResponse>)> {
40    let mut request = request;
41    request.subscribe = Some(1);
42    self.create_subscription(&mut request, "p2p_advert").await
43}
44
45/// Subscribe to Request P2P Settings information.
46pub async fn subscribe_p_2_p_settings(&self, request: deriv_api_schema::P2pSettingsRequest) -> Result<(deriv_api_schema::P2pSettingsResponse, Subscription<deriv_api_schema::P2pSettingsResponse>)> {
47    let mut request = request;
48    request.subscribe = Some(1);
49    self.create_subscription(&mut request, "p2p_settings").await
50}
51
52/// Subscribe to List active orders.
53pub async fn subscribe_p_2_p_order_list(&self, request: deriv_api_schema::P2pOrderListRequest) -> Result<(deriv_api_schema::P2pOrderListResponse, Subscription<deriv_api_schema::P2pOrderInfoResponse>)> {
54    let mut request = request;
55    request.subscribe = Some(1);
56    self.create_subscription(&mut request, "p2p_order").await
57}
58
59/// Subscribe to Request server status.
60pub async fn subscribe_website_status(&self, request: deriv_api_schema::WebsiteStatusRequest) -> Result<(deriv_api_schema::WebsiteStatusResponse, Subscription<deriv_api_schema::WebsiteStatusResponse>)> {
61    let mut request = request;
62    request.subscribe = Some(deriv_api_schema::Subscribe::Value1);
63    self.create_subscription(&mut request, "website_status").await
64}
65
66/// Subscribe to Retrieve information about a P2P advertiser.
67pub async fn subscribe_p_2_p_advertiser_info(&self, request: deriv_api_schema::P2pAdvertiserInfoRequest) -> Result<(deriv_api_schema::P2pAdvertiserInfoResponse, Subscription<deriv_api_schema::P2pAdvertiserInfoResponse>)> {
68    let mut request = request;
69    request.subscribe = Some(1);
70    self.create_subscription(&mut request, "p2p_advertiser").await
71}
72
73/// Subscribe to Get user account balance
74pub async fn subscribe_balance(&self, request: deriv_api_schema::BalanceRequest) -> Result<(deriv_api_schema::BalanceResponse, Subscription<deriv_api_schema::BalanceResponse>)> {
75    let mut request = request;
76    request.subscribe = Some(deriv_api_schema::Subscribe::Value1);
77    self.create_subscription(&mut request, "balance").await
78}
79
80/// Subscribe to Retrieves the information about a P2P order.
81pub async fn subscribe_p_2_p_order_info(&self, request: deriv_api_schema::P2pOrderInfoRequest) -> Result<(deriv_api_schema::P2pOrderInfoResponse, Subscription<deriv_api_schema::P2pOrderInfoResponse>)> {
82    let mut request = request;
83    request.subscribe = Some(1);
84    self.create_subscription(&mut request, "p2p_order").await
85}
86
87/// Subscribe to Get the current estimations for cryptocurrencies. E.g. Withdrawal fee.
88pub async fn subscribe_crypto_estimations(&self, request: deriv_api_schema::CryptoEstimationsRequest) -> Result<(deriv_api_schema::CryptoEstimations, Subscription<deriv_api_schema::CryptoEstimations>)> {
89    let mut request = request;
90    request.subscribe = Some(1);
91    self.create_subscription(&mut request, "crypto_estimations").await
92}
93
94/// Subscribe to Gets latest price for a specific contract.
95pub async fn subscribe_proposal(&self, request: deriv_api_schema::ProposalRequest) -> Result<(deriv_api_schema::ProposalResponse, Subscription<deriv_api_schema::ProposalResponse>)> {
96    let mut request = request;
97    request.subscribe = Some("1".to_string());
98    self.create_subscription(&mut request, "proposal").await
99}
100
101/// Subscribe to Get historic tick data for a given symbol.
102pub async fn subscribe_ticks_history(&self, request: deriv_api_schema::TicksHistoryRequest) -> Result<(deriv_api_schema::TicksHistoryResponse, Subscription<deriv_api_schema::TicksHistoryResponse>)> {
103    let mut request = request;
104    request.subscribe = Some(1);
105    let msg_type = if let Some(style) = request.style.as_ref() { 
106        match style {
107            deriv_api_schema::Style::Candles => "candles",
108            _ => "history"
109        }
110    } else { 
111        "history" 
112    };
113    self.create_subscription(&mut request, msg_type).await
114}
115
116/// Subscribe to Buy a Contract
117pub async fn subscribe_buy(&self, request: deriv_api_schema::BuyRequest) -> Result<(deriv_api_schema::BuyResponse, Subscription<deriv_api_schema::ProposalOpenContractResponse>)> {
118    let mut request = request;
119    request.subscribe = Some(1);
120    self.create_subscription(&mut request, "proposal_open_contract").await
121}
122
123/// Subscribe to Get latest price (and other information) for a contract in the user's portfolio
124pub async fn subscribe_proposal_open_contract(&self, request: deriv_api_schema::ProposalOpenContractRequest) -> Result<(deriv_api_schema::ProposalOpenContractResponse, Subscription<deriv_api_schema::ProposalOpenContractResponse>)> {
125    let mut request = request;
126    request.subscribe = Some(1);
127    self.create_subscription(&mut request, "proposal_open_contract").await
128}
129
130/// Subscribe to Retrieves the exchange rate from a base currency to a target currency supported by the system.
131pub async fn subscribe_exchange_rates(&self, request: deriv_api_schema::ExchangeRatesRequest) -> Result<(deriv_api_schema::ExchangeRatesResponse, Subscription<deriv_api_schema::ExchangeRatesResponse>)> {
132    let mut request = request;
133    request.subscribe = Some(1);
134    self.create_subscription(&mut request, "exchange_rate").await
135}
136
137/// Subscribe to Registers the client as a P2P advertiser.
138pub async fn subscribe_p_2_p_advertiser_create(&self, request: deriv_api_schema::P2pAdvertiserCreateRequest) -> Result<(deriv_api_schema::P2pAdvertiserCreateResponse, Subscription<deriv_api_schema::P2pAdvertInfoResponse>)> {
139    let mut request = request;
140    request.subscribe = Some(1);
141    self.create_subscription(&mut request, "p2p_advertiser").await
142}
143}