GoSms PHP library - provides communication with https://doc.gosms.cz in PHP using PSR-18 HTTP Client, PSR-17 HTTP Factories and PSR-16 SimpleCache.
Via Composer
$ composer require digitalcz/gosms
use DigitalCz\GoSms\Auth\ApiKeyCredentials;
use DigitalCz\GoSms\GoSms;
// Via constructor options
$goSms = new GoSms([
'client_id' => '...',
'client_secret' => '...'
]);
// Or via methods
$goSms = new GoSms();
$goSms->setCredentials(new ApiKeyCredentials('...', '...'));
client_id
- string; ApiKey client_id keyclient_secret
- string; ApiKey client_secret keycredentials
- DigitalCz\GoSms\Auth\Credentials instanceclient
- DigitalCz\GoSms\GoSmsClient instance with your custom PSR17/18 objectshttp_client
- Psr\Http\Client\ClientInterface instance of your custom PSR18 clientcache
- Psr\SimpleCache\CacheInterface for caching Credentials Tokensapi_base
- string; override the base API url
use DigitalCz\GoSms\Auth\Token;
use DigitalCz\GoSms\Auth\TokenCredentials;
use DigitalCz\GoSms\GoSms;
use DigitalCz\GoSms\GoSmsClient;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
use Symfony\Component\Cache\Psr16Cache;
use Symfony\Component\HttpClient\Psr18Client;
$goSms = new GoSms();
// To set your own PSR-18 HTTP Client, if not provided Psr18ClientDiscovery is used
$goSms->setClient(new GoSmsClient(new Psr18Client()));
// If you already have the auth-token, i can use TokenCredentials
$goSms->setCredentials(new TokenCredentials(new Token('...', 123)));
// Cache will be used to store auth-token, so it can be reused in later requests
$goSms->setCache(new Psr16Cache(new FilesystemAdapter()));
// Overwrite API base
$goSms->setApiBase('https://example.com/api');
services:
DigitalCz\GoSms\GoSms:
$options:
# minimal config
client_id: '%gosms.client_id%'
client_secret: '%gosms.client_secret%'
# other options
cache: '@psr16.cache'
http_client: '@psr18.http_client'
$goSms = new DigitalCz\GoSms\GoSms(['client_id' => '...', 'client_secret' => '...']);
$organization = $goSms->organization()->detail();
echo "Detail organization " . var_dump($organization) . PHP_EOL;
$messages = $goSms->messages();
$message = $messages->create(
[
'message' => 'Hello Hans, please call me back.',
'recipients' => '+420775300500',
'channel' => 6,
],
);
echo "Created Message " . $message->link() . PHP_EOL;
$message = $messages->get('example_message_id');
echo "Detail Message " . var_dump($message) . PHP_EOL;
$messages->delete('example_message_id');
echo "Message was deleted " . PHP_EOL;
Please see CHANGELOG for more information on what has changed recently.
$ composer csfix # fix codestyle
$ composer checks # run all checks
# or separately
$ composer tests # run phpunit
$ composer phpstan # run phpstan
$ composer cs # run codesniffer
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.