use infobip_sms::models::send::{
SmsMessage, SmsMessageContent, SmsRequest, SmsTextMessageContent, SmsToDestination,
};
use infobip_sms::{Auth, Client};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let base_url = std::env::var("INFOBIP_BASE_URL")?;
let api_key = std::env::var("INFOBIP_API_KEY")?;
let to = std::env::var("INFOBIP_TO").unwrap_or_else(|_| "41793026727".into());
let client = Client::builder()
.base_url(base_url)
.auth(Auth::api_key(api_key))
.build()?;
let request = SmsRequest {
messages: vec![SmsMessage {
sender: Some("InfoSMS".into()),
destinations: vec![SmsToDestination {
to,
..Default::default()
}],
content: SmsMessageContent::Text(SmsTextMessageContent {
text: "Hello from the Rust SDK!".into(),
..Default::default()
}),
..Default::default()
}],
options: None,
};
let response = client.send_messages(&request).await?;
println!("{response:#?}");
Ok(())
}