zhukmax/smsc
Composer 安装命令:
composer require zhukmax/smsc
包简介
Lib for modern integration smsc.ru service
README 文档
README
Компонент для интеграции сервиса SMSC.RU API (smsc.ru) на сайт. Основано на версии 3.6 официального кода.
Установка
С помощью композера:
$ composer require zhukmax/smsc
Использование
Для того, что бы правильно отлавливать Исключения желательно использовать в конструкции try\catch. Не обязательно использовать выход exit(), можно эхом вывести текст ошибки и продолжить выполнение скрипта.
<?php try { $sms = new \Zhukmax\Smsc\Api( 'test', '123', [ 'https' => true, 'charset' => 'windows-1251', 'from' => 'api@smsc.ru', 'post' => true, 'debug' => '/home/user/smsc.log' ] ); } catch (Exception $exception) { exit($exception->getMessage()); }
Так же можно унаследовать класс \Zhukmax\Smsc\Api и добавить собственное поведение до/после выполнения методов компонента или, даже, переназначить некоторые из них.
<?php class Sms extends \Zhukmax\Smsc\Api { public function balance() { var_dump($this->sendCmd('balance')); } }
Свойства конструктора
- логин клиента
- пароль или MD5-хеш пароля в нижнем регистре
- Массив с опциями:
- protocol - использовать HTTPS протокол, любое значение кроме 'https' приравнивается использованию не защищенного протокола HTTP
- charset - кодировка сообщения: utf-8 (по умолчанию), koi8-r или windows-1251
- from - e-mail адрес отправителя
- post - использовать метод POST, булев
- debug - флаг отладки, булев
Методы
Публичные методы:
sendSms() - Функция отправки SMS
-
обязательные параметры:
- $phones - список телефонов через запятую или точку с запятой
- $message - отправляемое сообщение
-
необязательные параметры:
- $translit - переводить или нет в транслит (1,2 или 0)
- $time - необходимое время доставки в виде строки (DDMMYYhhmm, h1-h2, 0ts, +m)
- $id - идентификатор сообщения. Представляет собой 32-битное число в диапазоне от 1 до 2147483647.
- $format - формат сообщения (0 - обычное sms, 1 - flash-sms, 2 - wap-push, 3 - hlr, 4 - bin, 5 - bin-hex, 6 - ping-sms, 7 - mms, 8 - mail, 9 - call)
- $sender - имя отправителя (Sender ID). Для отключения Sender ID по умолчанию необходимо в качестве имени передать пустую строку или точку.
- $query - строка дополнительных параметров, добавляемая в URL-запрос ("valid=01:00&maxsms=3&tz=2")
- $files - массив путей к файлам для отправки mms или e-mail сообщений
возвращает массив (, <количество sms>, <стоимость>, <баланс>) в случае успешной отправки либо массив (, -<код ошибки>) в случае ошибки
sendSmsMail() - SMTP версия функции отправки SMS
getSmsCost() - Функция получения стоимости SMS
-
обязательные параметры:
- $phones - список телефонов через запятую или точку с запятой
- $message - отправляемое сообщение
-
необязательные параметры:
- $translit - переводить или нет в транслит (1,2 или 0)
- $format - формат сообщения (0 - обычное sms, 1 - flash-sms, 2 - wap-push, 3 - hlr, 4 - bin, 5 - bin-hex, 6 - ping-sms, 7 - mms, 8 - mail, 9 - call)
- $sender - имя отправителя (Sender ID)
- $query - строка дополнительных параметров, добавляемая в URL-запрос ("list=79999999999:Ваш пароль: 123\n78888888888:Ваш пароль: 456")
возвращает массив (<стоимость>, <количество sms>) либо массив (0, -<код ошибки>) в случае ошибки
getStatus() - Функция проверки статуса отправленного SMS или HLR-запроса
-
$id - ID cообщения или список ID через запятую
-
$phone - номер телефона или список номеров через запятую
-
$all - вернуть все данные отправленного SMS, включая текст сообщения (0,1 или 2)
возвращает массив (для множественного запроса двумерный массив):
для одиночного SMS-сообщения: (<статус>, <время изменения>, <код ошибки доставки>)
для HLR-запроса: (<статус>, <время изменения>, <код ошибки sms>, <код IMSI SIM-карты>, <номер сервис-центра>, <код страны регистрации>, <код оператора>, <название страны регистрации>, <название оператора>, <название роуминговой страны>, <название роумингового оператора>)
при $all = 1 дополнительно возвращаются элементы в конце массива: (<время отправки>, <номер телефона>, <стоимость>, , <название статуса>, <текст сообщения>)
при $all = 2 дополнительно возвращаются элементы <страна>, <оператор> и <регион>
при множественном запросе: если $all = 0, то для каждого сообщения или HLR-запроса дополнительно возвращается <ID сообщения> и <номер телефона>
если $all = 1 или $all = 2, то в ответ добавляется <ID сообщения>
либо массив (0, -<код ошибки>) в случае ошибки
getBalance() - Функция получения баланса
возвращает баланс в виде строки или false в случае ошибки
Внутренние методы:
sendCmd() - Функция вызова запроса. Формирует URL и делает 5 попыток чтения через разные подключения к сервису
readUrl() - Функция чтения URL.
Для работы должно быть доступно: curl или fsockopen (только http) или включена опция allow_url_fopen для file_get_contents
Лицензия
The Apache License Version 2.0. Текст лицензии находится в файле License File.
zhukmax/smsc 适用场景与选型建议
zhukmax/smsc 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.95k 次下载、GitHub Stars 达 30, 最近一次更新时间为 2017 年 09 月 24 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 zhukmax/smsc 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zhukmax/smsc 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 1.95k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 30
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2017-09-24