horisen / smsgate-smshttpclient-php

PHP client library for smsgate

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP library for SMS Gate

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/

About

PHP client library for smsgate


Languages

Language:PHP 100.0%