haggag / msegat
Msegat SMS Provider
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 1
Type:prroject
pkg:composer/haggag/msegat
Requires
- php: ^8.0
- illuminate/support: ^8.0|^9.0
This package is auto-updated.
Last update: 2025-10-08 22:49:09 UTC
README
About Msegat
The leading SMS providers in Saudi Arabia, Maximize your reach with reliable deliverability.
Features
- Send SMS to multiple recipients.
- Send SMS to multiple recipients with Customized Sender Name ID.
- Send OTP.
- Calculate message cost points.
- Sender Names ID Inquiry.
- Balance Inquiry.
Installation
composer require jodeveloper/msegat
Publish repository configurations
php artisan vendor:publish --provider="jodeveloper\Msegat\MsegatServiceProvider"
This will publish msegat.php configtations to config/msegat.php
Prepare Environment
Add the following configration to .env file .
MSEGAT_DEFAULT_SENDER="Type your default sender name" MSEGAT_USERNAME="Your Msegat Account Username" MSEGAT_API_KEY="Your API Key"
<You can get your api Key from this URL MSEGAT, after successful login.
Usage
Sending SMS message
- Send SMS to multiple recipients with default sender name ID that you fill in .env file.
use jodeveloper\Msegat\Facades\Msegat; Msegat::numbers(['05xxxxxxxx', '05xxxxxxxx']) ->message('Hello World') ->sendWithDefaultSender();
- Send SMS to multiple recipients with custom sender name ID.
use jodeveloper\Msegat\Facades\Msegat; Msegat::numbers(['05xxxxxxxx', '05xxxxxxxx']) ->message('Hello World') ->sendWithSender('DigitalTunnel');
JSON Response Example
{
    "response": {
        "code": "1",
        "message": "Success"
    }
}
OTP ( One Time Password )
- Send OTP Message with default sender name ID.
use jodeveloper\Msegat\Facades\Msegat; Msegat::numbers(['05xxxxxxxx']) ->sendOTP();
- If you would like to send free OTP using OTP sender name you can pass 'OTP' to sendOTP method.
use jodeveloper\Msegat\Facades\Msegat; Msegat::numbers(['05xxxxxxxx']) ->sendOTP('OTP');
JSON Response Example
{
    "response": {
        "code": "1",
        "message": "Success"
    },
    "pin": "7693"
}
Inquiries
Caculate message cost with Msegat
use jodeveloper\Msegat\Facades\Msegat; Msegat::numbers(['9665xxxxxxxx', '9665xxxxxxxx', '9665xxxxxxxx']) ->message('Hello World') ->calculateCost();
JSON Response Example
{
    "total_numbers": 3,
    "point_cost": 2.75,
    "message_length": 23
}
 
 
Get All Sender Names ID
use jodeveloper\Msegat\Facades\Msegat; Msegat::getSenders();
JSON Response Example
{
    "response": [
        {
            "SenderID": "Digital",
            "Status": "Refused"
        },
        {
            "SenderID": "DigitalTunnel",
            "Status": "Activated"
        }
    ]
}
 
 
Get Account Balance
use jodeveloper\Msegat\Facades\Msegat; Msegat::getBalance();
JSON Response Example
{
    "response": {
        "balance": 964795
    }
}
Error Codes
- 
1 - Success 
- 
M0000 - Success 
- 
M0001 - Variables missing 
- 
M0002 - Invalid login info 
- 
M0022 - Exceed number of senders allowed 
- 
M0023 - Sender Name is active or under activation or refused 
- 
M0024 - Sender Name should be in English or number 
- 
M0025 - Invalid Sender Name Length 
- 
M0026 - Sender Name is already activated or not found 
- 
M0027 - Activation Code is not Correct 
- 
1010 - Variables missing 
- 
1020 - Invalid login info 
- 
1050 - MSG body is empty 
- 
1060 - Balance is not enough 
- 
1061 - MSG duplicated 
- 
1064 - Free OTP , Invalid MSG content you should use "Pin Code is: xxxx" or "Verification Code: xxxx" or "رمز التحقق: 1234" , or upgrade your account and activate your sender to send any content 
- 
1110 - Sender name is missing or incorrect 
- 
1120 - Mobile numbers is not correct 
- 
1140 - MSG length is too long 
- 
M0029 - Invalid Sender Name - Sender Name should contain only letters, numbers and the maximum length should be 11 characters 
- 
M0030 - Sender Name should ended with AD 
- 
M0031 - Maximum allowed size of uploaded file is 5 MB 
- 
M0032 - Only pdf,png,jpg and jpeg files are allowed! 
- 
M0033 - Sender Type should be normal or whitelist only 
- 
M0034 - Please Use POST Method 
- 
M0036 - There is no any sender 
License
Msegat package is open-sourced software licensed under the MIT license.