myps / amio-php-sdk
A PHP客户端库,用于访问amio.io API。
dev-master
2019-05-06 16:02 UTC
Requires
- php: ^7.1
- ext-json: *
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpstan/phpstan: ^0.10.0
- phpunit/phpunit: ^7.2
This package is not auto-updated.
Last update: 2024-10-01 17:06:15 UTC
README
PHP客户端库,实现即时通讯的Amio API。
告诉我们如何改进这个库。如果你报告任何问题或甚至创建pull请求,我们将非常高兴。:-)
先决条件
在使用此库之前,请通过 注册Amio 并创建一个频道。
安装
composer require myps/amio-php-sdk
快速入门
发送消息
$client = new \MYPS\Amio\Api\Client('get access token at https://app.amio.io/administration/settings/api'); $messageApi = new \MYPS\Amio\Api\Messages($client); try { //Step 1 - create message $message = \MYPS\Amio\Messages\Message::text("Hello facebook!"); //Step 2 - send message $messageApi->send($message, "{CHANNEL_ID}", ["id" => "{CONTACT_ID}"]); //Shorter way to send sms to phone number $messageApi->sendSMS("Hello world!", "{CHANNEL_ID}", "{PHONE_NUMBER}"); } catch (\MYPS\Amio\Exceptions\AmioResponseException $e) { echo "Amio error: {$e->getMessage()}"; } catch (\GuzzleHttp\Exception\GuzzleException $e) { echo "Guzzle error: {$e->getMessage()}"; }
接收消息
// Create your own classes to handle messages: class MyDeliveredMessagesHandler implements \MYPS\Amio\Webhooks\WebHookHandlerInterface { public function handleWebHook(array $data): void { // Optionally you can use predefined message object $message = \MYPS\Amio\Webhooks\Types\MessagesDelivered::createFromRequest($data); } } class MyFailedMessageHandler implements \MYPS\Amio\Webhooks\WebHookHandlerInterface { public function handleWebHook(array $data): void { // Optionally you can use predefined message object $message = \MYPS\Amio\Webhooks\Types\MessageFailed::createFromRequest($data); } } $webhookHandler = new \MYPS\Amio\Webhooks\WebHookHandler($enable, ['{CHANNEL_ID}' => '{SECRET}']); $webhookHandler->onMessagesDelivered(new MyDeliveredMessagesHandler()); $webhookHandler->onMessageFailed(new MyFailedMessageHandler()); $webhookHandler->handle(file_get_contents('php://input'), getallheaders());