Skip to main content

Crate klozeo

Crate klozeo 

Source
Expand description

§klozeo

Official Rust SDK for the Klozeo Lead Management API.

§Quick Start

use klozeo::{Client, LeadInput};

#[tokio::main]
async fn main() -> Result<(), klozeo::Error> {
    let client = Client::new("sk_live_your_api_key");

    // Create a lead
    let resp = client.leads().create(
        LeadInput::builder()
            .name("Acme Corporation")
            .source("website")
            .city("San Francisco")
            .email("contact@acme.com")
            .rating(4.5)
            .tags(vec!["enterprise".into(), "saas".into()])
            .build(),
    ).await?;

    println!("Created: {}", resp.id);
    Ok(())
}

§Filtering

use klozeo::filters::{city, rating};
use klozeo::types::{ListOptions, SortField, SortOrder};

let result = client.leads().list(
    ListOptions::builder()
        .filter(city().eq("Berlin"))
        .filter(rating().gte(4.0))
        .sort(SortField::Rating, SortOrder::Desc)
        .limit(20)
        .build(),
).await?;

§Streaming

use futures::StreamExt;
use klozeo::filters::city;
use klozeo::types::ListOptions;

let mut stream = client.leads().stream(
    ListOptions::builder().filter(city().eq("Berlin")).build()
);
while let Some(result) = stream.next().await {
    println!("{}", result?.name);
}

Re-exports§

pub use client::Client;
pub use client::ClientConfig;
pub use errors::ApiError;
pub use errors::Error;
pub use types::Attribute;
pub use types::AttributeResponse;
pub use types::BatchCreateResult;
pub use types::BatchCreatedItem;
pub use types::BatchErrorItem;
pub use types::BatchResult;
pub use types::BatchResultItem;
pub use types::CreateResponse;
pub use types::ExportFormat;
pub use types::ExportOptions;
pub use types::ExportOptionsBuilder;
pub use types::LeadInput;
pub use types::LeadInputBuilder;
pub use types::LeadResponse;
pub use types::ListOptions;
pub use types::ListOptionsBuilder;
pub use types::ListResult;
pub use types::Note;
pub use types::RateLimitState;
pub use types::ScoreResponse;
pub use types::ScoringRule;
pub use types::ScoringRuleInput;
pub use types::SortField;
pub use types::SortOrder;
pub use types::UpdateLeadInput;
pub use types::UpdateLeadInputBuilder;
pub use types::Webhook;
pub use types::WebhookInput;

Modules§

client
errors
filters
resources
types