PHPackages                             rcsil/whatsapp-business - 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. rcsil/whatsapp-business

ActiveLibrary[API Development](/categories/api)

rcsil/whatsapp-business
=======================

Laravel package for Meta WhatsApp Business Platform Cloud API with Coexistence support.

0.0.1(1mo ago)04MITPHPPHP ^8.0

Since May 9Pushed 1mo agoCompare

[ Source](https://github.com/rcsil/laravel-whatsapp-business)[ Packagist](https://packagist.org/packages/rcsil/whatsapp-business)[ Docs](https://github.com/rcsil/laravel-whatsapp-business)[ RSS](/packages/rcsil-whatsapp-business/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (13)Versions (2)Used By (0)

Laravel WhatsApp Business
=========================

[](#laravel-whatsapp-business)

Laravel package for the Meta WhatsApp Business Platform Cloud API, with a first-class webhook implementation and database structures prepared for future chat-style views.

This package is in early development. The current implementation focuses on receiving, validating and storing WhatsApp Business webhooks from Meta.

Features
--------

[](#features)

- Webhook verification endpoint for Meta.
- Signature validation with `X-Hub-Signature-256`.
- Raw webhook event storage for auditing and replay/debugging.
- Normalized contact, conversation, message and status persistence.
- Configurable routes, middleware, database connection and table names.
- Migration stubs ready to publish into a Laravel application.
- Initial structure for Coexistence scenarios, including inbound messages and echoed/manual app activity when Meta sends it through webhooks.

Requirements
------------

[](#requirements)

- PHP 8.0 or higher.
- Laravel components 11.x, 12.x or 13.x.
- A Meta app configured for WhatsApp Business Platform webhooks.

Installation
------------

[](#installation)

Install the package with Composer:

```
composer require laravel/whatsapp-business
```

Publish the configuration file:

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

Publish and run the migrations:

```
php artisan vendor:publish --tag=whatsapp-business-migrations
php artisan migrate
```

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

[](#configuration)

Add the relevant environment variables to your application:

```
WHATSAPP_BUSINESS_GRAPH_VERSION=v23.0
WHATSAPP_BUSINESS_ACCESS_TOKEN=
WHATSAPP_BUSINESS_PHONE_NUMBER_ID=
WHATSAPP_BUSINESS_ACCOUNT_ID=
WHATSAPP_BUSINESS_APP_SECRET=

WHATSAPP_BUSINESS_WEBHOOK_ENABLED=true
WHATSAPP_BUSINESS_WEBHOOK_VERIFY_TOKEN=
WHATSAPP_BUSINESS_WEBHOOK_VERIFY_SIGNATURE=true
WHATSAPP_BUSINESS_STORE_WEBHOOK_EVENTS=true

WHATSAPP_BUSINESS_ROUTES_ENABLED=true
WHATSAPP_BUSINESS_ROUTE_PREFIX=whatsapp-business
WHATSAPP_BUSINESS_DB_CONNECTION=
```

By default, the webhook endpoint is:

```
GET  /whatsapp-business/webhook
POST /whatsapp-business/webhook

```

Use the `GET` URL in Meta's webhook configuration. The package validates `hub.mode`, `hub.verify_token` and returns `hub.challenge` when the verification token matches.

Meta webhook `POST` requests are accepted only when the request signature matches the configured app secret, unless signature verification is explicitly disabled.

Stored Data
-----------

[](#stored-data)

The webhook handler stores the original Meta payload in `whatsapp_business_webhook_events`. It also extracts data into normalized tables:

- `whatsapp_business_contacts`
- `whatsapp_business_conversations`
- `whatsapp_business_messages`
- `whatsapp_business_message_statuses`

This keeps the complete event payload available while also making it practical to build a chat view later by querying conversations and ordering messages by `occurred_at`.

Routes
------

[](#routes)

Routes are enabled by default and use the `api` middleware group. You can change this in `config/whatsapp-business.php`:

```
'route' => [
    'enabled' => true,
    'prefix' => 'whatsapp-business',
    'middleware' => ['api'],
    'name' => 'whatsapp-business.',
],
```

Development
-----------

[](#development)

Install dependencies:

```
composer install
```

Useful commands:

```
composer test
composer analyse
composer format
```

The package currently has its first implementation layer in place. Tests and higher-level API clients are expected to evolve as the package grows.

Contributing
------------

[](#contributing)

Contributions are welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a pull request.

Security
--------

[](#security)

If you discover a security vulnerability, please do not open a public issue. Follow the process in [SECURITY.md](SECURITY.md).

License
-------

[](#license)

This package is open source software licensed under the [MIT license](LICENSE).

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance94

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity28

Early-stage or recently created project

 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

Unknown

Total

1

Last Release

31d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ac006e3cf499a9d8f4a2ffc14d1ce5a935aab408c2aeb7c448ffcf345d466ad1?d=identicon)[rcsil](/maintainers/rcsil)

---

Top Contributors

[![rcsil](https://avatars.githubusercontent.com/u/76222307?v=4)](https://github.com/rcsil "rcsil (3 commits)")

---

Tags

laravelnotificationswebhookswhatsappmetawhatsapp-businesswhatsapp-cloud-apicoexistence

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.4k](/packages/larastan-larastan)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k28.4M134](/packages/laravel-cashier)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

76318.2M110](/packages/laravel-mcp)[spatie/laravel-health

Monitor the health of a Laravel application

87311.3M149](/packages/spatie-laravel-health)[api-platform/laravel

API Platform support for Laravel

59156.3k10](/packages/api-platform-laravel)

PHPackages © 2026

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