jhaoda/smscenter

用于操作smsc.ru API的类

v2.0.1 2014-03-15 15:52 UTC

This package is auto-updated.

Last update: 2024-08-25 08:57:09 UTC


README

用于操作smsc.ru(短信中心)服务的类

功能

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

最低要求 — PHP 5.4+

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

$default = [
    'sender',   // имя отправителя
    '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)
    'period',   // (null)
    'freq',     // (null)
    'maxsms',   // (null)
    'err'       // (null)
];

使用示例

<?php
// Инициализация
$smsc = new \SMSCenter\SMSCenter('login', 'password', false, [
    'charset' => SMSCenter::CHARSET_UTF8,
    'fmt' => SMSCenter::FMT_XML
]);

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

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

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

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

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

// Получение баланса
echo $smsc->getBalance(), ' руб.'; // "72.2 руб."

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

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

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

许可证:Apache许可证,版本2.0