23 releases

0.5.3 Mar 13, 2024
0.5.2 Feb 21, 2024
0.4.9 Feb 19, 2024
0.4.3 Jan 29, 2024
0.1.6 May 22, 2022

#587 in Web programming

Download history 7/week @ 2024-01-02 11/week @ 2024-01-09 20/week @ 2024-01-23 39/week @ 2024-01-30 17/week @ 2024-02-06 204/week @ 2024-02-13 298/week @ 2024-02-20 141/week @ 2024-02-27 9/week @ 2024-03-05 191/week @ 2024-03-12 18/week @ 2024-03-19 2/week @ 2024-03-26 44/week @ 2024-04-02

255 downloads per month

MIT/Apache

28KB
833 lines

whatsapp-cloud-api   Latest Version Docs

Whatsapp Cloud API Rust Client

Features

  • Sending messages using Whatspp Cloud API
  • Get / Upload media
  • Models to help processing incoming webhooks

Usage example

Send template based text message

let access_token = "<access_token>";
let phone_number_id = "<phone_number_id>";
let to = "<to>";
let template_name = "hello_world";
let language = "en_US";
let template = Template::new(template_name, language);
let message = Message::from_template(&to, template, None);
let client = WhatsppClient::new(&access_token, &phone_number_id);
client.send_message(&message).await?;

Send template based text message with parameters

let access_token = "<access_token>";
let phone_number_id = "<phone_number_id>";
let template_name = "sample_shipping_confirmation";
let language = "en_US";
let parameters = Vec::from([Parameter::from_text("3")]);
let components = Vec::from([Component::with_parameters("body", parameters)]);
let template = Template::with_components(template_name, language, components);
let message = Message::from_template(&to, template, None);
let client = WhatasppClient::new(&access_token, &phone_number_id);
let response = client.send_message(&message).await?;

Send text message (Note: This requires an user initial conversation)

let access_token = "<access_token>";
let phone_number_id = "<phone_number_id>";
let to = "<to>";
let text = Text::new("test message");
let message = Message::from_text(&to, text, None);
let client = WhatasppClient::new(&access_token, &phone_number_id);
client.send_message(&message).await?;

For more details, please see the tests folder

Dependencies

~4–18MB
~257K SLoC