1 unstable release
Uses old Rust 2015
0.1.0 | Apr 5, 2018 |
---|
#34 in #sms
23KB
438 lines
africastalking-rust
A Rust library for communicating with the Africa's Talking REST API.
installation
cargo install --git https://github.com/rust-nairobi/africastalking-rust
sending a message
extern crate africastalking_gateway;
use std::env;
use africastalking_gateway::AfricasTalkingGateway;
pub fn main() {
let username = "your-account-username";
let apikey = "your-api-key";
let env = "sandbox";
let gway = AfricasTalkingGateway::new(&username, &apikey, env);
println!(
"{}",
gway.send_message(
"+254702xxxxxx",
"hello Rustacean",
None, // these are optional parameters
None,
None,
None,
None,
None
).unwrap()
);
}
fetching messages
extern crate africastalking_gateway;
use std::env;
use africastalking_gateway::AfricasTalkingGateway;
pub fn main() {
let username = "your-account-username";
let apikey = "your-api-key";
let env = "sandbox";
let gway = AfricasTalkingGateway::new(&username, &apikey, &env);
println!("{}", gway.fetch_messages(0).unwrap());
}
making a voice call
extern crate africastalking_gateway;
extern crate serde_json;
use std::env;
use africastalking_gateway::AfricasTalkingGateway;
pub fn main() {
let username = "your-account-username";
let apikey = "your-api-key";
let env = "sandbox";
let gway = AfricasTalkingGateway::new(&username, &apikey, &env);
println!("{:?}", gateway.call("+254702xxxxxx", "+254702xxxxxx"));
// check queue status
println!("{:?}", gateway.get_queued_calls("+254702xxxxxx", None));
}
sending airtime
extern crate africastalking_gateway;
#[macro_use]
extern crate serde_json;
use std::env;
use africastalking_gateway::AfricasTalkingGateway;
pub fn main() {
let username = "your-account-username";
let apikey = "your-api-key";
let env = "sandbox";
let gway = AfricasTalkingGateway::new(&username, &apikey, &env);
let recipients = json!([
{
"phoneNumber": "+254702xxxxxx",
"amount": "KES 500"
}
]);
println!("{:?}", gateway.send_airtime(recipients));
}
license
This project is license used the MIT license. See LICENSE for more details.
Dependencies
~17–27MB
~487K SLoC