{"id":19420491,"url":"https://github.com/zhukmax/smsc","last_synced_at":"2025-05-08T00:37:20.930Z","repository":{"id":57091037,"uuid":"104552701","full_name":"ZhukMax/smsc","owner":"ZhukMax","description":"Lib for modern integration smsc.ru service","archived":false,"fork":false,"pushed_at":"2024-07-16T08:07:34.000Z","size":57,"stargazers_count":29,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-10T13:25:26.451Z","etag":null,"topics":["api","sms-api","smsc"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ZhukMax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-23T08:22:34.000Z","updated_at":"2024-07-16T08:07:38.000Z","dependencies_parsed_at":"2024-11-10T13:25:04.605Z","dependency_job_id":null,"html_url":"https://github.com/ZhukMax/smsc","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"ff59c464ac59d0707b823eb56f1fbbed8fc58b79"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhukMax%2Fsmsc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhukMax%2Fsmsc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhukMax%2Fsmsc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ZhukMax%2Fsmsc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ZhukMax","download_url":"https://codeload.github.com/ZhukMax/smsc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225106472,"owners_count":17421804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","sms-api","smsc"],"created_at":"2024-11-10T13:23:37.136Z","updated_at":"2024-11-18T00:07:05.188Z","avatar_url":"https://github.com/ZhukMax.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Smsc API\n[![Latest Version on Packagist][ico-version]][link-packagist]\n[![Software License][ico-license]](license.md)\n[![Total Downloads][ico-downloads]][link-downloads]\n\nКомпонент для интеграции сервиса SMSC.RU API (smsc.ru) на сайт. Основано на версии 3.6 официального кода.\n\n## Установка\nС помощью композера:\n```\n$ composer require zhukmax/smsc\n```\n\n## Использование\nДля того, что бы правильно отлавливать Исключения желательно использовать в конструкции try\\catch. Не обязательно использовать выход `exit()`, можно эхом вывести текст ошибки и продолжить выполнение скрипта.\n```php\n\u003c?php\ntry {\n    $sms = new \\Zhukmax\\Smsc\\Api(\n        'test',\n        '123',\n        [\n            'https' =\u003e true,\n            'charset' =\u003e 'windows-1251',\n            'from' =\u003e 'api@smsc.ru',\n            'post' =\u003e true,\n            'debug' =\u003e '/home/user/smsc.log'\n        ]\n    );\n} catch (Exception $exception) {\n    exit($exception-\u003egetMessage());\n}\n```\nТак же можно унаследовать класс `\\Zhukmax\\Smsc\\Api` и добавить собственное поведение до/после выполнения методов компонента или, даже, переназначить некоторые из них.\n```php\n\u003c?php\nclass Sms extends \\Zhukmax\\Smsc\\Api\n{\n    public function balance()\n    {\n        var_dump($this-\u003esendCmd('balance'));\n    }\n}\n```\n\n## Свойства конструктора\n* логин клиента\n* пароль или MD5-хеш пароля в нижнем регистре\n* Массив с опциями:\n    * protocol - использовать HTTPS протокол, любое значение кроме 'https' приравнивается использованию не защищенного протокола HTTP\n    * charset - кодировка сообщения: utf-8 (по умолчанию), koi8-r или windows-1251\n    * from - e-mail адрес отправителя\n    * post - использовать метод POST, булев\n    * debug - флаг отладки, булев\n\n## Методы\n#### Публичные методы:\n**sendSms()** - Функция отправки SMS\n\n* _обязательные параметры:_\n    - $phones - список телефонов через запятую или точку с запятой\n    - $message - отправляемое сообщение\n\n* _необязательные параметры:_\n    - $translit - переводить или нет в транслит (1,2 или 0)\n    - $time - необходимое время доставки в виде строки (DDMMYYhhmm, h1-h2, 0ts, +m)\n    - $id - идентификатор сообщения. Представляет собой 32-битное число в диапазоне от 1 до 2147483647.\n    - $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)\n    - $sender - имя отправителя (Sender ID). Для отключения Sender ID по умолчанию необходимо в качестве имени\nпередать пустую строку или точку.\n    - $query - строка дополнительных параметров, добавляемая в URL-запрос (\"valid=01:00\u0026maxsms=3\u0026tz=2\")\n    - $files - массив путей к файлам для отправки mms или e-mail сообщений\n\nвозвращает массив (\u003cid\u003e, \u003cколичество sms\u003e, \u003cстоимость\u003e, \u003cбаланс\u003e) в случае успешной отправки\nлибо массив (\u003cid\u003e, -\u003cкод ошибки\u003e) в случае ошибки\n \n**sendSmsMail()** - SMTP версия функции отправки SMS\n\n**getSmsCost()** - Функция получения стоимости SMS\n\n* _обязательные параметры:_\n    - $phones - список телефонов через запятую или точку с запятой\n    - $message - отправляемое сообщение\n\n* _необязательные параметры:_\n    - $translit - переводить или нет в транслит (1,2 или 0)\n    - $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)\n    - $sender - имя отправителя (Sender ID)\n    - $query - строка дополнительных параметров, добавляемая в URL-запрос (\"list=79999999999:Ваш пароль: 123\\n78888888888:Ваш пароль: 456\")\n\nвозвращает массив (\u003cстоимость\u003e, \u003cколичество sms\u003e) либо массив (0, -\u003cкод ошибки\u003e) в случае ошибки\n\n**getStatus()** - Функция проверки статуса отправленного SMS или HLR-запроса\n\n- $id - ID cообщения или список ID через запятую\n\n- $phone - номер телефона или список номеров через запятую\n\n- $all - вернуть все данные отправленного SMS, включая текст сообщения (0,1 или 2)\n\n_возвращает массив (для множественного запроса двумерный массив):_\n\n_для одиночного SMS-сообщения:_\n(\u003cстатус\u003e, \u003cвремя изменения\u003e, \u003cкод ошибки доставки\u003e)\n\n_для HLR-запроса:_\n(\u003cстатус\u003e, \u003cвремя изменения\u003e, \u003cкод ошибки sms\u003e, \u003cкод IMSI SIM-карты\u003e, \u003cномер сервис-центра\u003e, \u003cкод страны регистрации\u003e, \u003cкод оператора\u003e,\n\u003cназвание страны регистрации\u003e, \u003cназвание оператора\u003e, \u003cназвание роуминговой страны\u003e, \u003cназвание роумингового оператора\u003e)\n\nпри $all = 1 дополнительно возвращаются элементы в конце массива:\n(\u003cвремя отправки\u003e, \u003cномер телефона\u003e, \u003cстоимость\u003e, \u003csender id\u003e, \u003cназвание статуса\u003e, \u003cтекст сообщения\u003e)\n\nпри $all = 2 дополнительно возвращаются элементы \u003cстрана\u003e, \u003cоператор\u003e и \u003cрегион\u003e\n\nпри множественном запросе:\nесли $all = 0, то для каждого сообщения или HLR-запроса дополнительно возвращается \u003cID сообщения\u003e и \u003cномер телефона\u003e\n\nесли $all = 1 или $all = 2, то в ответ добавляется \u003cID сообщения\u003e\n\nлибо массив (0, -\u003cкод ошибки\u003e) в случае ошибки\n\n**getBalance()** - Функция получения баланса\n\nвозвращает баланс в виде строки или false в случае ошибки\n\n#### Внутренние методы:\n**sendCmd()** - Функция вызова запроса. Формирует URL и делает 5 попыток чтения через разные подключения к сервису\n\n**readUrl()** - Функция чтения URL.\n\nДля работы должно быть доступно:\ncurl или fsockopen (только http) или включена опция allow_url_fopen для file_get_contents\n\n    \n[![Stargazers repo roster for @ZhukMax/smsc](https://reporoster.com/stars/ZhukMax/smsc)](https://github.com/ZhukMax/smsc/stargazers)\n\n## Лицензия\n\nThe Apache License Version 2.0. Текст лицензии находится в файле [License File](license.md).\n\n[ico-version]: https://img.shields.io/packagist/v/zhukmax/smsc.svg\n[ico-license]: https://img.shields.io/badge/license-Apache%202-brightgreen.svg\n[ico-downloads]: https://img.shields.io/packagist/dt/zhukmax/smsc.svg\n\n[link-packagist]: https://packagist.org/packages/zhukmax/smsc\n[link-downloads]: https://packagist.org/packages/zhukmax/smsc\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhukmax%2Fsmsc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhukmax%2Fsmsc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhukmax%2Fsmsc/lists"}