adiafora / laravel-notification-bitrix24
用于 Laravel 通知到 Bitrix24 的包
Requires
- php: >=7.1
- illuminate/notifications: ~5.5 || ~6.0 || ~7.0 || ~8.0
- illuminate/queue: ~5.5 || ~6.0 || ~7.0 || ~8.0
- illuminate/support: ~5.5 || ~6.0 || ~7.0 || ~8.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ~7.0 || ~8.0
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)。免费产品。