Chatwork SDK for PHP
Bài đăng này đã không được cập nhật trong 9 năm
About
This is just a non-official SDK for Chatwork API written in PHP. It may not work when Chatwork update their APIs in the feature.
- Homepage: http://wataridori.github.io/chatwork-sdk/
- Github/English Document: https://github.com/wataridori/chatwork-sdk
- API: http://wataridori.github.io/chatwork-sdk/api/index.html
Requirement
ChatworkSDK
yêu cầu phiên bản PHP từ 5.4 trở lên. Ngoài ra ChatworkSDK
sử dụng cURL để gửi request nên bạn cũng cần phải có cURL cũng như extension cURL cho PHP.
Install
Bạn có thể cài đặt ChatworkSDK
thông qua composer bằng câu lệnh đơn giản:
composer require wataridori/chatwork-sdk
Usage
- Trước tiên, để sử dụng được các hàm API mà Chatwork cung cấp, bạn cần đăng ký một chuỗi token tại đây. Hãy chú ý đừng để lộ chuỗi token đó cho bất kỳ ai, bởi họ có thể sử dụng token để đọc hay gửi message với account của bạn đấy
- Khi đã có được API Token, bạn có thể bắt đầu sử dụng
ChatworkSDK
một cách dễ dàng.
ChatworkSDK::setApiKey($apiKey);
ChatworkSDK
hiện đã cover hết tất cả những API mà Chatwork cung cấp. Danh sách đó các bạn có thể tham khảo ở trang Developer của Chatwork.
Bạn có thể gửi request đến tất cả các Enpoint mà Chatwork cung cấp thông qua các hàm trong class ChatworkAPI
. Danh sách các hàm này cũng như cách dùng có thể xem ở đây. Ví dụ:
ChatworkSDK::setApiKey($apiKey);
$api = new ChatworkApi();
// Get user own information
$api->me();
// Get user own statics information
$api->getMyStatus();
// Get user rooms list
$api->getRooms();
Advanced
Bên cạnh việc cover hết toàn bộ các API mà Chatwork cung cấp hiện tại thì ChatworkSDK
còn cung cấp các Class và các hàm hữu ích để bạn có thể viết code theo một cách hướng đối tượng hơn, cũng như đơn giản hoá rất nhiều tác vụ.
Những class đó bao gồm ChatworkRoom
, ChatworkMessage
và ChatworkUser
.
Một ví dụ về việc khởi tạo một đối tượng của ChatworkRoom
, lấy ra danh sách các user có trong Room đó (kết quả là một mảng các instances của Class ChatworkUser
), sau đó gửi một message đến user trong Room.
ChatworkSDK::setApiKey($apiKey);
$room = new ChatworkRoom($roomId);
// The following function will return an array of ChatworkUser
$members = $room->getMembers();
foreach ($members as $member) {
// Print out User Information
print_r($member->toArray());
}
// Send Message to All Members in the Room
$room->sendMessageToAll('Test Message');
// Send Message to list of members in the room
$room->sendMessageToList([$member_1, $member_2], 'Another Test Message');
Ngoài ra, do cả 3 Class ChatworkRoom
, ChatworkMessage
và ChatworkUser
đều được kế thừa từ ChatworkBase
thế nên bạn cũng có thể sử dụng rất nhiều hàm liên quan đến việc xử lý text, xử lý message mà ChatworkBase
cung cấp.
Dưới đây là một ví dụ về cách thức gửi một mesage reply một message khác, hay gửi một message có chứa các tag info, hay cả nội dung quote từ một message khác.
ChatworkSDK::setApiKey($apiKey);
$room = new ChatworkRoom($roomId);
$messages = $room->getMessages();
if ($messages & !empty($messages[0])) {
$lastMessage = $messages[0];
// Reset Message to null string
$room->resetMessage();
// Append the REPLY text to current message
$room->appendReplyInRoom($lastMessage);
// Append the QUOTE text to current message
$room->appendQuote($lastMessage);
// Append the Information Text to the current message
$room->appendInfo('Test Quote, Reply, Info text', 'Test from Chatwork-SDK');
// Send current message into the Room
$room->sendMessage();
}
Run Test
Để chạy Unit Test, bạn cần tạo một số config trước. Cụ thể:
- Tạo một file có tên là
config.json
, đặc bên trong foldertests/fixtures/
. - Nhập vào Chatwork API Token mà bạn có, cũng như một RoomID để test. File
config.json
của bạn cần có dạng như sau:
{
"apiKey": "YOUR-API-KEY-HERE",
"roomId": "YOUR-TEST-ROOM-HERE"
}
- Cuối cùng, chỉ cần chạy lệnh
phpunit
.
Contrubuting
- Fork
- Clone
- Viết code & test case
- phpunit
- Push code
- Tạo Pull Request
All rights reserved