highlevel_api/apis/funnels/
types.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct Funnel {
6 pub id: String,
7 pub name: String,
8 pub location_id: String,
9 #[serde(skip_serializing_if = "Option::is_none")]
10 pub date_added: Option<String>,
11 #[serde(skip_serializing_if = "Option::is_none")]
12 pub date_updated: Option<String>,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
16pub struct GetFunnelsResponse {
17 pub funnels: Vec<Funnel>,
18 pub count: Option<u64>,
19}
20
21#[derive(Debug, Clone, Serialize, Deserialize, Default)]
22#[serde(rename_all = "camelCase")]
23pub struct GetFunnelsParams {
24 pub location_id: String,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub category: Option<String>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub limit: Option<u32>,
29 #[serde(skip_serializing_if = "Option::is_none")]
30 pub offset: Option<u32>,
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub search: Option<String>,
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(rename_all = "camelCase")]
37pub struct FunnelPage {
38 pub id: String,
39 pub funnel_id: String,
40 pub name: String,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub url: Option<String>,
43 pub sequence: u32,
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
47pub struct GetFunnelPagesResponse {
48 pub pages: Vec<FunnelPage>,
49 pub count: Option<u64>,
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize, Default)]
53#[serde(rename_all = "camelCase")]
54pub struct GetFunnelPagesParams {
55 pub location_id: String,
56 pub funnel_id: String,
57 #[serde(skip_serializing_if = "Option::is_none")]
58 pub limit: Option<u32>,
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub offset: Option<u32>,
61}