Push notification to chatwork using Laravel 7x
Bài đăng này đã không được cập nhật trong 4 năm
Xin chào mọi người!
Nhận thấy Chatwork có public API nên mình muốn làm 1 bản demo nhỏ để push notification lên Chatwork, từ đó để các bạn có thể ứng dụng tạo lời nhắc hay push tự động lên Chatwork như là Update OKR, Daily Report, ...
Nào mình cùng bắt đầu nhé.
I. Create project Laravel 7x
Trước tiên là cài project Laravel. Các bạn có thể vào docs của Laravel để xem và cài đặt tại đây Install Laravel 7x. Chỉ cần mở command line của các bạn lên và chạy lệnh sau:
composer create-project --prefer-dist laravel/laravel:^7.0 laravel7x
Sau khi chạy lệnh này, laravel framework sẽ được tạo trong thư mục laravel7x
II. Get Token Chatwork
Tiếp đến, mình sẽ hướng dẫn cách lấy Token của Chatwork.
Các bạn đăng nhập vào tài khoản của mình, và truy cập vào https://www.chatwork.com/ và click vào Avatar chọn Integrations.
Trên page hiển thị đó bạn chọn API Token
Nhập password của bạn vào và sau đó sẽ hiển thị Token cá nhân của bạn
OK, như vậy bạn đã có Token API của Chatwork cá nhân bạn. Lưu ý là không nên share Token này cho ai khác, kẻo bị mạo danh làm điều không mong muốn hoặc bị lộ các thông tin chat trên Chatwork nhé
Tiếp theo tiến hành test Token API Chatwork vừa lấy được.
Các bạn có thể tham khảo tài liệu tại đây để rõ hơn: Chatwork API doccument
III. Push notification to Chatwork
OK, Tiếp theo mình sẽ code để push notification vào Chatwork nhé.
3.1 Install package
Để push notification, mình dùng package wataridori/chatwork-sdk
- Cài đặt package vào project:
composer require wataridori/chatwork-sdk
- Thêm Alias cho package vừa install vào
config/app.php
:
'ChatworkSDK' => \wataridori\ChatworkSDK\ChatworkSDK::class,
3.2 Create command run Batch
Tiếp theo, sử dụng command để tạo Batch mới.
php artisan make:command PushChatwork
Sau đó, mở file app/Console/Commands/PushChatwork.php
batch đã tạo ra và sửa thành:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use wataridori\ChatworkSDK\ChatworkApi;
use wataridori\ChatworkSDK\ChatworkRoom;
use wataridori\ChatworkSDK\ChatworkSDK;
class PushChatwork extends Command
{
protected $signature = 'push:chatwork';
protected $description = 'Command description';
private $apiKey = 'API_CHATWORK_TOKEN'; //Token bạn đã lấy được
public function __construct()
{
parent::__construct();
ChatworkSDK::setApiKey($this->apiKey);
}
public function handle()
{
$api = new ChatworkApi();
// Get user rooms list
$rooms = $api->getRooms();
foreach ($rooms as $room) {
$room = new ChatworkRoom($room['room_id']);
$members = $room->getMembers();
$room->sendMessageToList($members, 'This is test message'); //Gửi message tới toàn bộ member trong room
}
}
}
- Chạy command để push notification:
php artisan push:chatwork
Và tận hưởng thành quả của mình nào
IV. Tổng kết
Như vậy mình đã hướng dẫn xong cách tạo batch trên Laravel push notification đến Chatwork thành công! Hy vọng sẽ giúp đỡ được ai đó trong quá trình tìm hiểu.
Từ ví dụ sample như này các bạn có thể áp dụng vào cho chính mình để tạo schedule nhắc nhở update OKR, Daily Report ...
Hẹn gặp lại các bạn vào bài viết sau nhé! Thanks you for reading
Tham khảo
All rights reserved