miserenkov/yii2-sms

Yii2 component for sending SMS messages

Installs: 39 602

Dependents: 0

Suggesters: 0

Security: 0

Stars: 4

Watchers: 2

Forks: 4

Open Issues: 4

Type:yii2-component

v1.2.1 2020-03-18 20:40 UTC

This package is auto-updated.

Last update: 2024-10-19 07:03:34 UTC


README

Yii2 component for sending SMS messages through Smsc

License Latest Stable Version Latest Unstable Version Total Downloads Build Status

Support

GitHub issues.

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist miserenkov/yii2-sms "^1.0"

or add

"miserenkov/yii2-sms": "^1.0"

to the require section of your composer.json file.

Configuration

To use sender, you should configure it in the application configuration like the following

'components' => [
    ...
    'sms' => [
        'class' => 'miserenkov\sms\Sms',
        'gateway' => 'smsc.ua',     // gateway, through which will sending sms, default 'smsc.ua'
        'login' => '',              // login
        'password' => '',           // password or lowercase password MD5-hash
        'senderName' => '',         // sender name
        'options' => [
            'useHttps' => true,     // use secure HTTPS connection, default true
        ],
    ],
    ...
],

Available gateways

\miserenkov\sms\Sms::GATEWAY_UKRAINE,     // smsc.ua
\miserenkov\sms\Sms::GATEWAY_RUSSIA,      // smsc.ru
\miserenkov\sms\Sms::GATEWAY_KAZAKHSTAN,  // smsc.kz
\miserenkov\sms\Sms::GATEWAY_TAJIKISTAN,  // smsc.tj
\miserenkov\sms\Sms::GATEWAY_UZBEKISTAN,  // smsc.uz
\miserenkov\sms\Sms::GATEWAY_WORLD,       // smscentre.com

Messages logging

'components' => [
    ...
    'sms' => [
        ...
        'logging' => [
            'class' => '',          // optionaly, default to miserenkov\sms\logging\Logger
            'connection' => 'db'    // string or array to database connection
            'tableName' => ''       // database table name, optionaly, default to {{%sms_log}}
        ],
        ...
    ],
    ...
],

Basic usages

Get balance

/**
 * return an float in case of successful or false in case of error 
 */
Yii::$app->sms->getBalance();

Sending message

/**
 * $phones an string for single number or array for multiple numbers
 * $message an string
 *
 * return an string sms identifier in case successful or false in case error
 */
Yii::$app->sms->send($phones, $message);

Get message status

/**
 * $id sms identifier
 * $phone phone number of recipient
 *
 * return an array [
 *      status           - status code
 *      status_message   - status message
 *      err              - error code
 *      err_message      - error message
 *      send_time        - timestamp of send
 *      cost             - message cost
 *      operator         - recipient operator
 *      region           - recipient region
 * ] in case successful or false in case error
 */
Yii::$app->sms->getStatus($id, $phone);