Remember that this SDK is non-official. It may not work when Chatwork update their APIs in the feature.
This project is forked from wataridori/chatwork-sdk and added some features. If you want to use original repository, you should check wataridori/chatwork-sdk.
This repository is registered to Packagist. So you can use composer to install this repository with 'neleid/chatwork-sdk'.
Chatwork SDK supports Chatwork API version 2
Check the Chatwork API Document here
English API Document is here
- Added support for Chatwork API usage limits. You can get API Usage Limits information after successfull API call.
- Added support for Chatwork 'self_unread' feature. This enables the messages you posted unread. (It means you will be notified with chime.)
- Changed namespace from wataridori to Neleid.
- PHP Requirements is up to 7.0 from 5.4.
- PHP >= 7.0
- PHP cURL
You can install and manage Chatwork SDK for PHP by using Composer
composer require neleid/chatwork-sdk
Or add neleid/chatwork-sdk
into the require section of your composer.json
file then run composer update
ChatworkSDK::setApiKey($apiKey);
If you have problems with the SSL Certificate Verification, you can turn it off by the following setting.
// Not recommend. Only do this when you have problems with the request
ChatworkSDK::setSslVerificationMode(false);
Now you can easily use many functions to access Chatwork API Endpoints.
ChatworkAPI: This is the class that contains base API. You can use it to send request to Chatwork and receive the response in array.
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();
- ChatworkRoom: Use for store Room Information, with many functions to work with Room
- ChatworkUser: Use for store User Information.
- ChatworkMessage: Use for store Message Information.
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');
The 3 classes above are extended from the ChatworkBase
class. ChatworkBase
provides you some useful function to work with messages.
You can easily build a TO message, REPLY or QUOTE message.
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();
}
- Create a file named
config.json
inside thetests/fixtures/
folder. - Input your API Key, and a test Room into
config.json
file. It should look like this:
{
"apiKey": "YOUR-API-KEY-HERE",
"roomId": "YOUR-TEST-ROOM-HERE"
}
- Then run
phpunit
to start testing.
View contribution guidelines here