Skip to content

petrschefzu/amio-php-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

amio-php-sdk

PHP client library implementing Amio API for instant messengers.

Let us know how to improve this library. We'll be more than happy if you report any issues or even create pull requests. ;-)

Prerequisities

Signup to Amio and create a channel before using this library.

Installation

composer require myps/amio-php-sdk

Quickstart

Send a message

$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()}";
}

Receive a message

// 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());

About

A PHP client library for accessing Amio.io APIs https://docs.amio.io/v1.0/reference

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages