integready/yii2-smsc

yii2-smsc.ru 扩展

安装数: 6,759

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 3

分支: 0

开放问题: 1

类型:yii2-extension

v0.1.1 2017-02-24 15:47 UTC

This package is auto-updated.

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


README

基于https://github.com/jhaoda/SMSCenter的Yii2组件,用于操作smsc.ru(SMS-Центр)服务

功能

  • 通过一个请求发送一个或多个消息到一个或多个号码
  • 检查消息状态
  • 获取发送成本
  • 检查余额
  • 根据号码获取运营商信息

最小要求:Yii2

允许的配置数组键(括号内为默认值)

'components' => [
    'SMSCenter' => [
        'class' => 'integready\smsc\SMSCenter',
        'login' => 'YourLogin',
        'password' => 'YourPa$$w0rd',
        'useSSL' => false,
        'options' => [
            'sender' => 'SenderName',   // имя отправителя
            'translit', // кодировать ли сообщения в транслит (self::TRANSLIT_NONE)
            'charset',  // кодировка запроса и ответа (self::CHARSET_UTF8)
            'fmt',      // формат ответа сервера (self::FMT_JSON)
            'type',     // тип сообщения (self::MSG_SMS), замена push, ping, hlr и прочих
            'cost',     // запрашивать ли стоимость (self::COST_NO)
            'time',     // время отправки сообщения (null)
            'tz',       // часовой пояс параметра time (null)
        ],
    ],
]

使用示例

<?php

use integready\smsc\SMSCenter;

// Инициализация
$smsc = Yii::$app->SMSCenter;

// Отправка сообщения
$smsc->send('+7991111111', 'Превед, медведы!', 'SuperIvan');
Yii::$app->SMSCenter->send('+7991111111', 'Превед, медведы!', 'SuperIvan');

// Отправка сообщения на 2 номера
Yii::$app->SMSCenter->send(['+7(999)1111111', '+7(999)222-22-22'], 'Превед, медведы!', 'SuperIvan');
Yii::$app->SMSCenter->send('+7(999)1111111,+7(999)222-22-22', 'Превед, медведы!', 'SuperIvan');

// Отправка разных сообщений на разные номера
Yii::$app->SMSCenter->sendMulti([
    ['+79991111111', "Text 1\nnew line"],
    '+79992222222' => 'Text 2',
]);

// Получение стоимости рассылки
Yii::$app->SMSCenter->getCost('7991111111,79992222222', 'Начало около 251 млн лет, конец — 201 млн лет назад.');

// Получение стоимости рассылки разных сообщений на разные номера
Yii::$app->SMSCenter->getCostMulti([
    '79991111111' => 'Text 1',
    '79992222222' => 'Text 2',
]);

// Получение баланса
Yii::$app->SMSCenter->getBalance(); // ' руб.'; // "72.2 руб."

// Получение информации об операторе
Yii::$app->SMSCenter->getOperatorInfo('7991111111');

// Получения статуса сообщения
Yii::$app->SMSCenter->getStatus('+7991111111', 6, SMSCenter::STATUS_INFO_EXT);

// Проверка тарифной зоны
if (Yii::$app->SMSCenter->getChargingZone('+79991111111') == SMSCenter::ZONE_RU) {
    // ...
}

许可证:Apache License, Version 2.0