procergs/sms-service

There is no license information available for the latest version (3.0.0) of this package.

PROCERGS SMS Service

3.0.0 2018-05-25 20:39 UTC

This package is auto-updated.

Last update: 2020-07-11 18:41:41 UTC


README

This is for internal use only. If you do not work at PROCERGS or any of its software, this is most certainly not useful to you.

Installation

Important: Currently this lib depends on RestClientBundle so you'll have to load this bundle onto Symfony. We will change to Guzzle 6 HTTP client as soon as PROCERGS updates it's PHP servers.

Run the following command to add the composer dependency and install it:

composer require procergs/sms-service

If you are using Symfony, enable RestClientBundle on your AppKernel.php:

public function registerBundles()
{
    $bundles = array(
        // ...
        new Circle\RestClientBundle\CircleRestClientBundle(),
    );
}

Or just initialize it:

require_once 'vendor/autoload.php';

$optionsHandler = new \Circle\RestClientBundle\Services\CurlOptionsHandler([]);
$curl = new \Circle\RestClientBundle\Services\Curl($optionsHandler);
$client = new \Circle\RestClientBundle\Services\RestClient($curl);

Usage

You can send a message with the following code:

require_once 'vendor/autoload.php';

use libphonenumber\PhoneNumber;
use PROCERGS\Sms\SmsService;
use PROCERGS\Sms\Model\SmsServiceConfiguration;

$client = /* initialize or get HTTP client from Symfony */;

$config = new SmsServiceConfiguration(
    'https://some.address/send',
    'https://some.address/receive',
    'https://some.address/status/{id}',
    'auth realm',
    'SystemID',
    'your_secret_key',
    true
);

$service = new SmsService($client, $config);

$to = new PhoneNumber();
$to->setCountryCode('55')
    ->setNationalNumber('51987654321');

try {
    $response = $service->easySend($to, "hello world!");
    var_dump($response);
} catch (\Exception $e) {
    var_dump($e->getMessage());
}