highlevel-api 0.2.0

Unofficial Rust SDK for the GoHighLevel (HighLevel) API
Documentation
#[derive(Debug, Clone)]
pub struct HighLevelConfig {
    pub client_id: String,
    pub client_secret: String,
    /// API version header sent with every request (e.g. "2021-07-28")
    pub api_version: String,
    pub base_url: String,
    pub redirect_uri: Option<String>,
}

impl Default for HighLevelConfig {
    fn default() -> Self {
        Self {
            client_id: String::new(),
            client_secret: String::new(),
            api_version: "2021-07-28".to_string(),
            base_url: "https://services.leadconnectorhq.com".to_string(),
            redirect_uri: None,
        }
    }
}

impl HighLevelConfig {
    pub fn new(client_id: impl Into<String>, client_secret: impl Into<String>) -> Self {
        Self {
            client_id: client_id.into(),
            client_secret: client_secret.into(),
            ..Default::default()
        }
    }

    pub fn with_redirect_uri(mut self, redirect_uri: impl Into<String>) -> Self {
        self.redirect_uri = Some(redirect_uri.into());
        self
    }

    pub fn with_api_version(mut self, version: impl Into<String>) -> Self {
        self.api_version = version.into();
        self
    }
}