Description
R Client for 'whapi.cloud'.
Description
Provides an 'R' interface to the 'Whapi' 'API' <https://whapi.cloud>, enabling sending and receiving 'WhatsApp' messages directly from 'R'. Functions include sending text, images, documents, stickers, geographic locations, and interactive messages (buttons and lists). Also includes 'webhook' parsing utilities and channel health checks.
README.md
whapi 
R wrapper for whapi.cloud — a lightweight WhatsApp API.
Overview
The whapi package provides a tidyverse-friendly interface to the whapi.cloud API, allowing you to send, receive, and manage WhatsApp messages programmatically in R.
Features include:
- Sending text, image, document, sticker, and location messages;
- Sending interactive messages (quick replies, mixed actions, lists);
- Reacting to or marking messages as read;
- Fetching message details and contact profiles;
- Checking channel health and status;
- Helpers for logging and webhook flattening.
All outputs are returned as tibbles for easy integration into tidyverse workflows.
Installation
The package is under development. Install from source:
# install.packages("devtools")
devtools::install_github("StrategicProjects/whapi")
Setup
- Get an API token from Whapi.Cloud.
- Store it as an environment variable:
Sys.setenv(WHAPI_TOKEN = "your_api_token_here")
- Load the package:
library(whapi)
Example Usage
Send a Text Message
whapi_send_text("5581999999999", "Hello from R! ✅")
Send an Image
whapi_send_image("5581999999999", image = "card.png", type = "file", caption = "Card")
Send a Sticker
whapi_send_sticker("5581999999999", sticker = "sticker.webp", type = "file")
Send an Interactive Quick Reply
whapi_send_quick_reply(
to = "5581999999999",
body_text = "Do you confirm?",
buttons = tibble::tribble(~title, "YES", "NO")
)
React to a Message
whapi_react_to_message("PsqXn5SAD5v7HRA-wHqB9tMeGQ", "❤️")
Mark a Message as Read
whapi_mark_message_read("PsqXn5SAD5v7HRA-wHqB9tMeGQ")
Get a Contact Profile
whapi_get_contact_profile("5581999999999")
Check Channel Health
whapi_check_health()
Contributing
If you find any issues or have feature requests, feel free to create an issue or a pull request on GitHub.
License
This package is licensed under the MIT License. See the LICENSE file for more details.