mehrdadep/laravel-zoho-cliq

Notification provider for laravel based on the Zoho Cliq

0.5.1 2022-08-15 16:51 UTC

This package is not auto-updated.

Last update: 2024-11-06 02:03:18 UTC


README

Latest Version on Packagist Software License

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.