[ELMA3] Пример скрипта отправки SMS сообщения
В данной статье рассмотрен пример отправки SMS-сообщения прямо из бизнес-процесса.
Для этого воспользуемся API-интерфейсом компании "СМС Дисконт". Для того, чтобы воспользоваться интерфейсом, вам необходимо или получить через сайт тестовый логин и пароль, или заключить договор.
Требования API интерфейса:
- номер сотового телефона должен состоять из 11 цифр;
- максимальная длина сообщения не более 70 символов;
- кодировка текстового сообщения UTF-8;
- длина имени отправителя не более 11 символов латинскими буквами;
- допустимые имена отправителей регистрируются на сайте;
Для корректной работы сценария необходимо подключить ссылки на сборку:
1 | using System.Web; |
Текст сценария:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // формируем ссылку API интерфейса // добавляем сотовый номер получателя (номер должен состоять из 11 знаков) urlsms = urlsms + "79876543210" ; // кодируем строку URL-адресом, префикс обязателен string smstext = "&text=" + HttpUtility.UrlEncode( "Поступила новая задача" ); // перекодируем сообщения строки в UTF-8 smstext = smstext.Replace( "+" , "%20" ); // имя отправителя сообщения string smssender = "TEST" ; // логин к API string smslogin = "&login=mokiodo5070" ; // пароль к API string smspass = "&password=876543" ; // собираем итоговую URL строку urlsms = urlsms + smssender + smstext + smslogin + smspass; // отправляем сообщение System.Diagnostics.Process.Start(urlsms); |
В системе ELMA реализована возможность отправки sms-сообщений "СМС Дисконт". В настройках системы необходимо задать необходимые параметры (логин, пароль, имя отправителя и т.д.). Подробнее о настройках Вы можете прочитать в справке.
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA с 3.8 включительно до 3.12.1 включительно.
1 2 3 4 5 6 7 8 9 | // текст сообщения string message = "Сообщение" ; // добавляем сотовый номер получателя (номер должен состоять из 11 знаков) string phoneNumber = "79876543210" ; //Отправить сообщение (номер телефона, сообщение, указывать подпись "ELMA" или нет) var result = PublicAPI.Services.Sms.SendMessage(phoneNumber, message, true ); // Если необходимо задать имя отправителя или список номеров, то можно воспользоваться другой перегрузкой //string senderName = "Имя отправителя"; //var result = PublicAPI.Services.Sms.SendMessage(senderName, new[] {phoneNumber}, message, true); |
Пример сценария без использования PublicAPI
Пространства имен:
1 | using EleWise.ELMA.Messaging.SMS.Services; |
Пример сценария:
1 2 3 4 5 6 7 8 9 10 | var service = GateManager.CurrentGate; // текст сообщения string message = "Сообщение" ; // добавляем сотовый номер получателя (номер должен состоять из 11 знаков) string phoneNumber = "79876543210" ; //Отправить сообщение (номер телефона, сообщение, указывать подпись "ELMA" или нет) var result = service.SendMessage(phoneNumber, message, true ); // Если необходимо задать имя отправителя или список номеров, то можно воспользоваться другой перегрузкой //string senderName = "Имя отправителя"; //var result = service.SendMessage(senderName, new[] {phoneNumber}, message, true); |