Lib for modern integration smsc.ru service
Компонент для интеграции сервиса SMSC.RU API (smsc.ru) на сайт. Основано на версии 3.6 официального кода., (*2)
С помощью композера:, (*3)
$ composer require zhukmax/smsc
Для того, что бы правильно отлавливать Исключения желательно использовать в конструкции try\catch. Не обязательно использовать выход exit()
, можно эхом вывести текст ошибки и продолжить выполнение скрипта., (*4)
<?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
и добавить собственное поведение до/после выполнения методов компонента или, даже, переназначить некоторые из них., (*5)
<?php class Sms extends \Zhukmax\Smsc\Api { public function balance() { var_dump($this->sendCmd('balance')); } }
sendSms() - Функция отправки SMS, (*6)
обязательные параметры:, (*7)
необязательные параметры:, (*8)
возвращает массив (
sendSmsMail() - SMTP версия функции отправки SMS, (*10)
getSmsCost() - Функция получения стоимости SMS, (*11)
обязательные параметры:, (*12)
необязательные параметры:, (*13)
возвращает массив (стоимость, <количество sms>) либо массив (0, -<код ошибки>) в случае ошибки, (*14)
getStatus() - Функция проверки статуса отправленного SMS или HLR-запроса, (*15)
$id - ID cообщения или список ID через запятую, (*16)
$phone - номер телефона или список номеров через запятую, (*17)
$all - вернуть все данные отправленного SMS, включая текст сообщения (0,1 или 2), (*18)
возвращает массив (для множественного запроса двумерный массив):, (*19)
для одиночного SMS-сообщения: (статус, <время изменения>, <код ошибки доставки>), (*20)
для HLR-запроса: (статус, <время изменения>, <код ошибки sms>, <код IMSI SIM-карты>, <номер сервис-центра>, <код страны регистрации>, <код оператора>, <название страны регистрации>, <название оператора>, <название роуминговой страны>, <название роумингового оператора>), (*21)
при $all = 1 дополнительно возвращаются элементы в конце массива:
(<время отправки>, <номер телефона>, стоимость,
при $all = 2 дополнительно возвращаются элементы страна, оператор и регион, (*23)
при множественном запросе:
если $all = 0, то для каждого сообщения или HLR-запроса дополнительно возвращается
если $all = 1 или $all = 2, то в ответ добавляется
либо массив (0, -<код ошибки>) в случае ошибки, (*26)
getBalance() - Функция получения баланса, (*27)
возвращает баланс в виде строки или false в случае ошибки, (*28)
sendCmd() - Функция вызова запроса. Формирует URL и делает 5 попыток чтения через разные подключения к сервису, (*29)
readUrl() - Функция чтения URL., (*30)
Для работы должно быть доступно: curl или fsockopen (только http) или включена опция allow_url_fopen для file_get_contents, (*31)
The Apache License Version 2.0. Текст лицензии находится в файле License File., (*33)