PHPackages                             haniusif/tawasolsms - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. haniusif/tawasolsms

ActiveLibrary

haniusif/tawasolsms
===================

A Laravel package for sending SMS via the Tawasol SMS API.

v1.2(1y ago)215MITPHPPHP ^7.4 || ^8.0 || ^8.1 || ^8.2

Since Sep 25Pushed 1y ago1 watchersCompare

[ Source](https://github.com/haniusif/tawasolsms)[ Packagist](https://packagist.org/packages/haniusif/tawasolsms)[ RSS](/packages/haniusif-tawasolsms/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (1)Versions (5)Used By (0)

Tawasol SMS Laravel Package
===========================

[](#tawasol-sms-laravel-package)

The **Tawasol SMS Laravel Package** is an unofficial module designed to easily integrate SMS functionality into any Laravel project. It provides API endpoints to send SMS messages, check SMS balances, and track delivery statuses using the Tawasol API. It supports SMS messages in multiple formats, including English, Unicode, and Arabic.

Features
--------

[](#features)

- Send SMS messages via Tawasol SMS API.
- Check SMS balance.
- Track message delivery status.
- Supports English, Unicode, and Arabic messages.

Installation
------------

[](#installation)

You can install the package via Composer. If you are using it as a local package, follow the steps below:

1. Run the following command to install the package:

    ```
    composer require haniusif/tawasolsms
    ```
2. Publish the configuration file:

    ```
    php artisan vendor:publish --tag=config --provider="Haniusif\\TawasolSms\\TawasolSmsServiceProvider"
    ```

    Create a config file config/tawasolsms.php for user credentials and API settings:

    ```
     env('TAWASOL_SMS_API_URL', 'https://tawasolsms.com:8582/websmpp'),
    'accesskey' => env('TAWASOL_SMS_ACCESSKEY', ''),
    'sid' => env('TAWASOL_SMS_SID', ''),
     ];
    ```
3. After publishing the configuration file, add your Tawasol SMS credentials in the .env file:

    ```
    TAWASOL_SMS_SID=your_sender_id
    TAWASOL_SMS_API_URL=https://gw14.tawasolsms.com:8582/websmpp
    TAWASOL_SMS_ACCESSKEY=your_access_key
    ```

Usage
-----

[](#usage)

### Sending SMS

[](#sending-sms)

You can send an SMS using the TawasolSms facade:

```
use Haniusif\TawasolSms\Facades\TawasolSms;

$recipient = '9665XXXXXXXX';
$message = 'Hello, this is a test message!';

// Send SMS
$response = TawasolSms::sendSms($recipient, $message);
```

### Checking SMS Balance

[](#checking-sms-balance)

To check your SMS balance:

```
use Haniusif\TawasolSms\Facades\TawasolSms;

$balance = TawasolSms::getBalance();
```

### Checking Message Status

[](#checking-message-status)

You can check the status of a message (e.g., delivered, pending) using the message\_id you get when you send an SMS:

```
use Haniusif\TawasolSms\Facades\TawasolSms;

$messageId = '123456789';
$status = TawasolSms::checkStatus($messageId);
```

### Available Methods

[](#available-methods)

```
    sendSms($mobileNumber, $message, $type = 1, $respformat = 'json'): Sends an SMS message. The $type can be 1 (English), 2 (Unicode), or 4 (Arabic). Returns the API response or false on failure.

    getBalance($respformat = 'json'): Retrieves the current SMS balance. Returns the balance information or false on failure.

    checkStatus($messageId): Checks the status of a previously sent message using the messageId. Returns the status or false on failure.

    removeScheduledSms($scheduleId): Removes a scheduled SMS batch using the scheduleId. Returns the API response or false on failure.

    sendScheduledSms($mobileNumber, $message, $gmt, $scheduledTime, $type = 1, $respformat = 'json'): Sends an SMS message scheduled for a specific time. The $gmt is the GMT offset (e.g., +0300), and $scheduledTime is the time in yyyyMMddHHmm format. Returns the API response or false on failure.

```

License
-------

[](#license)

This package is open-sourced software licensed under the MIT license.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity9

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

4

Last Release

592d ago

PHP version history (2 changes)v1.0.0PHP ^7.4

v1.1.1PHP ^7.4 || ^8.0 || ^8.1 || ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/68ed4cca61c96efad192e8f1c2f7e068f5415c25a158548a77a2ea94277ff51d?d=identicon)[haniusif](/maintainers/haniusif)

---

Top Contributors

[![haniusif](https://avatars.githubusercontent.com/u/11551840?v=4)](https://github.com/haniusif "haniusif (12 commits)")

---

Tags

smssms-apisms-gateway

### Embed Badge

![Health badge](/badges/haniusif-tawasolsms/health.svg)

```
[![Health](https://phpackages.com/badges/haniusif-tawasolsms/health.svg)](https://phpackages.com/packages/haniusif-tawasolsms)
```

###  Alternatives

[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
