/msegat-laravel

Primary LanguagePHPMIT LicenseMIT

Msegat

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.