clicksend-rs 0.1.1

Unofficial ClickSend SDK for Rust (async + optional blocking).
Documentation
#![warn(missing_docs)]

//! Unofficial ClickSend SDK for Rust.
//!
//! Async by default. Enable the `blocking` feature for a sync mirror that
//! does not pull in tokio at runtime (it uses [`reqwest::blocking`]).
//!
//! ```no_run
//! # async fn run() -> Result<(), clicksend_rs::ClickSendError> {
//! use clicksend_rs::{Client, SmsMessage, SmsMessageCollection};
//! use std::time::Duration;
//!
//! let client = Client::builder("user", "key")
//!     .timeout(Duration::from_secs(15))
//!     .build()?;
//!
//! let coll = SmsMessageCollection::new(vec![
//!     SmsMessage::new("+1234567890", "hello"),
//! ]);
//! let est = client.sms().price(&coll).await?;
//! # let _ = est;
//! # Ok(()) }
//! ```

pub mod client;
pub mod errors;
pub mod types;
pub mod webhook;

#[cfg(feature = "blocking")]
pub mod blocking;

pub use client::{
    AccountApi, Client, ClientBuilder, EmailApi, MmsApi, RetryConfig, SmsApi, VoiceApi,
};
pub use errors::ClickSendError;
pub use types::{
    AccountData, ApiEnvelope, Currency, DeliveryReceiptWebhook, Email, EmailFrom, EmailRecipient,
    InboundSmsWebhook, MmsMessage, MmsMessageCollection, Paginated, SmsHistoryItem,
    SmsInboundItem, SmsMessage, SmsMessageCollection, SmsReceiptItem, SmsSendData,
    SmsSendMessageResult, VoiceMessage, VoiceMessageCollection,
};

#[cfg(feature = "blocking")]
pub use blocking::{BlockingClient, BlockingClientBuilder};