PHP code example of devsfort / laravel-whatsapp-chat
1. Go to this page and download the library: Download devsfort/laravel-whatsapp-chat library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
devsfort / laravel-whatsapp-chat example snippets
Schema::table('users', function (Blueprint $table) {
$table->string('whatsapp_number')->nullable();
$table->boolean('whatsapp_verified')->default(false);
$table->timestamp('whatsapp_verified_at')->nullable();
$table->string('whatsapp_verification_code')->nullable();
$table->string('whatsapp_status')->nullable(); // active, unreachable, unknown
});
protected $fillable = [
// ... existing fields
'whatsapp_number',
'whatsapp_verified',
'whatsapp_verified_at',
'whatsapp_verification_code',
'whatsapp_status',
];
return [
// Provider selection
'mode' => env('WHATSAPP_MODE', 'business'), // 'business' or 'client'
// Business API config
'access_token' => env('WHATSAPP_ACCESS_TOKEN'),
'phone_number_id' => env('WHATSAPP_PHONE_NUMBER_ID'),
'admin_phone_number' => env('WHATSAPP_ADMIN_PHONE_NUMBER'),
'webhook_verify_token' => env('WHATSAPP_WEBHOOK_VERIFY_TOKEN'),
'use_mock_mode' => env('WHATSAPP_USE_MOCK_MODE', true),
// Client config
'client' => [
'base_url' => env('WHATSAPP_CLIENT_URL', 'http://localhost:3000'),
'token' => env('WHATSAPP_CLIENT_TOKEN'),
'default_account' => env('WHATSAPP_CLIENT_ACCOUNT', 'default'),
'webhook_secret' => env('WHATSAPP_CLIENT_WEBHOOK_SECRET'),
],
// User model configuration
'user_model' => env('WHATSAPP_USER_MODEL', 'App\Models\User'),
'admin_field' => env('WHATSAPP_ADMIN_FIELD', 'type'),
'admin_value' => env('WHATSAPP_ADMIN_VALUE', 'admin'),
// Re-engagement settings
're_engagement' => [
'enabled' => env('WHATSAPP_RE_ENGAGEMENT_ENABLED', true),
'template_name' => env('WHATSAPP_RE_ENGAGEMENT_TEMPLATE', 'account_creation'),
],
];
use DevsFort\LaravelWhatsappChat\Services\WhatsAppService;
$whatsappService = app(WhatsAppService::class);
// Send text message
$result = $whatsappService->sendTextMessage('+1234567890', 'Hello!');
// Send attachment
$result = $whatsappService->sendAttachmentMessage(
'+1234567890',
'image',
$mediaId, // For business mode
'Caption here',
$s3Url, // For client mode
$fileSize
);
// Send OTP verification
$result = $whatsappService->sendOTPVerification('+1234567890', '123456');
use DevsFort\LaravelWhatsappChat\WhatsApp\Contracts\WhatsAppProvider;
$provider = app(WhatsAppProvider::class);
// Check connection status
$health = $provider->health();
// Send message
$result = $provider->sendText('+1234567890', 'Hello!');
// Get provider name
$providerName = $provider->providerName(); // 'business' or 'client'
use App\Notifications\MessageReceivedNotification;
$user->notify(new MessageReceivedNotification($messageData, $sender));
public function toWhatsApp($notifiable)
{
return [
'to' => $notifiable->whatsapp_number,
'message' => 'Your message here'
];
}
// config/whatsapp-chat.php
'user_model' => 'App\Models\User',
'admin_field' => 'role', // Instead of 'type'
'admin_value' => 'administrator', // Instead of 'admin'
'user_whatsapp_number_field' => 'phone', // Instead of 'whatsapp_number'
'user_whatsapp_verified_field' => 'phone_verified', // Instead of 'whatsapp_verified'
'notification_class' => 'App\Notifications\CustomWhatsAppNotification',
'notification_channel_class' => 'App\Notifications\Channels\CustomWhatsAppChannel',
'use_mock_mode' => true, // For development
bash
php artisan whatsapp-chat:install
bash
php artisan migrate
bash
php artisan make:notification MessageReceivedNotification