smsglobal / smsglobal-php
SMSGlobal PHP Client Library
Installs: 107 254
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 3
Forks: 5
Open Issues: 5
pkg:composer/smsglobal/smsglobal-php
Requires
- php: >=7.3
- guzzlehttp/guzzle: ^7.2
Requires (Dev)
- php-http/guzzle7-adapter: ^0.1.1
- phpunit/phpunit: >=8.0
README
SMSGlobal REST API and Libraries for PHP
This is a PHP Client library for SMSGlobal’s REST API to integrate SMS capabilities into your PHP application.
Sign up for a free SMSGlobal account today and get your API Key from our advanced SMS platform, MXT. Plus, enjoy unlimited free developer sandbox testing to try out your API in full!
Requirements
- PHP 7.3 and above
- Guzzle7 (PHP HTTP client)
Installation
To install the PHP client library to your project, we recommend using Composer.
composer require smsglobal/smsglobal-php
Usage
Check out examples folder
Send SMS
<?php require_once __DIR__ . '/vendor/autoload.php'; // get your REST API keys from MXT https://mxt.smsglobal.com/integrations \SMSGlobal\Credentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY'); $sms = new \SMSGlobal\Resource\Sms(); try { $response = $sms->sendToOne('DESTINATION_NUMBER', 'This is a test message.'); print_r($response['messages']); } catch (\Exception $e) { echo $e->getMessage(); }
Send OTP
<?php require_once __DIR__ . '/vendor/autoload.php'; // get your REST API keys from MXT https://mxt.smsglobal.com/integrations \SMSGlobal\Credentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY'); $otp = new \SMSGlobal\Resource\Otp(); try { $response = $otp->send('DESTINATION_NUMBER', '{*code*} is your SMSGlobal verification code.'); print_r($response); } catch (\Exception $e) { echo $e->getMessage(); }
The following json response will be returned by the server:
{
"requestId": "404372541683674336263499",
"validUnitlTimestamp": "2020-11-18 16:24:51",
"createdTimestamp": "2020-11-18 16:22:51",
"lastEventTimestamp": "2020-11-18 16:22:51",
"destination": "61400000000",
"status": "Sent"
}
Verify OTP
The OTP code entered by your user can be verified by either using requestId or destination number. The followings are examples of each method:
<?php require_once __DIR__ . '/vendor/autoload.php'; // get your REST API keys from MXT https://mxt.smsglobal.com/integrations \SMSGlobal\Credentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY'); $otp = new \SMSGlobal\Resource\Otp(); try { $response = $otp->verifyByRequestId('request Id', 'OTP code enterted by your user.'); print_r($response); } catch (\Exception $e) { echo $e->getMessage(); }
<?php require_once __DIR__ . '/vendor/autoload.php'; // get your REST API keys from MXT https://mxt.smsglobal.com/integrations \SMSGlobal\Credentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY'); $otp = new \SMSGlobal\Resource\Otp(); try { $response = $otp->verifyByDestination('destination number', 'OTP code enterted by your user.'); print_r($response); } catch (\Exception $e) { echo $e->getMessage(); }
The following json response will be returned by the server if verification is successfull:
{
"requestId": "404372541683674336263499",
"validUnitlTimestamp": "2020-11-18 16:24:51",
"createdTimestamp": "2020-11-18 16:22:51",
"lastEventTimestamp": "2020-11-18 16:22:51",
"destination": "61400000000",
"status": "Verified"
}
Cancel OTP
The OTP request can be cancelled if an OTP is not expired and verified yet. It can be done by either using requestId or destination number. The followings are examples of each method:
require_once __DIR__ . '/vendor/autoload.php'; // get your REST API keys from MXT https://mxt.smsglobal.com/integrations \SMSGlobal\Credentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY'); $otp = new \SMSGlobal\Resource\Otp(); try { $response = $otp->cancelByRequestId('request Id'); print_r($response); } catch (\Exception $e) { echo $e->getMessage(); }
require_once __DIR__ . '/vendor/autoload.php'; // get your REST API keys from MXT https://mxt.smsglobal.com/integrations \SMSGlobal\Credentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY'); $otp = new \SMSGlobal\Resource\Otp(); try { $response = $otp->cancelByDestination('destination number'); print_r($response); } catch (\Exception $e) { echo $e->getMessage(); }
The following json response will be returned by the server if cancellation is successfull:
{
"requestId": "404372541683674336263499",
"validUnitlTimestamp": "2020-11-18 16:24:51",
"createdTimestamp": "2020-11-18 16:22:51",
"lastEventTimestamp": "2020-11-18 16:22:51",
"destination": "61400000000",
"status": "Cancelled"
}
Available REST API Resources
- Sms
- Sms Incoming
- OTP (beta)
- User
Unit Tests
Install development dependencies
composer require smsglobal/smsglobal-php
Run unit tests
./vendor/bin/phpunit tests
With coverage (requires extension pcov or xdebug)
./vendor/bin/phpunit --coverage-text tests
Getting help
View the REST API documentation for a list of available resources.
For any query contact us