SMS Core
Core traits and types for the smskit multi-provider SMS abstraction.
This crate provides the fundamental building blocks for SMS operations:
- [
SmsClient] trait for sending SMS messages - [
InboundWebhook] trait for processing incoming webhooks - [
SmsRouter] for dispatching sends to named providers - [
FallbackClient] for try-in-order provider chaining - Common types for requests, responses, and errors
Sending a message
use ;
// Any SMS provider implements SmsClient
let response = client.send.await?;
Owned requests for async contexts
When you need to hold a request across .await points, use [OwnedSendRequest]:
use OwnedSendRequest;
let req = new;
// Can be moved across .await boundaries freely
let response = client.send.await?;
Routing to named providers
use SmsRouter;
let router = new
.with
.with;
// Dispatch by name — callers don't need provider crate imports
let response = router.send_via.await?;
Fallback chaining
use FallbackClient;
let client = new;
// Tries each provider in order; returns first success
let response = client.send.await?;