whatsapp-cloud-api

Crates.iowhatsapp-cloud-api
lib.rswhatsapp-cloud-api
version0.5.4
created_at2022-05-21 21:08:43.024557+00
updated_at2025-05-21 05:15:16.208034+00
descriptionWhatsapp Cloud API Rust Client
homepagehttps://github.com/sajuthankappan/whatsapp-cloud-api-rs
repositoryhttps://github.com/sajuthankappan/whatsapp-cloud-api-rs
max_upload_size
id590875
size83,907
core (github:oxidizer-rs:core)

documentation

README

whatsapp-cloud-api   Latest Version Docs

Whatsapp Cloud API Rust Client

Features

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

Supported Graph API Version

This crate is designed & tested for facebook graph api version v20.0. You may change the version using the set_verion() method. But, do it at your own risk :)

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 = WhatsappClient::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 = WhatsappClient::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 = WhatsappClient::new(&access_token, &phone_number_id);
client.send_message(&message).await?;

For more details, please see the tests folder

Commit count: 61

cargo fmt