Skip to main content

Crate catzconnect

Crate catzconnect 

Source
Expand description

§CatzConnect SDK (Rust)

A secure, minimal SDK for sending encrypted communication requests (e.g., email OTP, Transactional) to the CatzConnect API.

§Quick start

# Cargo.toml
[dependencies]
catzconnect = "1.0.3"
tokio   = { version = "1", features = ["full"] }
dotenvy = "0.15"
use catzconnect::{CatzConnect, types::{Channel, MessageType, SendInput, SendPayload, Template}};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    dotenvy::dotenv().ok();

    let resp = CatzConnect::send(SendInput {
        message_type: MessageType::Verification,
        channel:      Channel::Email,
        template:     Template::Otp,
        identity:     "user@domain.com".to_string(),
        payload: SendPayload {
            to:  Some("user@example.com".into()),
            otp: Some("123456".into()),
            subject: None,
            body: None,
        },
    }, None)
    .await?;

    println!("{resp}");
    Ok(())
}
use catzconnect::{CatzConnect, types::{Channel, MessageType, SendInput, SendPayload, Template}};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    dotenvy::dotenv().ok();

    let resp = CatzConnect::send(SendInput {
        message_type: MessageType::Transactional,
        channel:      Channel::Email,
        template:     Template::Custom,
        identity:     "user@domain.com".to_string(),
        payload: SendPayload {
            to:  Some("user@example.com".into()),
            otp: None,
            subject: Some("hello world".into()),
            body: Some("welcome to catzconnect".into()),
        },
    }, None)
    .await?;

    println!("{resp}");
    Ok(())
}

Re-exports§

pub use error::CatzError;

Modules§

error
types

Structs§

CatzConnect