ladamalina/yii2-smsc

Smsc.ru wrapper for Yii 2

Installs: 11 525

Dependents: 1

Suggesters: 0

Security: 0

Stars: 10

Watchers: 3

Forks: 8

Open Issues: 1

Type:yii2-extension

dev-master 2021-04-09 16:47 UTC

This package is auto-updated.

Last update: 2024-04-13 07:06:30 UTC


README

Smsc.ru wrapper for Yii 2

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist ladamalina/yii2-smsc "*"

or add

"ladamalina/yii2-smsc": "*"

to the require section of your composer.json file.

Usage

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

'components' => [
	...
	'sms' => [
        'class'    => 'ladamalina\smsc\Smsc',
        'login'     => '',  // login
        'password'   => '', // plain password or lowercase password MD5-hash
        'post' => true, // use http POST method
        'https' => true,    // use secure HTTPS connection
        'charset' => 'utf-8',   // charset: windows-1251, koi8-r or utf-8 (default)
        'debug' => false,    // debug mode
    ],
	...
],

Examples

Обычное сообщение

list($sms_id, $sms_cnt, $cost, $balance)
    = Yii::$app->sms->send_sms('79999999999', 'Ваш код для получения скидки');
/*
    возвращает массив (<id>, <количество sms>, <стоимость>, <баланс>) в случае успешной отправки
    либо массив (<id>, -<код ошибки>) в случае ошибки
*/

Проверка результата отправки

$sms = Yii::$app->sms;
$result = $sms->send_sms('79999999999', 'Ваш код для получения скидки');
if (!$sms->isSuccess($result)) {
    echo $sms->getError($result);
    die();
}

Отправка на группу номеров

// в первом параметре передаем список телефонов через запятую или точку с запятой
list($sms_id, $sms_cnt, $cost, $balance)
    = Yii::$app->sms->send_sms('79999999999,79999999990', 'Ваш код для получения скидки');

Для перевода сообщения в транслит

// в третьем параметре передаем 1
list($sms_id, $sms_cnt, $cost, $balance)
    = Yii::$app->sms->send_sms('79999999999', 'Вы сегодня неотразимы', 1);

Отправка от имени Ivan с отложенным временем доставки

// будет доставлено абоненту 01.01.2012 г. в 00:00
list($sms_id, $sms_cnt, $cost, $balance)
    = Yii::$app->sms->send_sms('79999999999', 'Вы сегодня неотразимы', 0, '0101120000', 0, 0, 'Ivan');

Для проверки статуса доставки SMS

list($status, $time) = Yii::$app->sms->get_status($sms_id, '79999999999');
// возвращает массив [ <статус>, <время изменения>, <код ошибки доставки> ]

Проверка состояния баланса

$balance = Yii::$app->sms->get_balance();
// возвращает баланс в виде строки или false в случае ошибки

Проверка стоимости sms

list($cost, $cnt)
    = Yii::$app->sms->get_sms_cost('79999999999', 'Вы сегодня неотразимы');
// возвращает массив [ <стоимость>, <количество sms> ]