Содержание

Документация по модулю Sms и принадлежащим к нему страницам перенесена в Confluence http://abills.net.ua:8090/display/AB/Sms

SMS

Модуль отправки SMS сообщений. Может использовать локальный и удалённые шлюзы отправки смс.

Возможности

При востановлении пароля и отправки сообщений через техническую поддержку номер телефона берётся с учётной записи абонента, а при отправке отчётов из заполненного поля отчётов .

для отправки СМС сообщений используются шлюзы

Screenshots

Установка

Создать таблицы в базе.

 # mysql --default-character-set=utf8  -D abills < db/Sms.sql

Подключение модуля. abills/libexec/config.pl

@MODULES = (
          'Sms'
          );

Настройка

Turbosms

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 нужно задать шлюз и создать подпись

Подключение к шлюзу

Добавление подписи

Проверка работы с шлюзом MySQL

# mysql -P 3306 -h 94.249.146.189 -u ЛогинШлюза -p users

далее вводите пароль шлюза. Название таблицы, с которой вы работаете в базе совпадает с логином шлюза. Посмотреть какие сообщения были занесены в таблицу, можно командой

MySQL [users]> SELECT * FROM ЛогинШлюза;

Если смс есть в базе, но не отправляются пользователям - посмотрите на статус записи и код ошибки.

Epochtasms

http://epochtasms.ru

Для работы с службой нужно установить Perl модуль 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

Настройка службы Epochtasms

После настройки перейдите в меню Регистрация имен отправителей и зарегистрируйте Ваш идентификатор. После регистрации занесите его в переменную $conf{SMS_EPOCHTASMS_SENDER}='sender_name';.

Littlesms

http://littlesms.ru/

Для работы с службой нужно установить Perl модуль JSON и программу 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

http://smsc.ru/

Для работы с службой нужно установить Perl модуль JSON и программу CURL

Параметры конфигурации модуля:
abills/libexec/config.pl

$conf{SMS_SMSC_USER}='user'; Логин указанный при регистрации
$conf{SMS_SMSC_PASSWORD}='key'; Пароль Клиента
$conf{SMS_SMSC_TEST_MODE}=1; Режим отладки

Настройка службы Smsc

Txtlocal

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

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'; Номер предоставленный сервисом

Отчёты

Отчёты

Дополнительно

$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 Шаблон восстановления пароля

Работа с шаблонами

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 сообщения: 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 Переводит пользователя в статус Активно