This package makes it easy to send WhatsApp messages using Chat API with Laravel 5.
You can install the package via composer:
composer require wilsonglasser/laravel-chatapi-whatsapp
You must install the service provider:
// config/app.php
'providers' => [
...
NotificationChannels\ChatAPI\ChatAPIServiceProvider::class,
],
Configure your credentials:
// config/services.php
...
'chatapi' => [
'token' => env('CHATAPI_TOKEN', ''),
'api_url' => env('CHATAPI_URL', ''),
],
...
You can now use the channel in your via()
method inside the Notification class.
use NotificationChannels\ChatAPI\ChatAPIChannel;
use NotificationChannels\ChatAPI\ChatAPIMessage;
use Illuminate\Notifications\Notification;
class InvoicePaid extends Notification
{
public function via($notifiable)
{
return [ChatAPIChannel::class];
}
public function toChatAPI($notifiable)
{
return ChatAPIMessage::create()
->to($notifiable->phone) // your user phone
->file('/path/to/file','My Photo.jpg')
->content('Your invoice has been paid');
}
}
You can either send the notification by providing with the chat id of the recipient to the to($phone) method like shown in the above example or add a routeNotificationForChatAPI() method in your notifiable model:
...
/**
* Route notifications for the Telegram channel.
*
* @return int
*/
public function routeNotificationForChatAPI()
{
return $this->phone;
}
...
to($phone)
: (integer) Recipient's phone.content('message')
: (string) Message.file('/path/to/file','My Photo.jpg')
: (string) File real path, you can also send the file contents and pass two additional params for file name and file mime type (required)file('/path/to/file','My Photo.jpg','image/jpg')