Download the PHP package bayurifkialghifari/waxum-php-client without Composer
On this page you can find all versions of the php package bayurifkialghifari/waxum-php-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bayurifkialghifari/waxum-php-client
More information about bayurifkialghifari/waxum-php-client
Files in bayurifkialghifari/waxum-php-client
Package waxum-php-client
Short Description Laravel PHP client for the Waxum WhatsApp API gateway
License MIT
Homepage https://github.com/bayurifkialghifari/waxum-php-client
Informations about the package waxum-php-client
Waxum PHP Client for Laravel
A Laravel PHP client library for the Waxum WhatsApp API Gateway. Provides a clean, modular interface to interact with WhatsApp through your Waxum server instance.
Features
- 🏗️ Modular Architecture — Organized by functionality:
session,message,group,contacts,blast,calls,chatstate,media,newsletter,nats,scheduler,presence,privacy,status,blocking,operations,mex,webhook,fleet,tokens,tags,labels,business,bots - 📦 PHP DTOs — Strongly typed Data Transfer Objects for requests and responses across all endpoints
- 🔐 Webhook Signature Verification —
WebhookSignatureimplements the gateway's v2 HMAC scheme with replay protection - 🔗 Laravel Integration — Service provider, facade (
WaxumApi), and config file included - ⚙️ Configurable — Set
base_urlandtokenvia.envor config file
Requirements
- PHP >= 8.2
- Laravel /
illuminate/support>= 12.0
Installation
Publish the config file:
Configuration
Add to your .env:
Published config (config/waxum.php):
Quick Start
Using DTO Objects (Recommended)
Using Associative Arrays
API Reference & DTO Usage
📱 Session (WaxumApi::session())
💬 Messages (WaxumApi::message())
👥 Groups (WaxumApi::group())
🚀 Blast Jobs (WaxumApi::blast())
📎 Media (WaxumApi::media())
Uploads are sent as multipart/form-data (100 MB server limit).
🌐 Webhooks (WaxumApi::webhook())
🔐 Verifying Webhook Signatures
The gateway signs each delivery with HMAC-SHA256("{timestamp}.{raw_body}")
using the secret you registered, sending it as
X-Webhook-Signature: sha256=<hex> alongside X-Webhook-Timestamp.
WebhookSignature verifies it in constant time and rejects timestamps
outside a 300-second window (replay protection).
Outside Laravel, or when you already hold the raw body:
🛰️ Fleet (WaxumApi::fleet())
🔑 Tokens (WaxumApi::tokens())
🏷️ Tags (WaxumApi::tags())
🔖 Labels (WaxumApi::labels())
🏬 Business (WaxumApi::business())
$jid is required by the server on catalog/collection/order calls.
🤖 Bots (WaxumApi::bots())
Upgrading from 1.x to 2.0
See CHANGELOG.md for the full list. Three things to check:
-
media()->upload()now takes a file path instead of an array, and$tokenmoved to the 5th parameter: -
WebhookEventType::KEEP_ALIVE_TIMEOUTwas removed — the gateway no longer emits it. UseDISCONNECTEDor the newSTREAM_ERROR. - Construct DTOs with named arguments. New properties were inserted into
SendTextRequest,SessionStatusResponse, andCreateSessionRequest; positional construction will bind to the wrong properties.
Testing
Code Formatting
License
The MIT License (MIT). Please see License File for more information.
All versions of waxum-php-client with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/support Version ^12.0|^13.0