messagebird-async

MessageBird is a service for sending SMS at its core https://www.messagebird.com/

Example

Send a SMS Message

Sending a sms to a specified target is implemented in examples/send.rs:

sh export MESSAGEBIRD_ACCESSKEY=abio8usad..dfahdk export SMS_RECIPIENT=1234556

The SMS_RECIPIENT should NOT contain leading zeros nor the +. The countrycode is still necessary.

sh cargo run --example send

or copy & paste:

```rust

[macro_use]

extern crate log; extern crate envlogger; extern crate futures; extern crate messagebirdasync; extern crate tokio_core;

use futures::future::Future; use messagebirdasync::errors::*; use messagebirdasync::sms; use messagebird_async::sms::*;

fn main() -> Result<(), MessageBirdError> { env_logger::init();

let msisdn_str = std::env::var("SMS_RECIPIENT".to_string())
    .expect("SMS_RECIPIENT should contain the number without prefix");
let msisdn: Msisdn = Msisdn::from_str(msisdn_str.as_str())
    .expect("SMS_RECIPIENT did not contain a valid number");

info!("example: sending a message");
let sendable = sms::send::SendParameters::builder()
    .payload(
        PayloadType::Sms,
        Payload::Text("fun".to_string()),
        PayloadEncoding::Auto,
    )
    .origin(AlphaNumeric("inbox".to_string()).into())
    .add_recipient(msisdn.into())
    //.add_recipient(Recipient::new())
    .build();

let accesskey = AccessKey::from_env()?;
let fut = RequestSend::new(&sendable, &accesskey);
let fut = fut.and_then(|sent_msg: Message| {
    info!("{:?}", sent_msg);
    futures::future::ok(())
});
let mut core = tokio_core::reactor::Core::new().unwrap();
core.run(fut.map(|_| ()))

} ```

Features

Currently the planned features only include to send SMS and query SMS stati.

RoadMap

MessageBird APIs

* = not planned, unless external contributors step up

License

MIT or Apache-2.0

If neither of those works for you, feel free to request so via a github issue.

Donations

Since I am not affiliated with MessageBird in any kind (other than being their customer) I'd be delighted if you'd leave a tipp

LiberaPayButton