R Client for 'whapi.cloud'

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.


whapi whapi website

CRAN_Status_Badge  CRAN Downloads  License 

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

  1. Get an API token from Whapi.Cloud.
  2. Store it as an environment variable:
Sys.setenv(WHAPI_TOKEN = "your_api_token_here")
  1. 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.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("whapi")

0.0.2 by Andre Leite, a year ago


https://github.com/StrategicProjects/whapi/


Report a bug at https://github.com/StrategicProjects/whapi/issues/


Browse source code at https://github.com/cran/whapi


Authors: Andre Leite [aut, cre] , Hugo Vaconcelos [aut] , Diogo Bezerra [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports httr2, cli, tibble, purrr, stringr, stringi, dplyr, readr, lubridate, jsonlite, mime, openssl

Suggests testthat, knitr, rmarkdown, pkgdown


See at CRAN