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
Requires
- php: >=5.5.0
- yiisoft/yii2: ^2.0.13
- yiisoft/yii2-mongodb: ^2.1.2
Requires (Dev)
- codeception/codeception: ^2.2
- codeclimate/php-test-reporter: dev-master
README
Yii2 component for sending SMS messages through Smsc
Support
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);