shiftechafrica/smsales-php-sdk

Library for Smsales Api Triggers. Use this to send bulk sms.

Installs: 638

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/shiftechafrica/smsales-php-sdk

v1.2.0 2024-12-15 05:48 UTC

This package is auto-updated.

Last update: 2025-10-05 14:04:07 UTC


README

Always Delivering


Documentation

πŸš€ Introduction

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://docs.smsales.co.ke

βš™οΈ Installation

Install the package using Composer:

composer require shiftechafrica/smsales-php-sdk

Update to the latest stable version:

composer update shiftechafrica/smsales-php-sdk --lock

If the package isn’t automatically discovered, run:

composer dump-autoload

Publish the configuration file:

php artisan vendor:publish --provider="SMSALES\SMSALEServiceProvider"

This will create the configuration file at:

config/smsales.php

Environment Setup

Add your API token in the .env file:

# Your SMSALES API token
SMSALES_API_TOKEN=your_api_token_here

🧩 Usage

The SDK provides a clean and consistent interface for interacting with the SMSALES API.

Example: Sending SMS and Checking Balances

<?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)
]);

πŸ“¬ API Responses

βœ… Successful Bulk SMS Request

{
  "data": {
    "message": "Accepted for dispatch..."
  }
}

πŸ“‘ Callback Report Example

{
  "sent": true,
  "sender": "SHIFTECH",
  "apiSender": "shiftech",
  "phoneNumbers": [
    "254XXXXXXXXX",
    "254XXXXXXXXX",
    "254XXXXXXXXX"
  ],
  "batch": "1CRVD1GEXE",
  "account": {
    "smsBalance": "663",
    "smsUsage": "24"
  }
}

🧭 Version Guidance

Version Status Packagist Namespace Release
1.x βœ… Latest shiftechafrica/smsales-php-sdk SMSALES v1.2.0

πŸ›‘οΈ Security Vulnerabilities

If you discover any security vulnerabilities, please contact:
πŸ“§ Bugs

πŸ“„ License

This package is open-source software licensed under the
MIT License