smsgate/client

PHP Client for using SMS Gate HTTP API.

v1.0.1 2019-03-08 08:17 UTC

This package is not auto-updated.

Last update: 2024-04-28 18:10:13 UTC


README

This library requires a minimum PHP version of 5.6

Installation

To install the PHP client library to your project, we recommend using Composer.

composer require smsgate/client

If you're new to Composer, here are some resources that you may find useful:

Send SMS

//use composer's autoload
require 'vendor/autoload.php';

//make sure to set the real URL for bulk gate
$gate = new SMSGate\Client('http://localhost:9000/bulk_server');

$sms = new SMSGate\SMSRequest;
$sms    ->setType(SMSGate\Client::TYPE_TEXT)
        ->setAuthUsername('test')
        ->setAuthPassword('test')
        ->setSender('Test Sender')
        ->setReceiver('41587000201')
        ->setText('Hello there!')
        ////make sure to set the real URL for your webhook handler
        ->setDlrUrl('http://localhost:8000/dlr.php')
        ->setDlrMask(SMSGate\Client::DLR_MASK_STANDARD);
try {
    $response = $gate->send($sms);
} catch (\Exception $exc) {
    echo "Error sending SMS with code: " . $exc->getCode() . " and message: " . $exc->getMessage();
    exit;
}

echo "SMS sent with ID: " . $response->msgId . " and num of parts: " . $response->numParts;

Receive DLRs

//use composer's autoload
require 'vendor/autoload.php';

$gate = new SMSGate\Client('');

$dlr = $gate->parseDeliveryReport();
if(!isset($dlr)){
    error_log("Cannot parse DLR from the request");
    exit;
}

error_log("Received DLR: " . json_encode($dlr));

Check examples directory for more details. To run examples locally run from the command line

cd examples
./run_srv.sh

and then open http://localhost:8000/