1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// Generated automatically by schema_generator.rs - DO NOT EDIT.
// Source: ./deriv-api-docs/config/v3/p2p_advert_list/send.json
// Use direct crate names for imports
use serde::{Deserialize, Serialize};
use serde_json::Value;
// Import required types from the *same* crate
use crate::hide_ineligible::HideIneligible;
use crate::hide_client_schedule_unavailable::HideClientScheduleUnavailable;
use crate::use_client_limits::UseClientLimits;
use crate::counterparty_type::CounterpartyType;
use crate::sort_by::SortBy;
use crate::block_trade::BlockTrade;
use crate::favourites_only::FavouritesOnly;
/// Returns available adverts for use with `p2p_order_create` .
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub struct P2pAdvertListRequest {
/// [Optional] ID of the advertiser to list adverts for.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub advertiser_id: Option<String>,
/// [Optional] Search for advertiser by name. Partial matches will be returned.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub advertiser_name: Option<String>,
/// [Optional] How much to buy or sell, used to calculate prices.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub amount: Option<String>,
/// [Optional] Return block trade adverts when 1, non-block trade adverts when 0 (default).\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub block_trade: Option<BlockTrade>,
/// [Optional] Filter the adverts by `counterparty_type`.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub counterparty_type: Option<CounterpartyType>,
/// [Optional] Only show adverts from favourite advertisers. Default is 0.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub favourites_only: Option<FavouritesOnly>,
/// [Optional] If set to 1, adverts for which the current user's shcedule does not have availability from now until the full possible order expiry are not returned.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub hide_client_schedule_unavailable: Option<HideClientScheduleUnavailable>,
/// [Optional] If set to 1, adverts for which the current user does not meet counteryparty terms are not returned.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub hide_ineligible: Option<HideIneligible>,
/// [Optional] Used for paging.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i64>,
/// [Optional] Currency to conduct payment transaction in. If not provided, only ads from country of residence will be returned.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub local_currency: Option<String>,
/// [Optional] The login id of the user. Mandatory when multiple tokens were provided during authorize.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub loginid: Option<String>,
/// [Optional] Used for paging.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
/// Must be 1\n
// Correct serde attribute construction - Use helper
pub p2p_advert_list: i64,
/// [Optional] Used to pass data through the websocket, which may be retrieved via the `echo_req` output field.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub passthrough: Option<Value>,
/// [Optional] Search by supported payment methods.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_method: Option<Vec<String>>,
/// [Optional] Used to map request to response.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub req_id: Option<i64>,
/// [Optional] How the results are sorted.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub sort_by: Option<SortBy>,
/// [Optional] If set to 1, ads that exceed this account's balance or turnover limits will not be shown.\n
// Correct serde attribute construction - Use helper
#[serde(skip_serializing_if = "Option::is_none")]
pub use_client_limits: Option<UseClientLimits>,
}