Skip to main content

highlevel_api/apis/funnels/
types.rs

1use 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}