Skip to content

atymic/sms-broadcast-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmsBroadcast PHP API Client

Build Status StyleCI Latest Stable Version License

This is a simple API client for SMS Broadcast.

You can view their API documentation here.

Install

composer require atymic/sms-broadcast

Usage

Creating the client

$client = \Atymic\SmsBroadcast\Factory\ClientFactory::create(
    'username',
    'password',
    '0412345678' // Default sender, optional
);

Sending a message to a single recipient

try {
    $response = $client->send('0487654321', 'This is an sms message');
} catch (\Atymic\SmsBroadcast\Exception\SmsBroadcastException $e) {
    echo 'Failed to send with error: ' . $e->getMessage();
}

echo 'SMS sent, ref: ' . $response->getSmsRef();

Sending a message to a multiple recipients

$to = ['0487654321', '0487654322', '0487654323']
$responses = $client->sendMultiple($to, 'This is an sms message');

foreach ($responses as $response) {
    echo $response->hasError()
        ? 'Failed to send SMS: ' . $response->getError()
        : 'SMS sent, ref: ' . $response->getSmsRef();
}

Check SMS credit balance

echo $client->getBalance(); // int(1222)

Tests

By default only unit tests will run. If you want to run the integration tests, copy the phpunit.dist.xml file to phpunit.xml and supply your SMS Broadcast credentials & to number in the file.

WARNING - Integration tests will send real SMS messages, so make sure not to run them in CI.

composer test

Todo

  • Support for incoming message webhooks