Skip to content

ridvanbaluyos/sms

Repository files navigation

ridvanbaluyos/sms

An SMS Provider Library for PHP

Actively Maintained Latest Stable Version Total Downloads Scrutinizer Code Quality Build Status Codacy Badge License

Installation

Open your composer.json file and add the following to the require key:

"ridvanbaluyos/sms": "v0.6-alpha"

After adding the key, run composer update from the command line to install the package

composer update

Or simply add:

composer require ridvanbaluyos/sms

Make sure you register for an account and load up your balance.

Configuration

  1. Go to src/ridvanbaluyos/sms/config folder.
  2. Rename default.providers.json to providers.json.
  3. Fill-up the necessary fields. You need not fill up all providers, only those that you are using.
  "Semaphore" : {
    "url" : "http://api.semaphore.co/api/sms",
    "from" : "Justin Bieber",
    "api" : "1$1++0074+3n0w+0$4ychUR1-cHUr1'x"
  },
  1. In the same folder, open distributions.json and fill up the weights. The total value should be 1.0.
{
  "PromoTexter" : "0.5",
  "Semaphore" : "",
  "RisingTide" : "0.5",
  "Chikka" : ""
}

Usage

Sending SMS with Provider

use ridvanbaluyos\sms\Sms as Sms;
use ridvanbaluyos\sms\providers\PromoTexter as PromoTexter;

$message = 'this is a test message';
$phoneNumber = '639123456789';

$provider = new PromoTexter();
$sms = new Sms($provider);
$sms->send($phoneNumber, $message);

Sending SMS with No Provider

use ridvanbaluyos\sms\Sms as Sms;

$message = 'this is a test message';
$phoneNumber = '639123456789';

$sms = new Sms();
$sms->send($phoneNumber, $message);

When no SMS provider is specified, it will be randomized based on the weights that you defined in the distribution.json file (eg. 0.25 is 25% chance).

Account Balance

use ridvanbaluyos\sms\Sms as Sms;

$provider = new PromoTexter();
$sms = new Sms($provider);
$sms->balance();

Supported SMS Providers

  1. Semaphore
  2. PromoTexter
  3. RisingTide
  4. Chikka
  5. Nexmo
  6. Twilio

To Follow

  1. More SMS Providers!