ladamalina/yii2-smsc

为 Yii 2 的 Smsc.ru 包装器

安装量: 11,730

依赖项: 1

建议者: 0

安全性: 0

星级: 10

观察者: 3

分支: 8

开放性问题: 1

类型:yii2-extension

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

This package is auto-updated.

Last update: 2024-09-13 07:56:21 UTC


README

为 Yii 2 的 Smsc.ru 包装器

安装

安装此扩展的首选方式是通过 composer

运行以下命令

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

或将以下内容添加到您的 composer.json 文件的 require 部分中。

"ladamalina/yii2-smsc": "*"

使用方法

要使用发送者,您应在应用程序配置中按照以下方式进行配置

'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
    ],
	...
],

示例

普通消息

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 в случае ошибки

检查短信费用

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