laraditz/whatsapp
Composer 安装命令:
composer require laraditz/whatsapp
包简介
Laravel package for interacting with Official Whatsapp API.
README 文档
README
A comprehensive Laravel package for seamless integration with the Official WhatsApp Cloud API.
Features
- Multi-account support (config-based or database-driven)
- Fluent API for sending all message types (text, image, video, document, audio, sticker, location, contacts, interactive, template, reaction)
- Template management (list, create, update, delete)
- Webhook handling with automatic signature verification
- Laravel events for incoming messages and status updates
- Database logging for API requests, messages, webhooks, and templates
- Laravel notification channel for WhatsApp
- Artisan commands for syncing templates and message statuses
Requirements
- PHP 8.2+
- Laravel 11 or 12
Installation
Install the package via Composer:
composer require laraditz/whatsapp
Publish the config file:
php artisan vendor:publish --tag=whatsapp-config
Publish and run migrations (required for logging and database account driver):
php artisan vendor:publish --tag=whatsapp-migrations php artisan migrate
Configuration
Add the following to your .env file:
WHATSAPP_ACCESS_TOKEN=your-access-token WHATSAPP_PHONE_NUMBER_ID=your-phone-number-id WHATSAPP_BUSINESS_ACCOUNT_ID=your-business-account-id WHATSAPP_WEBHOOK_VERIFY_TOKEN=your-verify-token WHATSAPP_WEBHOOK_SECRET=your-app-secret
See Configuration Guide for multi-account setup and all available options.
Quick Start
Sending Messages
use Laraditz\Whatsapp\Facades\Whatsapp; // Text message Whatsapp::message()->to('60123456789')->text('Hello!')->send(); // Image Whatsapp::message() ->to('60123456789') ->image(link: 'https://example.com/photo.jpg', caption: 'Check this out') ->send(); // Template message Whatsapp::message() ->to('60123456789') ->template(name: 'order_update', language: 'en') ->component(type: 'body', parameters: [ ['type' => 'text', 'text' => 'ORDER-123'], ]) ->send();
Managing Templates
// List all templates $response = Whatsapp::template()->list(); // Create a template Whatsapp::template()->create( name: 'welcome_message', language: 'en', category: 'UTILITY', components: [ ['type' => 'BODY', 'text' => 'Welcome, {{1}}!'], ], );
Laravel Notification
use Illuminate\Notifications\Notification; use Laraditz\Whatsapp\Channels\WhatsappChannel; use Laraditz\Whatsapp\Messages\WhatsappMessage; class OrderShipped extends Notification { public function via($notifiable): array { return [WhatsappChannel::class]; } public function toWhatsapp($notifiable): WhatsappMessage { return WhatsappMessage::create() ->template(name: 'order_update', language: 'en') ->component(type: 'body', parameters: [ ['type' => 'text', 'text' => 'ORDER-123'], ]); } } // Send it $user->notify(new OrderShipped($order));
Multi-Account
// Switch account Whatsapp::account('support')->message()->to('60123456789')->text('Hi from support')->send();
Artisan Commands
| Command | Description |
|---|---|
php artisan whatsapp:sync-templates |
Sync all templates from the WhatsApp API to the local database |
php artisan whatsapp:sync-templates --account=support |
Sync templates for a specific account |
php artisan whatsapp:sync-messages |
Sync message statuses for messages not yet delivered or read |
php artisan whatsapp:sync-messages --account=default --since=2024-01-01 |
Sync messages for a specific account and date range |
Documentation
- Configuration Guide - Account drivers, logging, and all config options
- Sending Messages - All message types with examples
- Template Management - CRUD operations and syncing
- Webhooks & Events - Webhook setup and Laravel event handling
- Notifications - Laravel notification channel integration
- Error Handling - Exception types and handling patterns
Testing
composer test
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email raditzfarhan@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
laraditz/whatsapp 适用场景与选型建议
laraditz/whatsapp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 26 次下载、GitHub Stars 达 1, 最近一次更新时间为 2026 年 02 月 11 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「api」 「facebook」 「sdk」 「laravel」 「meta」 「whatsapp」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 laraditz/whatsapp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 laraditz/whatsapp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 laraditz/whatsapp 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Simple Sharing generates social media share links within CP entry pages, allowing you to quickly & easily share entries.
A PSR-7 compatible library for making CRUD API endpoints
Magento 2 Social Login extension is designed for quick login to your Magento 2 store without procesing complex register steps
Contao 4 bundle for a Facebook login.
:Small library PHP for authentication support facebook, google, key, jwt, diggest, basic and session
LaraNx SEO, meta tag management for Laravel websites
统计信息
- 总下载量: 26
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 38
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-02-11