zipwhip-rs

Fast, asynchronous, and safe wrapper around the Zipwhip API

[![GitHub Actions](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fajmwagar%2Fzipwhip-rs%2Fbadge&label=build&logo=none)](https://actions-badge.atrox.dev/ajmwagar/zipwhip-rs/goto) [![crates.io](https://meritbadge.herokuapp.com/zipwhip-rs)](https://crates.io/crates/zipwhip-rs) [![Documentation](https://docs.rs/zipwhip-rs/badge.svg)](https://docs.rs/zipwhip-rs) [![Download](https://img.shields.io/crates/d/zipwhip-rs.svg)](https://crates.io/crates/zipwhip-rs) [![Version](https://img.shields.io/badge/rustc-1.40+-lightgray.svg)](https://blog.rust-lang.org/2019/12/19/Rust-1.40.0.html) [![License](https://img.shields.io/crates/l/zipwhip-rs.svg)](./LICENSE)

Website | Examples


## Features - Asynchronous SMS/MMS Client - Low-Latency, High Throughput [chatbots](https://github.com/ajmwagar/zipwhip-rs/tree/master/examples/chatbot) - Bulk SMS/MMS functions - Webhook managment - Runtime Agnostic (using `std::future::Future`) (`tokio` is only used to run unit tests) ## Send an SMS ```rust #[tokio::main] // or `async-std` async fn main() -> Result<(), Box> { // Create API Client let zw_client = zipwhip_rs::Client::with_key(""); // Send SMS zw_client.send_sms("+12064517010", "Hello, Zipwhip-rs!").await?; Ok(()) } ``` ## Running tests `ZIPWHIP_SESSION_KEY= ZIPWHIP_TEST_NUMBER= cargo test`