PHPackages                             caydeesoft/whatsapp - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. caydeesoft/whatsapp

ActiveLibrary[API Development](/categories/api)

caydeesoft/whatsapp
===================

A robust Laravel package for integrating with the Meta WhatsApp Cloud API, supporting messaging, webhooks, and media handling.

v1.0.6(2mo ago)010MITPHPPHP ^8.1|^8.2|^8.3|^8.4|^8.5CI passing

Since May 7Pushed 2mo agoCompare

[ Source](https://github.com/Caydeesoft/whatsapp)[ Packagist](https://packagist.org/packages/caydeesoft/whatsapp)[ Docs](https://github.com/caydeesoft/whatsapp)[ RSS](/packages/caydeesoft-whatsapp/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (8)Versions (8)Used By (0)

Meta WhatsApp Laravel Package
=============================

[](#meta-whatsapp-laravel-package)

Direct Meta WhatsApp Cloud API integration for Laravel.

Features
--------

[](#features)

- Webhook verification endpoint
- Inbound webhook handler
- Outbound text message endpoint
- Outbound template message endpoint
- HMAC validation with `X-Hub-Signature-256`
- Event dispatching for inbound webhook payloads
- Publishable config file

Package Structure
-----------------

[](#package-structure)

- `src/WhatsAppServiceProvider.php`: package bootstrapping
- `src/Services/MetaWhatsAppClient.php`: direct Meta Graph API client
- `src/Http/Controllers/WhatsAppWebhookController.php`: webhook verification and inbound handling
- `src/Http/Controllers/WhatsAppMessageController.php`: outbound message endpoints
- `src/Events/WhatsAppWebhookReceived.php`: event fired for inbound webhook payloads
- `config/whatsapp.php`: package configuration
- `routes/api.php`: package routes

Configuration
-------------

[](#configuration)

Environment variables used by the package:

```
WHATSAPP_BASE_URL=https://graph.facebook.com
WHATSAPP_GRAPH_VERSION=v24.0
WHATSAPP_ACCESS_TOKEN=
WHATSAPP_PHONE_NUMBER_ID=
WHATSAPP_BUSINESS_ACCOUNT_ID=
WHATSAPP_APP_SECRET=
WHATSAPP_WEBHOOK_VERIFY_TOKEN=
WHATSAPP_ROUTE_PREFIX=whatsapp
```

You can publish the config into the host Laravel app with:

```
php artisan vendor:publish --tag=whatsapp-config
```

Published config path:

```
config/whatsapp.php

```

Routes
------

[](#routes)

By default the package exposes these routes:

- `GET /api/whatsapp/webhook`
- `POST /api/whatsapp/webhook`
- `POST /api/whatsapp/messages/text`
- `POST /api/whatsapp/messages/template`

The `whatsapp` segment is configurable through `WHATSAPP_ROUTE_PREFIX`.

Usage
-----

[](#usage)

### Verify webhook

[](#verify-webhook)

Meta will call:

```
GET /api/whatsapp/webhook?hub.mode=subscribe&hub.verify_token=...&hub.challenge=...

```

The package validates the verify token and returns the challenge string.

### Receive inbound webhooks

[](#receive-inbound-webhooks)

Meta will send webhook payloads to:

```
POST /api/whatsapp/webhook

```

If `WHATSAPP_APP_SECRET` is configured, the package validates the `X-Hub-Signature-256` signature before accepting the request.

The package then dispatches:

```
SocialMedia\WhatsApp\Events\WhatsAppWebhookReceived
```

### Send a text message

[](#send-a-text-message)

Request:

```
POST /api/whatsapp/messages/text
{
  "to": "254700000000",
  "body": "Hello from Laravel"
}
```

### Send a template message

[](#send-a-template-message)

Request:

```
POST /api/whatsapp/messages/template
{
  "to": "254700000000",
  "name": "hello_world",
  "language": "en_US"
}
```

Extending in the Host App
-------------------------

[](#extending-in-the-host-app)

Listen for the webhook event in your app to process messages, statuses, and delivery updates:

```
use SocialMedia\WhatsApp\Events\WhatsAppWebhookReceived;

Event::listen(WhatsAppWebhookReceived::class, function (WhatsAppWebhookReceived $event) {
    // Handle $event->payload
});
```

Meta Setup Checklist
--------------------

[](#meta-setup-checklist)

1. Create a Meta app and enable the WhatsApp product.
2. Get an access token.
3. Get your Phone Number ID and WhatsApp Business Account ID.
4. Set the Meta webhook callback URL to your app's `/api/whatsapp/webhook` endpoint.
5. Set Meta's verify token to match `WHATSAPP_WEBHOOK_VERIFY_TOKEN`.
6. Subscribe the app to your WABA.

References
----------

[](#references)

- [Meta WhatsApp Cloud API Overview](https://developers.facebook.com/docs/whatsapp/cloud-api/overview)
- [Meta WhatsApp Cloud API Get Started](https://developers.facebook.com/docs/whatsapp/cloud-api/get-started)
- [Meta WhatsApp Cloud API Postman Collection](https://www.postman.com/meta/whatsapp-business-platform/documentation/wlk6lh4/whatsapp-cloud-api)

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance86

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

7

Last Release

74d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b45f83595087e9d2a3e2af6b69cdb1867d10bba2edc06182e8a09e47fb73f2ea?d=identicon)[dennis.kiptoo](/maintainers/dennis.kiptoo)

---

Top Contributors

[![dkiptugen](https://avatars.githubusercontent.com/u/11540219?v=4)](https://github.com/dkiptugen "dkiptugen (1 commits)")

---

Tags

laravelmessagingwebhookswhatsappmetacloud-api

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/caydeesoft-whatsapp/health.svg)

```
[![Health](https://phpackages.com/badges/caydeesoft-whatsapp/health.svg)](https://phpackages.com/packages/caydeesoft-whatsapp)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3345.3M347](/packages/psalm-plugin-laravel)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

77922.3M186](/packages/laravel-mcp)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9762.4M133](/packages/roots-acorn)[api-platform/laravel

API Platform support for Laravel

58174.6k17](/packages/api-platform-laravel)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5022.6k](/packages/simplestats-io-laravel-client)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

813336.8k3](/packages/defstudio-telegraph)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
