mehrdadep / laravel-zoho-cliq
Notification provider for laravel based on the Zoho Cliq
Requires
- php: >=7.2
- guzzlehttp/guzzle: ^6.3 || ^7.0
- illuminate/notifications: ~5.5 || ~6.0 || ~7.0 || ^8.0 || ^9.0
- illuminate/support: ~5.5 || ~6.0 || ~7.0 || ^8.0 || ^9.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^9.0
This package is not auto-updated.
Last update: 2024-11-06 02:03:18 UTC
README
This package makes it easy to send notifications using Zoho Cliq with Laravel 5.5+, 6.x and 7.x
Contents
Installation
You can install the package via composer:
composer require mehrdadep/laravel-zoho-cliq
Next, if you're using Laravel without auto-discovery, add the service provider to config/app.php:
'providers' => [
// ...
NotificationChannels\ZohoCliq\ZohoCliqServiceProvider::class,
],
Setting up the Zoho Cliq service
Create a webhook token and follow the guides from here to set up a bot or post to the channel directly with the user (e.g. https://cliq.zoho.com/api/v2/channelsbyname/alerts/message?zapikey=2002.1c84cd1a2ffd304f57d44ecddc157d59.127g8g495367a04017a2d9af0bc5666f8&bot_unique_name=custombot
)
Then, configure your webhook url:
Add the following code to your config/services.php
:
// config/services.php
...
'zoho_cliq' => [
'webhook_url' => env('ZOHO_CLIQ_WEBHOOK_URL'),
],
...
You can also add multiple webhooks if you have multiple teams or channels, it's up to you.
// config/services.php
...
'zoho_cliq' => [
'sales_url' => env('ZOHO_CLIQ_SALES_WEBHOOK_URL'),
'dev_url' => env('ZOHO_CLIQ_DEV_WEBHOOK_URL'),
],
...
Usage
Now you can use the channel in your via()
method inside the notification:
use Illuminate\Notifications\Notification;
use NotificationChannels\ZohoCliq\ZohoCliqChannel;
use NotificationChannels\ZohoCliq\ZohoCliqMessage;
class SubscriptionCreated extends Notification
{
public function via($notifiable)
{
return [ZohoCliqChannel::class];
}
public function toZohoCliq($notifiable)
{
return ZohoCliqMessage::create()
->to(config('services.zoho_cliq.sales_url'))
->payload(["text" => "a sample message"]);
}
}
Instead of adding the to($url)
method for the recipient you can also add the routeNotificationForZohoCliq
method inside your Notifiable model. This method needs to return the webhook url.
public function routeNotificationForZohoCliq(Notification $notification)
{
return config('services.zoho_cliq.sales_url')
}
On-Demand Notification Usage
To use on demand notifications you can use the route method on the Notification facade.
Notification::route(ZohoCliqChannel::class,null)
->notify(new SubscriptionCreated());
Available Message methods
to(string $webhookUrl)
: Recipient's webhook url.payload(string $summary)
: Payload generated based on the Zoho docs.
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Security
If you discover any security related issues, use the issues.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.