adiafora/laravel-notification-bitrix24

用于 Laravel 通知到 Bitrix24 的包

1.6.4 2021-08-21 13:53 UTC

This package is auto-updated.

Last update: 2024-09-29 05:09:31 UTC


README

本包扩展了 Laravel 通知的常规功能,允许您从您的应用程序向 Bitrix24 的聊天发送通知,或者向 Bitrix24 的用户发送。

实现通知使用的是基于 Bitrix24 REST API 的 Webhook 系统(有关 Webhook 的更多信息,请参阅官方文档Bitrix24)。这意味着您必须在您的 Bitrix24 站点上自行添加 Webhook 并获取其令牌。您需要将该令牌添加到配置文件 config/bitrix24_notice.php 中。同时,您还必须在配置文件中添加 Bitrix24 用户的 ID,该用户将发送通知,以及您的公司在 Bitrix24 中的子域。

安装

使用 Composer 安装此包。

    composer require "adiafora/laravel-notification-bitrix24"

如果 Laravel 版本小于 5.5,请将以下代码添加到您的项目中的 config/app.php 文件的 providers 数组末尾

    Adiafora\Bitrix24\Bitrix24ServiceProvider::class,

配置

安装后,在控制台中执行发布配置文件的命令

    php artisan vendor:publish --provider="Adiafora\Bitrix24\Bitrix24ServiceProvider"

您必须填写所有上述字段,否则通知将无法工作。

使用

在您的 via() 中,您可以使用通道

   use Adiafora\Bitrix24\Bitrix24Channel;
   use Adiafora\Bitrix24\Bitrix24Message;
   use Illuminate\Notifications\Notification;
   
   class BitrixNotice extends Notification
   {
       protected $invoice;
       
       public function __construct($invoice)
       {
           $this->invoice = $invoice;
       }
       
       public function via($notifiable)
       {
           return [Bitrix24Channel::class];
       }
   
       public function toBitrix24($notifiable)
       {
           $data = [
               'invoice' => $this->invoice,
           ];
           
           return (new Bitrix24Message)
                       ->view('notice', $data)
                       ->toUser();
       }
   }

包期望传递聊天 ID 或通知用户的 ID。

例如,如果 Bitrix24 用户的 ID 是 56,可以这样创建通知

    Notification::send(56, new BitrixNotice($invoice));

    Notification::route('bitrix24', '56')
                ->notify(new BitrixNotice($invoice));

如果您在通知中使用模型数据,则必须在通知模型中添加以下函数,该函数应返回聊天 ID 或用户 ID

    public function routeNotificationForBitrix24(): int
    {
        return $this->bitrix_id;
    }

可用方法

view() 您可以使用 Blade 模板作为通知。此方法接受模板名称和数据数组,该数据将用于模板。使用模板时,您仍然需要使用 REST API 文档中描述的格式化。

text() 简单文本通知

toUser() 默认情况下,通知发送到传递的聊天 ID。如果您想向用户发送消息,则必须传递其 ID,并在 new Bitrix24Message() 对象上调用 toUser() 方法。这样,该方法将确定传递的 ID 是指向聊天还是用户。

许可证

MIT 许可证(MIT)。免费产品。