miserenkov / yii2-sms
Yii2 component for sending SMS messages
v1.2.1
2020-03-18 20:40 UTC
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
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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);