PHP Classes

File: README.md

Recommend this page to a friend!
  Classes of Ujah Chigozie peter   PHP SMS Gateway Integration   README.md   Download  
File: README.md
Role: Documentation
Content type: text/markdown
Description: Documentation
Class: PHP SMS Gateway Integration
Send SMS messages using different providers
Author: By
Last change: Update README.md
Date: 1 month ago
Size: 2,906 bytes
 

Contents

Class file image Download

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();