Expand description
§Sendly Rust SDK
Official Rust client for the Sendly SMS API.
§Quick Start
use sendly::{Sendly, SendMessageRequest};
#[tokio::main]
async fn main() -> Result<(), sendly::Error> {
let client = Sendly::new("sk_live_v1_your_api_key");
let message = client.messages()
.send(SendMessageRequest::new("+15551234567", "Hello from Sendly!"))
.await?;
println!("Message sent: {}", message.id);
Ok(())
}§Webhooks Management
use sendly::Sendly;
#[tokio::main]
async fn main() -> Result<(), sendly::Error> {
let client = Sendly::new("sk_live_v1_your_api_key");
// Create a webhook
let response = client.webhooks().create(
"https://example.com/webhook",
vec!["message.delivered", "message.failed"],
).await?;
println!("Webhook secret: {}", response.secret);
Ok(())
}§Account & Credits
use sendly::Sendly;
#[tokio::main]
async fn main() -> Result<(), sendly::Error> {
let client = Sendly::new("sk_live_v1_your_api_key");
let credits = client.account().credits().await?;
println!("Available credits: {}", credits.available_balance);
Ok(())
}Re-exports§
pub use business_upgrade::BusinessUpgradeResource;
Modules§
- business_
upgrade - Business Upgrade Resource — Entity-Upgrade (“fork-with-new-number”)
- webhooks
- Sendly Webhook Helpers
Structs§
- Account
- Account information.
- Account
Limits - Account rate limits.
- Account
Resource - Account resource for managing account information and credits.
- Account
Verification - Account verification status.
- AddContacts
Request - AddLabels
Request - Request to add labels to a conversation.
- AiMetadata
- AI classification metadata for an inbound message.
- Analytics
Overview - Analytics
Period - ApiKey
- An API key.
- Auto
TopUp Settings - Available
Number - A number available to buy.
monthly_costis already priced for your account (a display string). - Available
Numbers Response - Response from
NumbersResource::list_available. - Batch
List - Paginated list of batches.
- Batch
Message Item - A single message in a batch request.
- Batch
Message Response - Response from sending batch messages.
- Batch
Message Result - Result of a single message in a batch.
- Batch
Preview Item - A single message in a batch preview.
- Batch
Preview Response - Response from previewing a batch (dry run).
- Billing
Breakdown - Billing
Breakdown Options - Billing
Breakdown Summary - Bulk
Mark Valid Request - Request body for
contacts.bulk_mark_valid. Pass either an explicit id array (up to 10,000 per call) OR alist_id, not both. Foreign ids silently no-op via the per-organization filter. - Bulk
Mark Valid Response - Response from
contacts.bulk_mark_valid. Reports how many contacts actually had their invalid flag cleared. Already-clean contacts and foreign ids don’t count. - Bulk
Provision Request - Bulk
Provision Result - Bulk
Provision Result Item - Bulk
Provision Summary - Bulk
Provision Workspace - BuyNumber
Request - Request body for
NumbersResource::buy. - BuyNumber
Response - Response from
NumbersResource::buy. - Campaign
- Campaign
List Response - Campaign
Preview - Campaigns
Resource - Cancel
Invitation Response - Cancel
Scheduled Message Response - Response from cancelling a scheduled message.
- Check
Numbers Request - Check
Numbers Response - Check
Verification Request - Check
Verification Response - Contact
- Contact
List - Contact
List Response - Contact
Lists Resource - Contact
Lists Response - Contacts
Resource - Conversation
- An SMS conversation thread.
- Conversation
Context Business - Conversation
Context Info - Conversation
Context Response - Conversation
List Response - Response from listing conversations.
- Conversation
Messages - Messages within a conversation.
- Conversation
Pagination - Pagination info for conversation lists.
- Conversation
With Messages - A conversation with its messages.
- Conversations
Resource - Conversations resource for managing SMS conversation threads.
- Create
ApiKey Request - Request to create an API key.
- Create
ApiKey Response - Response from creating an API key.
- Create
Campaign Request - Create
Contact List Request - Create
Contact Request - Create
Draft Request - Request to create a draft.
- Create
Label Request - Request to create a label.
- Create
OptIn Page Request - Create
OptIn Page Response - Create
Rule Request - Create
Session Request - Create
Short Link Request - Request to mint a branded short link.
- Create
Short Link Response - A newly minted branded short link.
- Create
Template Request - Create
TenDlc Brand Request - Request body for
TenDlcResource::create_brand. - Create
TenDlc Campaign Request - Request body for
TenDlcResource::create_campaign. - Create
Webhook Request - Request to create a webhook.
- Create
Workspace KeyRequest - Create
Workspace Request - Credit
Data Point - Credit
Transaction - A credit transaction.
- Credit
Transaction List - List of credit transactions.
- Credits
- Credit balance information.
- Credits
Analytics - Delete
OptIn Page Response - Delete
Template Response - Delete
Workspace Response - Delivery
ByWorkspace - Deposit
Credits Request - DnsInstructions
- DnsRecord
- Draft
List Response - Response from listing drafts.
- Draft
Pagination - Pagination info for draft lists.
- Drafts
Resource - Drafts resource for managing message drafts.
- Enhance
Message Request - Request to AI-enhance a draft message. Provide
text,message_type, or both — at least one is required. - Enhance
Message Response - Result of an AI message enhancement.
- Enterprise
Account - Enterprise
Resource - Enterprise
Webhook - Enterprise
Webhook Test Result - Enterprise
Workspace - Enterprise
Workspace Detail - Enterprise
Workspace Summary - Enterprise
Workspace Verification - Generate
Business Page Request - Generate
Business Page Response - Generate
Template Request - Generated
Template - GetConversation
Options - Options for getting a single conversation.
- Group
Message Response - Response from sending a group MMS.
- Import
Contact Item - Import
Contacts Error - Import
Contacts Request - Import
Contacts Response - Inherit
Verification Request - Inherit
Verification Response - Invitation
- Label
- A conversation label.
- Label
List Response - Response from listing labels.
- Labels
Resource - Labels resource for managing conversation labels.
- Links
Resource - Links resource for branded URL shortening.
- List
Available Numbers Options - Options for
NumbersResource::list_available. - List
Batches Options - Options for listing batches.
- List
Campaigns Options - List
Contacts Options - List
Conversations Options - Options for listing conversations.
- List
Deliveries Options - Options for listing webhook deliveries.
- List
Drafts Options - Options for listing drafts.
- List
Messages Options - Options for listing messages.
- List
Scheduled Messages Options - Options for listing scheduled messages.
- List
Short Links Options - Options for listing short links.
- List
Templates Options - List
Transactions Options - Options for listing transactions.
- List
Verifications Options - Media
- Media
File - An uploaded media file.
- Message
- An SMS message.
- Message
Data Point - Message
Draft - A message draft.
- Message
List - Paginated list of messages.
- Messages
- Messages resource for sending and managing SMS.
- Messages
Analytics - Number
BuyAction - Hosted-page hand-off returned when a buy needs the user to finish a step.
- Number
Countries Response - Response from
NumbersResource::list_countries. - Number
Country - A country Sendly can provision numbers in.
- Numbers
Resource - Numbers resource — discover, buy, and list phone numbers.
- OptIn
Page - Owned
Number - A phone number you own.
- Owned
Numbers Response - Response from
NumbersResource::list. - Pagination
- Pool
Credits - Provision
Workspace Request - Provision
Workspace Response - Quota
Settings - Reject
Draft Request - Request to reject a draft.
- Release
Number Response - Response from
NumbersResource::release. - Reply
ToConversation Request - Request to reply to a conversation.
- Resume
Workspace Response - Revoke
KeyResponse - Rotate
ApiKey Request - Request to rotate an API key.
- Rotate
ApiKey Response - Response from rotating an API key (see [
AccountResource::rotate_api_key]). - Rotated
ApiKey - A rotated (newly issued) API key: every
ApiKeyfield plus the one-time raw secret and a caution to store it. - Rule
- Rule
List Response - Rules
Resource - Rules resource for managing auto-labeling rules.
- Schedule
Campaign Request - Schedule
Message Request - Request to schedule an SMS message.
- Scheduled
Message - A scheduled SMS message.
- Scheduled
Message List - Paginated list of scheduled messages.
- Send
Batch Request - Request to send batch messages.
- Send
Group Message Request - Request to send a group MMS to 2-8 recipients (US/Canada only).
- Send
Invitation Request - Send
Message Request - Request to send an SMS message.
- Send
Verification Request - Send
Verification Response - Sendly
- Sendly API client.
- Sendly
Config - Configuration for the Sendly client.
- Sessions
Resource - SetCustom
Domain Request - SetCustom
Domain Response - SetEnterprise
Webhook Request - SetWorkspace
Webhook Request - SetWorkspace
Webhook Response - Short
Link - A short link with click analytics, as returned by
ShortLinkListResponse. - Short
Link List Response - Response from listing short links.
- Submit
Verification Response - Suggest
Replies Response - Response from
conversations.suggest_replies(). - Suggested
Reply - A single AI-generated suggested reply.
- Suspend
Workspace Request - Suspend
Workspace Response - Template
- Template
List - Template
Pagination - Templates
Resource - TenDlc
Assignment - A phone number assigned to a campaign.
- TenDlc
Assignment List Response - Response from
TenDlcResource::list_assignments. - TenDlc
Assignment Response - Response from
TenDlcResource::assign_number. - TenDlc
Brand - A business identity registered for carrier review.
- TenDlc
Brand List Response - Response from
TenDlcResource::list_brands. - TenDlc
Brand Response - Response from
TenDlcResource::create_brandandTenDlcResource::get_brand. - TenDlc
Campaign - A messaging campaign registered for carrier review.
- TenDlc
Campaign List Response - Response from
TenDlcResource::list_campaigns. - TenDlc
Campaign Response - Response from
TenDlcResource::create_campaignandTenDlcResource::get_campaign. - TenDlc
Qualify Response - Response from
TenDlcResource::qualify. - TenDlc
Qualify Result - Result of a use-case qualification pre-check.
- TenDlc
Resource - 10DLC resource — register your business for carrier review and text from local US numbers.
- TenDlc
Throughput - Throughput detail for a campaign or use-case qualification.
- Transfer
Credits Request - Transfer
Credits Response - Update
Auto TopUp Request - Update
Campaign Request - Update
Contact List Request - Update
Contact Request - Update
Conversation Request - Request to update a conversation.
- Update
Draft Request - Request to update a draft.
- Update
Number Request - Request body for
NumbersResource::update. - Update
OptIn Page Request - Update
Quota Request - Update
Rule Request - Update
Short Link Request - Request to enable or disable a short link.
- Update
Short Link Response - Response from enabling or disabling a short link.
- Update
Template Request - Update
Webhook Request - Request to update a webhook.
- Validate
Session Request - Validate
Session Response - Verification
- Verification
Address - Verification
Contact - Verification
Document Upload Response - Verification
List - Verification
Submit Input - Verification submit/resubmit payload. All fields optional for resubmits
(server merges with existing record). For initial provision via
submit_verification(no existing record), the server validator requires:business_name,website,address,contact,use_case,use_case_summary,sample_messages,opt_in_workflow. - Verify
Resource - Verify
Session - Webhook
- A webhook configuration.
- Webhook
Created Response - Response from creating a webhook (includes secret).
- Webhook
Delivery - A webhook delivery attempt.
- Webhook
Delivery List - List of webhook deliveries.
- Webhook
Secret Rotation - Response from rotating a webhook secret.
- Webhook
Test Result - Result from testing a webhook.
- Webhooks
Resource - Webhooks resource for managing webhook endpoints.
- Workspace
Billing Item - Workspace
Credits - Workspace
Key - Workspace
KeyResponse - Workspace
Transfer Credits Request - Workspace
Transfer Credits Response - Workspace
Verification Status - Workspace
Webhook Config - Workspace
Webhook Test Result
Enums§
- Batch
Status - Status of a message batch.
- Campaign
Status - Circuit
State - Circuit breaker state for webhooks.
- Conversation
Status - Conversation status.
- Delivery
Status - Draft
Status - Draft status.
- Error
- Errors that can occur when using the Sendly SDK.
- Message
Direction - Message direction.
- Message
Status - Message delivery status.
- Message
Type - Message type for compliance handling.
- Scheduled
Message Status - Status of a scheduled message.
- Sender
Type - Sender type.
- Session
Status - Template
Type - Transaction
Type - Credit transaction type.
- Verification
Status - Webhook
Mode - Webhook mode for event filtering.
Type Aliases§
- Result
- Result type for Sendly operations.
- Submit
Verification Request - Backwards-compatible alias. New code should use
VerificationSubmitInput.