PHP SMS GATEWAYS
PHP class for sms gateways, using same codebase and implementation to send sms in Vonage & ClickSend sms gateways.
AVAILABLE SMS PROVIDERS
-
Vonage: To use Vonage as provider, install the library `composer require vonage/client`
-
ClickSend To use ClickSend as provider, install the library `composer require clicksend/clicksend-php`
Installation Guide via Composer:
composer require nanoblocktech/php-sms-gateways
Usages
Initialize classes
use \Luminova\ExtraUtils\Sms\Gateway;
use \Luminova\ExtraUtils\Sms\Providers\Vonage;
use \Luminova\ExtraUtils\Sms\Providers\ClickSend;
use \Luminova\ExtraUtils\Sms\Exceptions\SmsException;
Initialize SMS Client using Vonage
use Luminova\ExtraUtils\Sms\Providers\Vonage;
$client = new Vonage("KEY", "SECRETE");
Initialize SMS Client using ClickSend
use Luminova\ExtraUtils\Sms\Providers\ClickSend;
$client = new ClickSend("USERNAME", "KEY");
Initialize SMS gateway
$gateway = new Gateway($client);
$gateway->setPhone('000000000');
$gateway->setFrom('000000000');
$gateway->setMessage('Hello your verification code is 1234');
try {
if($gateway->send()){
echo "Message sent successfully";
}else{
$response = $gateway->getResponse();
echo $response->getError();
}
} catch (SmsException $e){
echo $e->getMessage();
}
Send sms using modem serial port
use Luminova\ExtraUtils\Sms\SerialGateway;
try{
$serial = new SerialGateway('COM4', 'en_US');
$serial->send('000000000', 'Hello your verification code is 1234', function($data){
echo "Message sent successfully";
});
} catch (SmsException $e){
echo $e->getMessage();
}
Configuring your serial
use Luminova\ExtraUtils\Sms\SerialGateway;
$to = '9999999999';
$message = 'Hello your verification code is 1234';
try{
$serial = new SerialGateway('COM4', 'en_US');
$serial->setBaudRate(9600);
$serial->setParity('none');
$serial->setCharacterLength(8);
$serial->setStopBits(1);
$serial->setFlowControl('none');
if($serial->openDevice()){
$serial->sendMessage("AT+CMGF=1\n\r");
$serial->sendMessage("AT+cmgs=\"{$to}\"\n\r");
$serial->sendMessage("{$message}\n\r");
$serial->sendMessage(chr(26));
sleep(7);
$read = $serial->readPort(0);
$serial->closeDevice();
echo "Message was sent successfully";
}
} catch (SmsException $e){
echo $e->getMessage();
}
Response methods
$response = $gateway->getResponse();
/
* Get response status
*/
$response->getStatus();
/
* Get gateways response status
*/
$response->getOriginalStatus();
/
* Check if sms message was sent
*/
$response->isSuccess();
/
* Get api response body
*/
$response->getContent();
/
* Get error if any
*/
$response->getError();