smsglobal / smsglobal-php
SMSGlobal PHP Client Library
Installs: 80 413
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 4
Forks: 5
Open Issues: 3
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