fazland / skebby-rest-client
Unofficial Skebby Rest Client
Installs: 10 872
Dependents: 2
Suggesters: 1
Security: 0
Stars: 7
Watchers: 4
Forks: 6
Open Issues: 2
Requires
- php: >=7.0
- ext-json: *
- ext-libxml: *
- ext-simplexml: *
- giggsey/libphonenumber-for-php: ^7.0|^8.0
- psr/event-dispatcher: ^1.0
- symfony/options-resolver: ^2.7|^3.0|^4.0|^5.0
Requires (Dev)
- ext-curl: *
- guzzlehttp/guzzle: ^6.0
- kcs/function-mock: dev-master
- php-http/discovery: ^1.0
- php-http/guzzle6-adapter: ^1.1,>=1.1.1
- php-http/httplug: ^1.0
- php-http/message: ^1.4
- php-http/message-factory: ^1.0
- phpunit/phpunit: ^6.5
- symfony/event-dispatcher: ^2.7|^3.0|^4.0|^5.0
This package is auto-updated.
Last update: 2024-11-18 17:47:50 UTC
README
Fazland's Skebby Rest Client is an unofficial PHP Rest Client for the italian SMS GatewayProvider Skebby.
Requirements
php
>= 7.4php xml extension
symfony/options-resolver
giggsey/libphonenumber-for-php
>= 8.0
Installation
The suggested installation method is via composer:
$ composer require fazland/skebby-rest-client
Using Skebby Rest Client
It's really simple. First of all, configuration!
Configuration
The mandatory configuration parameters are:
username
password
sender
method
Just create a Client
object passing to the constructor the parameters as an array:
$this->skebbyRestClient = new Client([ 'username' => 'your_username', 'password' => 'your_password', 'sender' => '+393333333333', 'method' => SendMethods::CLASSIC, 'encoding_scheme' => EncodingSchemas::NORMAL, // Optional 'charset' => Charsets::UTF8, // Optional 'endpoint_uri' => 'https://gateway.skebby.it/api/send/smseasy/advanced/rest.php' // (default) ]);
You can also set default values for delivery_start
and validity_period
, thus they can be overridden by the Sms object
Creating SMS:
To create an SMS just follow the example:
Sms::create() ->setRecipients([ '+393473322444', '+393910000000' ]) ->setRecipientVariables('+393473322444', [ 'name' => 'Mario', 'quest' => 'Go and rescue Peach, Bowser kidnapped her!' ]) ->setRecipientVariables('+393910000000', [ 'name' => 'Luigi', 'quest' => 'Help Mario, Bowser is really bad!!' ]) ->setText('Hey ${name}! ${quest}') ;
Send SMS!
Just use the Client::send(Sms $sms)
method to send sms!
$client->send($sms);
Note:
A single client will send SMS through the method you specified in configuration. If you want to send it through another method, just create a new client.
Events
You can leverage your preferred event system, as long as it implements PSR-14. Just pass your dispatcher as third argument of Client constructor:
$dispatcher = new EventDispatcher(); // any dispatcher implementing EventDispatcherInterface $options = [/* .. */]; // see above for detailed options $this->skebbyRestClient = new Client($options, null, $dispatcher);
Each time an SMS is sent, a \Fazland\SkebbyRestClient\Event\SmsMessageEvent
will be dispatched.
Test
Run
$ vendor/bin/phpunit
Contributing
Contributions are welcome. Feel free to open a PR or file an issue here on GitHub!
License
Skebby Rest Client is licensed under the MIT License - see the LICENSE file for details