avidian / semaphore
A wrapper for accessing the Semaphore SMS API
v1.0.0
2021-11-23 06:29 UTC
Requires
- guzzlehttp/guzzle: ^7.3
This package is auto-updated.
Last update: 2025-02-23 13:33:34 UTC
README
A wrapper for accessing the Semaphore SMS API
Table of Contents
Installation
composer require avidian/semaphore
Basic Usage
Sending Messages
use Avidian\Semaphore\Client; $client = new Client('your api key', [/* options */]); $response = $client->send('09991234567', 'your message'); // multiple recipients $recipients = '09991234567, 09997654321'; $response = $client->send($recipients, 'your message');
[ { "message_id": 1234567, "user_id": 99556, "user": "user@your.org", "account_id": 90290, "account": "Your Account Name", "recipient": "09991234567", "message": "The message you sent", "sender_name": "SEMAPHORE", "network": "Globe", "status": "Queued", "type": "Single", "source": "Api", "created_at": "2016-01-01 00:01:01", "updated_at": "2016-01-01 00:01:01" } ]
Retrieving Messages
$response = $client->messages([ 'limit' => 100, 'page' => 1 ]);
Supported filters for retrieving messages
$options = [ 'limit' => 100, 'page' => 1, 'sendername' => 'SEMAPHORE', 'startDate' => '2016-01-01', 'endDate' => '2016-02-01', 'network' => 'globe', 'status' => 'success', ];
Retrieving account information
$response = $client->account();
{ "account_id": 12345, "account_name": "Your Organization", "status": "Active", "credit_balance": 5000 }
Retrieve users
$response = $client->users();
[ { "user_id": 12345, "email": "owner@your.org", "role": "Owner" }, { "user_id": 54321, "email": "someguy@your.org", "role": "User" } ]
Sender names
$response = $client->senderNames();
[ { "name": "Semaphore", "status": "Active", "created": "2016-01-01 00:00:01" }, { "name": "Kickstart", "status": "Active", "created": "2016-01-01 00:00:01"" } ]
Transactions
$response = $client->transactions();
License
This library is open-sourced software licensed under the MIT license.