Оповещение по SMS

Описание настройки

Оповещения в SMP могут отправляться как SMS сообщения.

Выполнение настройки

Для отправки оповещений по SMS необходимо выполнить следующие действия:

  1. Оформить подключение к сервису отправки SMS-сообщений, который использует протокол SMPP. Требования к параметрам отправки сообщения у различных SMS сервисов могут отличаться.
  2. Добавить параметры подключения к SMS-центра в конфигурационный файл dbaccess.properties:

    • sms.host — хост или IP-адресс SMS-центра. ;
    • sms.login — логин для подключения к SMS-центру;
    • sms.password — пароль для подключения к SMS-центру (не более 9 символов);
    • sms.port — порт SMS-центра (по умолчанию 3700).
  3. Создать в системе действие по событию типа "Скрипт".

    Скрипт должен передавать из системы необходимые для отправки SMS данные: номер телефона, на который будет отправлено SMS-сообщение, текст SMS-сообщения, автор SMS-сообщения.

    В скрипте используется методы api:

  4. Создать в системе действие при смене статуса, см. Действия при смене статуса.

Пример настройки

Пример. Скрипт, реализующий отправку SMS-сообщения по протоколу SMPP

//Назначение: Отправление СМС-сообщения по протоколу SMPP
 //Категория: Действия по событию
 //ПАРАМЕТРЫ------------------------------------------------------------
 //Номер телефона, на который будет отослано SMS сообщение
 def phone = "+79000000000";
 //Автор SMS сообщения
 def from = "Naumen";
 //Текст сообщения (не может превышать 127 cимволов)
 def message = "Hello World!";
 //Email, на который отправится письмо в случае неудачной попытки отправки сообщения
 def email = "example@gmail.com";
 //ОСНОВНОЙ БЛОК--------------------------------------------------------
 try
 {
 api.sms.sendSms(from, phone, message)
 }
 catch (Exception e)
 {
 try
 {
 api.mail.sender.send(email, from, "Не удалось доставить SMS на номер: " +
 phone, "Не удалось доставить SMS на номер: " + phone + "\nПричина : \n" + e.getMessage());
 }
 catch (Exception ex)
 {
 logger.info("Email send failed! Reason : " + ex.getMessage());
 }
 }