**''Документация по модулю Sms и принадлежащим к нему страницам перенесена в Confluence''** [[http://abills.net.ua:8090/display/AB/Sms]] =====SMS===== Модуль отправки SMS сообщений. Может использовать локальный и удалённые шлюзы отправки смс. ====Возможности==== * Восстановление пароля через SMS * Отправка пароля администратором * Отправка отчётов модулем [[abills:docs:ureports:ru|Ureports]] * Отправка SMS сообщений модулем [[abills:docs:modules:msgs:ru|Msgs]] При востановлении пароля и отправки сообщений через техническую поддержку номер телефона берётся с учётной записи абонента, а при отправке отчётов из заполненного поля отчётов . для отправки СМС сообщений используются шлюзы * [[#turbosms|http://turbosms.ua/]] * [[#epochtasms|http://www.epochtasms.ru]] * [[#littlesms|http://littlesms.ru/]] * [[#smsc|https://smsc.ru/]] * [[#txtlocal|http://www.txtlocal.com]] * [[abills:docs:modules:sms:sms_broker:ru|Sms Broker]] * [[#bulksms|Bulksms]] * [[#nikita|Nikita]] * [[#idmkg|IDM.KG]] ====Screenshots==== ====Установка==== Создать таблицы в базе. # mysql --default-character-set=utf8 -D abills < db/Sms.sql Подключение модуля. **abills/libexec/config.pl** @MODULES = ( 'Sms' ); =====Настройка===== ====Turbosms==== {{http://forum.turbosms.ua/styles/prosilver/imageset/logo.gif|turbosms.ua}} \\ **Настройка**\\ Скопировать модуль в рабочую папку # cp Turbosms.pm /usr/abills/Abills/modules/Sms/ Для отправки сообщений используется режим работы с базой данных Параметры конфигурации модуля: **abills/libexec/config.pl** ^$conf{SMS_TURBOSMS_DBHOST} = '94.249.146.189'; | Хост базы данных | ^$conf{SMS_TURBOSMS_DBNAME} = 'users'; | база данных | ^$conf{SMS_TURBOSMS_DBCHARSET}= 'utf8'; | кодировка | ^$conf{SMS_TURBOSMS_USER} = 'sms_test'; | логин | ^$conf{SMS_TURBOSMS_PASSWD} = 'sms_test'; | пароль | ^$conf{SMS_TURBOSMS_TABLE} = 'sms_test'; | таблица | ^$conf{SMS_TURBOSMS_SEND_TIME}= '12:00:00'; | время отправки | ^$conf{SMS_TURBOSMS_SEND_FEES}= 1; | стоимость за отправку одного СМС | ^$conf{SMS_TURBOSMS_DEBUG} = 6; | режим отладки \\ можно использовать значения от 1 до 6 \\ Режимы: \\ 0 - Нормальный режим работы \\ 3 - Отображать запросы при отправке сообщений \\ 5,6 - Только отображать запросы отправки сообщений без их реальной отправки \\ | ^$conf{SMS_TURBOSMS_MESSAGE_HEADER}='Test ISP'; | Шапка смс сообщения | ^$conf{SMS_TURBOSMS_SIGN}='your_sign'; | Подпись **Обязательный параметр**. Берётся из личного кабинета Turbosms | ===В своей учетной записи на сайте turbosms.ua нужно задать шлюз и создать подпись=== {{http://abills.net.ua/img/turbo-sms.jpg?740|Подключение к шлюзу}} {{http://abills.net.ua/img/turbo-sms2.jpg?740|Добавление подписи}} ===Проверка работы с шлюзом MySQL=== # mysql -P 3306 -h 94.249.146.189 -u ЛогинШлюза -p users далее вводите пароль шлюза. Название таблицы, с которой вы работаете в базе совпадает с логином шлюза. Посмотреть какие сообщения были занесены в таблицу, можно командой MySQL [users]> SELECT * FROM ЛогинШлюза; Если смс есть в базе, но не отправляются пользователям - посмотрите на статус записи и код ошибки. ====Epochtasms==== {{http://epochtasms.ru/images/logo_lt_p1.png|http://epochtasms.ru}}\\ Для работы с службой нужно установить Perl модуль [[abills:docs:manual:soft:json|JSON]] \\ Параметры конфигурации модуля: \\ **abills/libexec/config.pl** \\ ^$conf{SMS_EPOCHTASMS_OPENKEY}='xxx'; | Публичный ключ | ^$conf{SMS_EPOCHTASMS_PRIVATEKEY}='xxx'; | Приватный ключ | ^$conf{SMS_EPOCHTASMS_SENDER}='sender_name'; | Название провайдера. Регистрируется в меню **Регистрация имен отправителей** аккаунта Epochta | ^$conf{SMS_EPOCHTASMS_TEST_MODE}=1; | Режим отладки | **Настройка службы Epochtasms** \\ {{:abills:docs:modules:sms:epochta_config.gif|Настройка службы Epochtasms}} \\ После настройки перейдите в меню **Регистрация имен отправителей** и зарегистрируйте Ваш идентификатор. После регистрации занесите его в переменную $conf{SMS_EPOCHTASMS_SENDER}='sender_name';. ====Littlesms==== {{http://littlesms.ru//images/logo.png|http://littlesms.ru/}} \\ Для работы с службой нужно установить Perl модуль [[abills:docs:manual:soft:json|JSON]] и программу [[abills:docs:manual:soft:curl|CURL]]\\ Параметры конфигурации модуля: \\ **abills/libexec/config.pl** \\ ^$conf{SMS_LITTLESMS_USER}='user'; | Логин указанный при регистрации | ^$conf{SMS_LITTLESMS_KEY}='key'; |API-ключ пользователя или API-аккаунта| ^$conf{SMS_LITTLESMS_TEST_MODE}=1; | Режим отладки | **Настройка службы Epochtasms** \\ ====Smsc==== {{https://smsc.ru/im/smsc_logo.gif|http://smsc.ru/}} \\ Для работы с службой нужно установить Perl модуль [[abills:docs:manual:soft:json|JSON]] и программу [[abills:docs:manual:soft:curl|CURL]]\\ Параметры конфигурации модуля: \\ **abills/libexec/config.pl** \\ ^$conf{SMS_SMSC_USER}='user'; | Логин указанный при регистрации | ^$conf{SMS_SMSC_PASSWORD}='key'; | Пароль Клиента | ^$conf{SMS_SMSC_TEST_MODE}=1; | Режим отладки | **Настройка службы Smsc** \\ ====Txtlocal==== {{http://www.textlocal.com/img/logo.svg|textlocal}} **Сайт:** http://www.txtlocal.com \\ **Cтрана:** Испания \\ |$conf{SMS_TXTLOCAL_APIKEY}='xxx' | ключ авторизации. Если используется ключ то хаш и логин игнорируются. \\ Получить ключ https://control.txtlocal.co.uk/settings/apikeys/ | |$conf{SMS_TXTLOCAL_USER}='user'; | Имя абонента | |$conf{SMS_TXTLOCAL_HASH}='key'; | Хаш верификации | |$conf{SMS_TXTLOCAL_SENDER}='sms sender'; |Название отправителя | |$conf{SMS_TXTLOCAL_TEST_MODE}=1; |Режим отладки \\ 1 - \\ 2 - Система делает тестовую отправку без снятия денег с депозита \\ 6 - Отображать выполняемые билингом команды для отправки почты | ==== Jasmin SMS ==== Jasmin - локальный смс-шлюз предназначенный для отправки СМС-сообщений на прямую в центры сообщений телекоммуникационных компаний. Шлюз использует стандартный протокол SMPP, который поддерживает большинство операторов мобильной связи. |$conf{SMS_JASMIN_USER}='username'; | Имя локального абонента | |$conf{SMS_JASMIN_PASSWD}='pswd'; | Пароль | |$conf{SMS_JASMIN_SENDER}='Company'; | Подпись сообщения (имя отправителя) | |$conf{SMS_JASMIN_SERVER} = 'http:/ /localhost:1401/'; | Сервер Jasmin | Установка собственного сервера Jasmin - http://docs.jasminsms.com/en/latest/installation/index.html ==== Smseagle ==== [[https://www.smseagle.eu|SMSEagle]] - железный SMS шлюз. |$conf{SMS_SMSEAGLE_USER}='username'; | Логин | |$conf{SMS_SMSEAGLE_PASSWD}='pswd'; | Пароль | |$conf{SMS_SMSEAGLE_SERVER} = 'http:/ /10.0.15.2/index.php'; | Адрес по которому доступен API | ==== IDM.KG ==== |$conf{SMS_IDM_LOGIN} ='username'; | Логин | |$conf{SMS_IDM_PASSWORD ='pswd'; | Пароль | |$conf{SMS_IDM_SENDER} = 'sms sender'; | Подпись сообщения (имя отправителя) | |$conf{SMS_IDM_SERVER} = 'http:/ /localhost:1401'; | Cервер по которому доступен IDM.KG| ==== Bulksms ==== |$conf{SMS_BULKSMS_LOGIN} ='username'; | Логин | |$conf{SMS_BULKSMS_PASSWORD} ='pswd'; | Пароль | |$conf{SMS_BULKSMS_SENDER} = 'sms sender'; | Подпись сообщения (имя отправителя) | |$conf{SMS_BULKSMS_API} = 'http:/ /10.0.15.2/index.php'; | Адрес по которому доступен API | ==== Nikita ==== |$conf{SMS_NIKITA_URL} = 'http://www.nikita.am/'; | Сервер обрабатывающий запрос | |$conf{SMS_NIKITA_LOGIN} = 'login'; | Логин| |$conf{SMS_NIKITA_PASSWORD} = 'password';| Пароль| |$conf{SMS_NIKITA_SERVICE_NUMBER} = 'service_num';| Номер предоставленный сервисом| =====Отчёты===== [[abills:docs:manual:admin:sms:sms_reports|Отчёты]] =====Дополнительно===== |$conf{SMS_LIMIT} = 3; | Ограничение колличества отправляемых смс одному пользователю в день | |$conf{SMS_FEES}='2.00'; | Оплата за отправку смс | |$conf{SMS_TRANSLIT}=1; | Транслитерировать отправляемые сообщения | |$conf{SMS_DEBUG}=1; | Глобальный режим отладки для всех систем | |$conf{SMS_NUMBER}='[0-9]{12}'; | Проверка правильности номера отправки. \\ Формат номера по умолчанию [0-9]{12} \\ Украина : [0-9]{12} \\ Россия: [0-9]{11} | |$conf{SMS_NUMBER_EXPR}='search_side/replace_side;search_side/replace_side'; |Регулярные выражения преобразования номера. \\ search_side/replace_side - права левая часть регулярного выражения \\ $number - зарезервированная переменная номера \\ Регулярные выражения разделяются точкой с запятой (;) \\ Система завершает преобразовании номера после первого удачного преобразования \\ | Пример обработки номера регулярным выражением: $conf{SMS_NUMBER_EXPR} = '^([0-9]{4,6})$/74832;'. '^2([0-9]{6})$/7483;'. '(^9[0-9]{9})/7;'. '^810/;'. '^8/7;'. '^*8/7;'. '^4832/74832'; изменения номеров формата 050xxxxxxx на +380xxxxxxx $conf{SMS_NUMBER_EXPR} = '^0/+380;'; ======Шаблоны====== |sms_passwor_recovery.tpl | Шаблон восстановления пароля | [[abills:docs:manual:admin:form_templates|Работа с шаблонами]] ====== Sms Callback ====== Sms callback - шлюз для клиентских запросов посредством Sms. === Подключение === cd /usr/abills/cgi-bin/ ln -s ../Abills/modules/Sms/sms_callback.cgi sms_callback.cgi chmod +x sms_callback.cgi === Настройки === ^ $conf{SMS_CALLBACK_LANGUAGE}='russian'; | Настройка для подгрузки нужного словаря. | Этот шлюз обрабатывает SMS сообщение от пользователя и выполняет действия по команде. Пример SMS сообщения: **123+03+12345678**, где ^ 123 | Это UID абонента | ^ 03 | Тип команды | ^ 12345678 | Дополнительная информация | === Все поддерживаемые типы комманды === ^ 01 | Отправит шаблон internet_user_memo_sms.tpl пользователю | ^ 02 | Отправит шаблон sms_callback_user_info.tpl пользователю | ^ 03 | Выполняет внешнюю команду для пользователя. Например, изменения пароля Wi-fi, где параметр "Дополнительная информация" будет использоваться как новый Wi-fi пароль | ^ 04 | Переводит пользователя в статус Приостановлен | ^ 05 | Переводит пользователя в статус Активно |