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!
To install the PHP client library to your project, we recommend using Composer.
composer require smsglobal/smsglobal-php
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
SMSGlobalCredentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY');
$sms = new SMSGlobalResourceSms();
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
SMSGlobalCredentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY');
$otp = new SMSGlobalResourceOtp();
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
SMSGlobalCredentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY');
$otp = new SMSGlobalResourceOtp();
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
SMSGlobalCredentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY');
$otp = new SMSGlobalResourceOtp();
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
SMSGlobalCredentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY');
$otp = new SMSGlobalResourceOtp();
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
SMSGlobalCredentials::set('YOUR_API_KEY', 'YOUR_SECRET_KEY');
$otp = new SMSGlobalResourceOtp();
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"
}
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
View the REST API documentation for a list of available resources.
For any query contact us