bablast/client

Official PHP Client Library & Laravel Package for Bablast WhatsApp Messaging & Meta WABA API.

Maintainers

Package info

github.com/bablast-id/bablast-php-client

pkg:composer/bablast/client

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-08-13 13:55 UTC

This package is auto-updated.

Last update: 2026-08-13 13:55:56 UTC


README

Latest Stable Version License

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