Я уже писал в прошлом материале о добавлении нотификаций в Laravel для сообщений в телеграмм. А в этом материале рассмотрим нотификации в Microsoft Teams. Но тут все немного проще, так как мы будем использовать уже готовый пакет.
Ставим пакет через композер
composer require laravel-notification-channels/microsoft-teams
Я не рассматриваю версии ниже 7-й. В ней уже есть автоопределение подключенных библиотек. Для версий ниже смотрите в описании пакета прописывание провайдера для установки в app/config/app.php.
Для отправки сообщений используются веб-хуки. Которые вы задаете в файле config/services.php, в виде элементов массива:
...
'teams' => [
'main_url' => env('TEAMS_MAIN_WEBHOOK_URL'),
'second_url' => env('TEAMS_SECOND_WEBHOOK_URL'),
],
...
Использование пакета. Для этого создаем нотификацию через артисан:
php artisan make:notification newOrderNotification
После этого идем в редактирование и поправляем отправку через веб-хуки и контент под себя
use Illuminate\Notifications\Notification;
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel;
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage;
class newOrderNotification extends Notification
{
public function via($notifiable)
{
return [MicrosoftTeamsChannel::class];
}
public function toMicrosoftTeams($notifiable)
{
return MicrosoftTeamsMessage::create()
->to(config('services.teams.webhook_url'))
->type('success')
->title('Новый заказ')
->content('Создан новый заказ')
->button('Просмотреть', 'https://website.url/order/'.$notifiable->id);
}
}
Отзывы
Пока нет комментариев
Для того чтобы оставить комментарий, авторизуйтесь.