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!
- PHP 7.3 and above
- Guzzle7 (PHP HTTP client)
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
\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"
}
- Sms
- Sms Incoming
- OTP (beta)
- User
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