PHPackages                             octopusteam/waapi-laravel - 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. octopusteam/waapi-laravel

ActiveLibrary[API Development](/categories/api)

octopusteam/waapi-laravel
=========================

WAAPI whatsapp api integration for Laravel

3.0.1(3w ago)152311MITPHPPHP &gt;=8.0

Since Sep 23Pushed 3w ago1 watchersCompare

[ Source](https://github.com/octopus-software-team/waapi-laravel)[ Packagist](https://packagist.org/packages/octopusteam/waapi-laravel)[ Docs](https://github.com/octopus-software-team/waapi-laravel)[ GitHub Sponsors](https://github.com/sponsors/octopus-software-team)[ RSS](/packages/octopusteam-waapi-laravel/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (2)Versions (15)Used By (0)

WAAPI Laravel Package
=====================

[](#waapi-laravel-package)

[![WAAPI Logo](assets/dark-logo.svg)](assets/dark-logo.svg)

[![Latest Version on Packagist](https://camo.githubusercontent.com/7b6445e86caa277217758e6cc995fc521137b6a45f272dbc1d89dc22621f51d9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f63746f7075737465616d2f77616170692d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/octopusteam/waapi-laravel)[![Total Downloads](https://camo.githubusercontent.com/6c96234be9f6e11daecd40405da149a49c61049d4fc97778da848807328f1cf9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f63746f7075737465616d2f77616170692d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/octopusteam/waapi-laravel)[![License](https://camo.githubusercontent.com/666626f6c9a4a244cffe41f050bd7dd695ddd867d0ca2db77222a59afe1fbd10/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6f63746f7075737465616d2f77616170692d6c61726176656c2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/octopusteam/waapi-laravel)

This package provides a simple and expressive API for interacting with the WAAPI (WhatsApp API) service within a Laravel application.

Features
--------

[](#features)

- Send text messages, media, templates, stickers, voice notes, locations, and contacts.
- **New** Send conversation messages and check contact presence.
- **New** Manage Devices and Apps (Create, Read, Update, Delete).
- **New** Check messages status and fetch profile pictures in batch.
- Fluent and expressive API.
- Automatic webhook route registration.
- **New** `WebhookReceived` event for incoming data.
- Integration with Webhook.site for easy debugging.
- Artisan command to renew Webhook.site token.

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

[](#installation)

```
composer require octopusteam/waapi-laravel
```

Publish the configuration file:

```
php artisan vendor:publish --provider="OctopusTeam\Waapi\WaapiServiceProvider"
```

This will create a `config/waapi.php` file in your application.

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

[](#configuration)

Update your `.env` file with your WAAPI credentials:

```
WAAPI_APP_URL=https://waapi.octopusteam.net/api/create-message
WAAPI_APP_KEY=your_app_key
WAAPI_AUTH_KEY=your_auth_key
WAAPI_WEBHOOK_SITE_TOKEN=your_webhook_site_token
WAAPI_UPDATE_DEVICE_WEBHOOK=your_device_uuid_for_webhook_update

```

Usage
-----

[](#usage)

### Sending Messages

[](#sending-messages)

You can send messages using the `Waapi` facade or by injecting the `Waapi` class.

```
use OctopusTeam\Waapi\Facades\Waapi;

// Send a simple text message
Waapi::sendMessage('201xxxxxxxxx', 'Hello, world!');

// Send an OTP with custom message
$otp = Waapi::generateOtp();
Waapi::sendOtp('201xxxxxxxxx', $otp, false, false, ":otp is your verification code.");

// Send Media (File)
Waapi::sendMedia('201xxxxxxxxx', 'Here is your invoice', 'https://example.com/invoice.pdf');

// Send Template
Waapi::sendTemplate('201xxxxxxxxx', 'template_id', [
    'variables[{1}]' => 'Value 1',
    'variables[{2}]' => 'Value 2'
]);

// Send Sticker
Waapi::sendSticker('201xxxxxxxxx', 'https://example.com/sticker.webp');

// Send Voice Note
Waapi::sendVoice('201xxxxxxxxx', 'https://example.com/voice.mp3');

// Send Location
Waapi::sendLocation('201xxxxxxxxx', '30.0444', '31.2357');

// Send Contact
Waapi::sendContact('201xxxxxxxxx', 'John Doe', '201xxxxxxxxx', 'Octopus Team');

// Send Conversation Message
Waapi::sendConversationMessage('201xxxxxxxxx', 'Hello from conversation');
```

### Device Status &amp; QR Code

[](#device-status--qr-code)

```
// Get Device Status
$status = Waapi::getDeviceStatus('device_id');

// Get QR Code
$qr = Waapi::getQrCode('device_id');
```

### Message Status

[](#message-status)

```
// Get single message status
$status = Waapi::getMessageStatus('message_id');

// Get multiple messages status
$status = Waapi::getMessagesStatus(['id1', 'id2', 'id3']);
```

### Devices Management

[](#devices-management)

```
// Get all devices
$devices = Waapi::getDevices();

// Create a new device
$device = Waapi::createDevice('New Device Name', 'https://webhook.site/...');

// Get a specific device
$device = Waapi::getDevice('device_id');

// Update a device
$updated = Waapi::updateDevice('device_id', 'Updated Name', 'https://webhook.site/...');

// Delete a device
$deleted = Waapi::deleteDevice('device_id');
```

### Apps Management

[](#apps-management)

```
// Get all apps
$apps = Waapi::getApps();

// Create a new app
$app = Waapi::createApp('App Name', 'device_id', 'https://example.com');

// Get a specific app
$app = Waapi::getApp('app_id');

// Delete an app
$deleted = Waapi::deleteApp('app_id');
```

### Profile &amp; Presence

[](#profile--presence)

```
// Check contact presence on WhatsApp
$presence = Waapi::contactPresence('device_id', '201xxxxxxxxx');

// Get Profile Pictures (batch)
$pictures = Waapi::getProfilePictures(['201xxxxxxxxx', '201yyyyyyyyy'], 'device_id');
```

### Webhook Settings API

[](#webhook-settings-api)

```
// Get current webhook settings
$settings = Waapi::getWebhookSettings();

// Update webhook settings
$updated = Waapi::updateWebhookSettings('https://example.com/webhook');
```

### Webhook Handling

[](#webhook-handling)

The package can automatically register a webhook route to handle incoming data from WAAPI. To enable this, ensure the following is in your `config/waapi.php`:

```
'webhook' => [
    'enabled' => true,
    'auto_register' => true,
],
```

By default, the route is `POST /api/webhook/whatsapp`.

#### Events

[](#events)

When a webhook is received, the package fires the `OctopusTeam\Waapi\Events\WebhookReceived` event. You can listen to this event in your application's `EventServiceProvider`.

```
use OctopusTeam\Waapi\Events\WebhookReceived;

protected $listen = [
    WebhookReceived::class => [
        SendEmailNotification::class,
    ],
];
```

The event contains the webhook data in the `$data` property.

### Webhook.site Integration

[](#webhooksite-integration)

For development and debugging, you can use the Webhook.site integration to inspect incoming webhook data.

```
// Get the last 50 requests from Webhook.site
$data = Waapi::getWebhookSiteData(50);

// Get the decoded content from the last 50 requests
$content = Waapi::getWebhookSiteContent(50);

// Get a specific request by its ID
$request = Waapi::getWebhookSiteRequest('request-uuid');
```

### Artisan Command

[](#artisan-command)

To renew your `webhook.site` token automatically, you can run the following Artisan command. This will generate a new token, update your `.env` file, and update the webhook URL via the WAAPI service.

```
php artisan waapi:webhook-renew
```

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance94

Actively maintained with recent releases

Popularity21

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

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 ~19 days

Recently: every ~55 days

Total

14

Last Release

27d ago

Major Versions

v1.2.0 → 3.0.12026-05-30

### Community

Maintainers

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

---

Top Contributors

[![eldapour](https://avatars.githubusercontent.com/u/48735798?v=4)](https://github.com/eldapour "eldapour (39 commits)")

---

Tags

laravelwhatsapp-apiwhatsapp-botwhatsapp-phpapilaravelwhatsappWaAPI

### Embed Badge

![Health badge](/badges/octopusteam-waapi-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/octopusteam-waapi-laravel/health.svg)](https://phpackages.com/packages/octopusteam-waapi-laravel)
```

###  Alternatives

[smodav/mpesa

M-Pesa API implementation

16167.1k1](/packages/smodav-mpesa)[missael-anda/laravel-whatsapp

A Whatsapp Business Cloud API wrapper for Laravel.

678.0k](/packages/missael-anda-laravel-whatsapp)[samuelterra22/laravel-evolution-client

Laravel Client for Evolution API, allowing easy integration with WhatsApp.

112.0k](/packages/samuelterra22-laravel-evolution-client)

PHPackages © 2026

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