bablast / client
Official PHP Client Library & Laravel Package for Bablast WhatsApp Messaging & Meta WABA API.
dev-main
2026-08-13 13:55 UTC
Requires
- php: >=8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2026-08-13 13:55:56 UTC
README
Official PHP Client Library & Laravel Package for Bablast — WhatsApp Messaging & Official Meta WABA API.
Kompatibel dengan CodeIgniter 4, CodeIgniter 3, Laravel (v9 - v12), Symfony, Slim, dan Native PHP (PHP >= 8.1).
📦 Installation
composer require bablast/client
🚀 Quickstart: CodeIgniter 4 / Raw PHP
use Bablast\Client; $bablast = new Client([ 'apiKey' => 'YOUR_BABLAST_API_KEY', // 'baseUrl' => 'https://api.bablast.id/v2/openapi', // Optional override ]); // 1. Kirim Pesan Teks WA Direct (Device) $bablast->wa->sendText('6281234567890', 'Halo dari CodeIgniter 4!'); // 2. Kirim Pesan Media (Gambar / Document PDF) $bablast->wa->sendMedia('6281234567890', 'https://example.com/invoice.pdf', 'Faktur Tagihan Anda'); // 3. Kirim Official Meta WABA Template Message $bablast->waba->sendTemplate('6281234567890', 'promo_agustus', 'id', ['Budi']);
Webhook Handling di CodeIgniter 4 / Raw PHP
// Verifikasi signature HMAC SHA-256 $isValid = $bablast->webhooks->verifySignature($rawPayload, $signatureHeader, $secretToken); if ($isValid) { $event = $bablast->webhooks->parseEvent($rawPayload); if ($event['event'] === 'incoming_message') { $msg = $event['data']; log_message('info', "Pesan dari {$msg['from_name']}: {$msg['content']}"); } }
🅰️ Quickstart: Laravel (Facade & Notification Channel)
1. Publish Config (Optional)
php artisan vendor:publish --tag=bablast-config
Environment .env:
BABLAST_API_KEY=your_api_key_here BABLAST_BASE_URL=https://api.bablast.id/v2/openapi BABLAST_WEBHOOK_SECRET=your_secret_token
2. Menggunakan Laravel Facade
use Bablast\Laravel\Facades\Bablast; // Kirim Teks Bablast::wa()->sendText('6281234567890', 'Halo dari Laravel!'); // Kirim WABA Template Bablast::waba()->sendTemplate('6281234567890', 'promo_agustus', 'id', ['Diskon 50%']);
3. Menggunakan Laravel Notification Channel
use Illuminate\Notifications\Notification; use Bablast\Laravel\Channels\BablastChannel; use Bablast\Laravel\Messages\BablastMessage; class InvoicePaidNotification extends Notification { public function via($notifiable) { return [BablastChannel::class]; } public function toBablast($notifiable) { return (new BablastMessage()) ->content('Pembayaran pesanan #' . $this->invoice->id . ' telah diterima!') ->to($notifiable->phone); } }
📄 License
MIT © Bablast