avidian / semaphore
A wrapper for accessing the Semaphore SMS API
Installs: 52
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/avidian/semaphore
Requires
- guzzlehttp/guzzle: ^7.3
This package is auto-updated.
Last update: 2025-10-23 15:01:11 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.