+8

Chatwork SDK For Laravel5

Mở đầu

ChatWork là một Ứng dụng của NHẬT BẢN tích hợp tất cả trong một: tính năng chat, chỉ định công việc, gọi thoại/video và chia sẻ tập tin. Nó giúp cho nhân viên dễ dàng làm việc theo nhóm bằng hình thức đối thoại trực tiếp, tăng khả năng tương tác và nâng cao hiệu quả công việc. Có hơn 185,000 công ty, khu vực sử dụng Chatwork trao đổi thông tin, nâng cao hiệu suất và đối thoại để thành công.

Hiện tại, có rất nhiều công ty, tổ chức đang tích hợp các tính năng của chatwork cho project Laravel của mình. Chính vì vậy, hôm nay mình xin giới thiệu đến các bạn package Laravel-Chatwork do Sun* R&D Lab phát triển. Hy vọng phần nào có thể giúp cho việc sử dụng các tính năng của Chatwork cho laravel trở nên thuận tiện và dễ dàng hơn 😃😃😃 .

Github: https://github.com/sun-asterisk-research/laravel-chatwork

Package: https://packagist.org/packages/sun-asterisk/laravel-chatwork

Nội dung

I. Create project Laravel

Để sử dụng package, trước tiên ta cần tạo 1 project Laravel

composer create-project --prefer-dist laravel/laravel sun-asterisk/laravel-chatwork

II. Install Required Composer Packages

Chúng ta cần thiết lập các gói packages cần thiết cho project.

composer require sun-asterisk/laravel-chatwork

Tiếp theo chúng ta cần cập nhật Provider bằng lệnh:

php artisan vendor:publish --provider="SunAsterisk\Chatwork\Laravel\ServiceProvider"

III. Configure

Đầu tiên bạn cần đăng ký 1 API Key tại đây. Sau đó thêm API Key của bạn vào file .env

CHATWORK_API_KEY = your_api_key

IV. Usage

Bạn có thể sử dụng các tính năng của Chatwork thông qua 1 provided facade.

use Chatwork;

$me = Chatwork::me();
$members = Chatwork::room($roomId)->members()->list();

Bạn cũng có thể sử dụng dependency injection

use SunAsterisk\Chatwork\Chatwork;

class ChatworkCommand extends Command
{
    public function handle(Chatwork $chatwork)
    {
        $message = $chatwork->toAll()->text('Hi there');
        $chatwork->room($roomId)->messages()->create($message);
    }
}

V. Các tính năng của chatwork

Tiếp theo, mình xin điểm qua một vài tính năng của Chatwork sử dụng trong package.

Xem thông tin cá nhân của mình
$me = Chatwork::me();
Kiểm tra số chat, số To chưa đọc
$status = Chatwork::my()->status();
Lấy ra danh sách các task
$tasks = Chatwork::my()->tasks();
Lấy ra danh sách các yêu cầu contact đang chờ xác nhận
$requests = Chatwork::incomingRequests()->list();
Chấp nhận yêu cầu contact
Chatwork::incomingRequests()->accept($roomId);
Từ chối yêu cầu contact
Chatwork::incomingRequests()->reject($roomId);
Lấy ra danh sách danh bạ
$users = Chatwork::contacts();
Lấy ra danh sách chat của mình
$rooms = Chatwork::rooms()->list();
Tạo group chat mới
Chatwork::rooms()->create([
        'members_admin_ids' => '123,542,1001',
        'members_member_ids' => '21,344',
        'members_readonly_ids' => '15,103',
        'name' => 'Test project',
        'description' => "A demo project",
        'icon_preset' => 'event, check',
    ]);

Trong đó:

  • members_admin_ids: Mảng acount ID các admin user.
  • members_member_ids: Mảng acount ID các member user.
  • members_readonly_ids: Mảng acount ID các Readonly user.
  • name: Tên Group Chat.
  • description: Text giải thích description của Group Chat.
  • icon_preset: Các loại icon trong Group Chat
Lấy thông tin chat room
Chatwork::room($roomId)->detail();
Cập nhật thông tin chat room
Chatwork::room($roomId)->updateRoomInfo([
    'description' => 'group chat description',
    'icon_preset' => 'meeting',
    'name' => 'Website renewal project'
]);
Xóa nhóm chat
Chatwork::room($roomId)->delete();
Rời nhóm chat
Chatwork::room($roomId)->leave();
Lấy danh sách tin nhắn từ 1 chat room
Chatwork::room($roomId)->messages()->list();
Gửi 1 tin nhắn trong chat room
$message = Chatwork::message()->to($accountId, "Boy de thuong")->text("Hello Baby");
Chatwork::room($roomID)->messages()->create((string) $message);
Xóa 1 tin nhắn trong chat room
Chatwork::room($roomID)->messages()->delete($messageID);
Sửa 1 tin nhắn trong chat room
$message = (string) Chatwork::message()->toAll()->text("Hi everybody");
Chatwork::room($roomID)->messages()->update($messageID, $message);
Xóa 1 tin nhắn trong chat room
Chatwork::room($roomID)->messages()->delete();
Đánh dấu 1 tin nhắn thành đã đọc trong chat room
Chatwork::room($roomID)->messages()->markAsRead($messageId);
Đánh dấu 1 tin nhắn thành chưa đọc trong chat room
Chatwork::room($roomID)->messages()->markAsUnRead($messageId);
Lấy danh sách member trong chat room
Chatwork::room($roomID)->members()->list();
Lấy danh sách task trong chat room
Chatwork::room($roomID)->tasks()->list();
Lấy danh sách task trong chat room
Chatwork::room($roomID)->files()->list();

Trên đây là 1 vài tính năng hữu ích của chatwork sử dụng trong package. Chi tiết xem tại Chatwork API

Kết luận

Trên đây là toàn bộ những chia sẻ của mình về 1 package laravel-chatwork. Rất mong nhận được ý kiến đóng góp của các bạn để giúp cho package được hoàn thiện hơn.

Contributing


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.