kalayabin/yii2-sms

Yii2 组件,用于使用外部短信服务,如 websms.ru 或 smsc.ru

安装量: 9,387

依赖项: 0

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 1

开放问题: 0

类型:

dev-master 2018-09-23 02:01 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:30 UTC


README

一组组件,用于从 Yii2 应用程序通过第三方服务(如 websms.rusmsc.ru)发送 SMS 消息。使用 SOAP 接口发送 SMS 消息。

目前模块仅支持基本功能

  • 发送消息
  • 获取余额

安装

composer requre "kalyabin/yii2-sms:*"

应用程序配置

针对 websms.ru 的示例

return [
    ...
    'components' => [
        ...
        'smsApi' => [
            'class' => 'kalyabin\sms\components\WebSmsSoapApi',
            'wsdl' => 'http://smpp3.websms.ru:8183/soap?WSDL',
            'login' => '<login>', // логин, выданный в websms.ru
            'password' => '<password>', // пароль, выданный в websms.ru
            'useHttpAuthorization' => false,
            'useTestingMode' => false, // включить или отключить тестовый режим отправки
        ],
        ...
    ],
    ...
];

针对 smsc.ru 的示例

return [
    ...
    'components' => [
        ...
        'smsApi' => [
            'class' => 'kalyabin\sms\components\SmsCSoapApi',
            'wsdl' => 'http://smsc.ru/sys/soap.php?wsdl',
            'login' => '<login>', // логин, выданный в smsc.ru
            'password' => '<password>', // пароль, выданный в smsc.ru
            'useHttpAuthorization' => false
        ],
        ...
    ],
    ...
];

使用方法

查询余额

echo 'Баланс на счёте SMS: ' . Yii::$app->smsApi->getBalance();

发送 SMS

使用默认发送者简单发送(在服务配置文件中可设置)

// номер телефона, на который отправить сообщение
// поддерживается любой формат, доступный в вышеуказанных сервисах
$to = '71231231111';
// текст сообщения
$text = 'Код подтверждения: 123123';

$result = Yii::$app->smsApi->sendSms($to, $text);

if ($result->isSent) {
    echo 'SMS успешно отправлено';
} else {
    echo 'Не удалось отправить SMS. Дамп ответа от сервиса: ' . var_dump($result->rawProviderData);
}

使用其他发送者发送

// имя отправителя
$from = 'MY-SERVICE';
// номер телефона, на который отправить сообщение
// поддерживается любой формат, доступный в вышеуказанных сервисах
$to = '71231231111';
// текст сообщения
$text = 'Код подтверждения: 123123';

$result = Yii::$app->smsApi->sendSmsFrom($from, $to, $text);

if ($result->isSent) {
    echo 'SMS успешно отправлено';
} else {
    echo 'Не удалось отправить SMS. Дамп ответа от сервиса: ' . var_dump($result->rawProviderData);
}

待办事项

  • 日志记录和错误分析
  • 扩展每个单独的服务
  • 连接 sms.ru 服务