sendly/lib.rs
1//! # Sendly Rust SDK
2//!
3//! Official Rust client for the Sendly SMS API.
4//!
5//! ## Quick Start
6//!
7//! ```rust,no_run
8//! use sendly::{Sendly, SendMessageRequest};
9//!
10//! #[tokio::main]
11//! async fn main() -> Result<(), sendly::Error> {
12//! let client = Sendly::new("sk_live_v1_your_api_key");
13//!
14//! let message = client.messages().send(SendMessageRequest {
15//! to: "+15551234567".to_string(),
16//! text: "Hello from Sendly!".to_string(),
17//! }).await?;
18//!
19//! println!("Message sent: {}", message.id);
20//! Ok(())
21//! }
22//! ```
23//!
24//! ## Webhooks Management
25//!
26//! ```rust,no_run
27//! use sendly::Sendly;
28//!
29//! #[tokio::main]
30//! async fn main() -> Result<(), sendly::Error> {
31//! let client = Sendly::new("sk_live_v1_your_api_key");
32//!
33//! // Create a webhook
34//! let response = client.webhooks().create(
35//! "https://example.com/webhook",
36//! vec!["message.delivered", "message.failed"],
37//! ).await?;
38//!
39//! println!("Webhook secret: {}", response.secret);
40//! Ok(())
41//! }
42//! ```
43//!
44//! ## Account & Credits
45//!
46//! ```rust,no_run
47//! use sendly::Sendly;
48//!
49//! #[tokio::main]
50//! async fn main() -> Result<(), sendly::Error> {
51//! let client = Sendly::new("sk_live_v1_your_api_key");
52//!
53//! let credits = client.account().credits().await?;
54//! println!("Available credits: {}", credits.available_balance);
55//! Ok(())
56//! }
57//! ```
58
59mod account_resource;
60mod client;
61mod error;
62mod messages;
63mod models;
64mod webhook_resource;
65
66pub mod webhooks;
67
68pub use account_resource::AccountResource;
69pub use client::{Sendly, SendlyConfig};
70pub use error::{Error, Result};
71pub use messages::Messages;
72pub use models::*;
73pub use webhook_resource::WebhooksResource;