SMSALES PHP SDK provides a simple, developer-friendly interface for interacting with the SMSALES API — a powerful platform for sending and managing SMS communications.
This SDK enables seamless integration of SMS services into your Laravel or standalone PHP applications, helping you to:
- 📤 Send single or bulk SMS messages effortlessly
- 💰 Retrieve account and sender ID balances
- 📊 Receive delivery callbacks and monitor message status
- ⚙️ Automate messaging workflows with scheduling and webhooks
With SMSALES, you can focus on communication — while the SDK handles the complexity of SMS API interactions.
📘 Official Documentation: https://smsales.co.ke/docs
Install the package using Composer:
composer require shiftechafrica/smsales-php-sdkUpdate to the latest stable version:
composer update shiftechafrica/smsales-php-sdk --lockIf the package isn’t automatically discovered, run:
composer dump-autoloadPublish the configuration file:
php artisan vendor:publish --provider="SMSALES\SMSALEServiceProvider"This will create the configuration file at:
config/smsales.php
Add your API token in the .env file:
# Your SMSALES API token
SMSALES_API_TOKEN=your_api_token_hereThe SDK provides a clean and consistent interface for interacting with the SMSALES API.
<?php
use SMSALES\API\Trigger;
/**
* ----------------------------------------
* SMSALES SDK Usage Examples
* ----------------------------------------
* Demonstrates how to interact with the
* SMSALES API for sending and tracking SMS.
*/
/**
* Fetch latest sent messages
*/
(new Trigger())->index();
/**
* Get account SMS balance
*/
(new Trigger())->accountSmsBalance();
/**
* Get sender ID SMS balance
*/
(new Trigger())->senderIDSmsBalance();
/**
* Send bulk SMS
*/
(new Trigger())->send([
"api_sender" => "shiftech", // Required — must match your registered Sender ID
"message" => "Hello from SMSALES!", // Required
"phone_numbers" => ["2547XXXXXXXX", "2541XXXXXXXX", "2547XXXXXXXX"], // Required
"scheduled_at" => "2025-12-01 10:00:00", // Optional (Y-m-d H:i:s format)
"callback_url" => "https://yourdomain.com/sms/callback" // Optional (POST endpoint)
]);{
"data": {
"message": "Accepted for dispatch..."
}
}{
"messageID": "c7740da8-ce30-4a09-a2bd-31af64b3ecea",
"sent": true,
"status": "delivered",
"code": 1,
"sender": "SMSALES",
"apiSender": "smsales",
"phoneNumbers": [
"2547xxxxxx"
],
"batch": "3GEVWT8GX9",
"queued_at": "2026-07-14T17:56:19+03:00",
"received_at": "2026-07-14T17:56:29+03:00",
"error": null,
"account": {
"smsBalance": 47348,
"smsUsage": 58068
}
}| Version | Status | Packagist | Namespace | Release |
|---|---|---|---|---|
| 1.x | ✅ Latest | shiftechafrica/smsales-php-sdk |
SMSALES |
v1.2.0 |
If you discover any security vulnerabilities, please contact:
📧 Bugs
This package is open-source software licensed under the
MIT License

