konduto/types/
responses.rs1use super::*;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct OrderAnalysisResponse {
9 pub id: String,
11
12 pub recommendation: Recommendation,
14
15 pub score: f64,
17
18 #[serde(skip_serializing_if = "Option::is_none")]
20 pub status: Option<OrderStatus>,
21
22 #[serde(skip_serializing_if = "Option::is_none")]
28 pub device: Option<DeviceInfo>,
29
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub navigation: Option<NavigationInfo>,
33
34 #[serde(skip_serializing_if = "Option::is_none")]
36 pub geolocation: Option<GeolocationInfo>,
37
38 #[serde(skip_serializing_if = "Option::is_none")]
40 pub warnings: Option<Vec<String>>,
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
45pub struct DeviceInfo {
46 pub id: String,
48
49 #[serde(skip_serializing_if = "Option::is_none")]
51 pub is_trusted: Option<bool>,
52
53 #[serde(skip_serializing_if = "Option::is_none")]
55 pub orders_count: Option<i32>,
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
60pub struct NavigationInfo {
61 #[serde(skip_serializing_if = "Option::is_none")]
63 pub time: Option<i32>,
64
65 #[serde(skip_serializing_if = "Option::is_none")]
67 pub page_count: Option<i32>,
68}
69
70#[derive(Debug, Clone, Serialize, Deserialize)]
72pub struct GeolocationInfo {
73 #[serde(skip_serializing_if = "Option::is_none")]
75 pub country: Option<String>,
76
77 #[serde(skip_serializing_if = "Option::is_none")]
79 pub region: Option<String>,
80
81 #[serde(skip_serializing_if = "Option::is_none")]
83 pub city: Option<String>,
84}
85
86#[derive(Debug, Clone, Serialize, Deserialize)]
88pub struct OrderQueryResponse {
89 pub id: String,
91
92 pub recommendation: Recommendation,
94
95 pub score: f64,
97
98 pub status: OrderStatus,
100
101 #[serde(flatten)]
105 pub order_data: serde_json::Value,
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
110pub struct UpdateStatusResponse {
111 pub id: String,
113
114 pub status: OrderStatus,
116
117 #[serde(skip_serializing_if = "Option::is_none")]
119 pub message: Option<String>,
120}
121
122#[derive(Debug, Clone, Serialize, Deserialize)]
124pub struct ApiErrorResponse {
125 #[serde(skip_serializing_if = "Option::is_none")]
127 pub code: Option<String>,
128
129 pub message: String,
131
132 #[serde(skip_serializing_if = "Option::is_none")]
134 pub details: Option<serde_json::Value>,
135}