jeffersongoncalves / laravel-whatsapp-widget
This Laravel package provides a simple yet customizable WhatsApp widget for your website. It allows you to easily add a clickable WhatsApp button or floating widget to connect visitors directly with your WhatsApp account. The widget is designed to be easily integrated into your Laravel application a
Fund package maintenance!
jeffersongoncalves
Installs: 361
Dependents: 1
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 2
Open Issues: 1
Language:CSS
Requires
- php: ^8.2|^8.3
- laravel/framework: ^11.0|^12.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^3.0
- orchestra/testbench: ^9.0|^10.0
- pestphp/pest: ^3.7.4
- pestphp/pest-plugin-laravel: ^3.0
README
Laravel Whatsapp Widget
This Laravel package provides a simple yet customizable WhatsApp widget for your website. It allows you to easily add a clickable WhatsApp button or floating widget to connect visitors directly with your WhatsApp account. The widget is designed to be easily integrated into your Laravel application and is fully customizable to match your website's design.
Features
- 🚀 Multi-agent support: Add multiple WhatsApp agents with different phone numbers and names
- 🎨 Customizable appearance: Change the widget's position, colors, and text
- 🔊 Audio notifications: Optional sound alert when the widget loads (configurable)
- 📱 Mobile-friendly: Responsive design that works on all devices
- 🌐 Localization support: Easily translate the widget to any language
- 🔄 Pre-defined messages: Set default text messages for each agent
- 🖼️ Custom agent avatars: Add profile pictures for each agent
Requirements
- PHP 8.2 or higher
- Laravel 11.0 or higher
Installation
You can install the package via composer:
composer require jeffersongoncalves/laravel-whatsapp-widget
Usage
1. Publish the package assets
Publish config file:
php artisan vendor:publish --tag=whatsapp-widget-config
Publish migration file:
php artisan vendor:publish --tag=whatsapp-widget-migrations
Publish assets files:
php artisan vendor:publish --tag=whatsapp-widget-assets
Publish translations files:
php artisan vendor:publish --tag=whatsapp-widget-translations
2. Run the migrations
php artisan migrate
3. Add the widget to your layout
Add the head template in your layout's <head>
section:
@include('whatsapp-widget::whatsapp-widget-head')
Add the body template before the closing </body>
tag:
@include('whatsapp-widget::whatsapp-widget-body')
4. Add WhatsApp agents
You need to add WhatsApp agents to your database. You can do this through your application's admin panel or by creating a seeder.
Example seeder:
use JeffersonGoncalves\WhatsappWidget\Models\WhatsappAgent; WhatsappAgent::create([ 'active' => true, 'name' => 'Customer Support', 'phone' => '+1234567890', 'text' => 'Hello! I have a question about your product.', 'image' => 'path/to/agent-avatar.jpg', // Optional ]);
Configuration
After publishing the configuration file, you can customize the widget by editing the config/whatsapp-widget.php
file:
return [ // Enable or disable audio notification 'audio' => true, // Play audio notification once per day or on every page load 'play_audio_daily' => true, // Filesystem disk for storing agent images 'disk' => env('FILESYSTEM_DISK', 'local'), // Application URL (used for redirection) 'url' => env('APP_URL', 'http://localhost'), // Application name (displayed in the widget) 'name' => env('APP_NAME', 'Laravel App'), // WhatsApp API key (if needed) 'key' => env('WHATSAPP_KEY'), ];
Customization
Translations
You can customize the widget's text by editing the translation files in resources/lang/vendor/whatsapp-widget/
.
Styling
The widget's appearance can be customized by modifying the CSS files in public/vendor/whatsapp-widget/
.
Position
By default, the widget appears in the bottom-right corner of the page. You can change this by modifying the CSS classes in the widget's template.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.