atymic/sms-broadcast

PHP client for the SMS Broadcast API

Fund package maintenance!
atymic

1.1.1 2019-07-15 05:14 UTC

This package is auto-updated.

Last update: 2024-10-15 17:12:35 UTC


README

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