В последнее время стало много вопросов о возможности отправлять sms-сообщения из DIRECTUM. Данные вопросы мы уже несколько раз слышали от наших заказчиков, а так же эту тему затронули на недавно прошедшем партнерском форуме DIRECTUM. По-видимому, настало самое время для воплощения этого механизма в жизнь.
С конца прошлого года мы начали изучать интернет в поисках того, что сейчас предлагается и какие есть варианты для программной отправки sms. Существуют несколько вариантов: специальные программки и специализированные веб-сервисы, есть как платные так и бесплатные версии. Бесплатные варианты быстро отсеялись по причине того, что коммерческие предложения более профессиональны, стабильны и надежны. На программках останавливаться мы не стали, т.к. решили реализовывать свой функционал в DIRECTUM. А на веб-сервисах остановимся по подробней.
Поисковики выдают большие списки сайтов на запрос "сервисы отправки смс". И все предоставляют услуги по отправке коротких сообщений. Немного они друг от друга отличаются, но все же принципы работы одинаковые:
Каждый веб-сервис предлагает свой протокол взаимодействия (API). В большинстве случаев это:
Немного детальней о взаимодействии:
С каким именно сервисом предпочтете работать Вы, выбирать Вам. Возможно, у Вашего заказчика будут свои предпочтения или он уже сотрудничает с одним из них, тогда Вам нужно будет уточнить параметры формирования запросов к сервисам согласно его протокола взаимодействия.
Далее приложен пример реализации взаимодействия DIRECTUM 4.9.0 с сервисом SMSTraffic по варианту SMTP v2.
В материале представлен один из простых вариантов реализации функционала отправки sms-сообщений. Полнофункциональная версия уже разрабатывается нами и получит большой набор возможностей работы с короткими сообщениями: несколько вариантов протоколов взаимодействия с веб-сервисами и, вероятно, несколькими сервисами, интерфейсы для пользователей СЭД для ручной отправки sms, возможность массовых рассылок и уведомлений, обратная связь.
Систем-Консалт_SMS.rar (11,60 Кб)
Представленная версия хоть и является free, но многое может. Например, подменять номер отправителя или отправлять служебные смс, которые не сохраняются в телефоне получателя :)
Интересное решение!
Установить но не понятно чем заполнять константу SMSSendBySMTPConfig
Анатолий, в константе SMSSendBySMTPConfig заполняются параметры для отправки писем по протоколу SMTP, фактически параметры учетной записи для отправки электронных писем.
Она уже предзаполненна, только пароль скрыт, для примера вполне подойдет.
странно она у меня не заполнена
Действительно странно, если не заполнена, тогда дополню примерами руководство.
Алексей, рассмотрите в качестве развития решения реализацию собственного сервиса по отправке. Отправлять SMS через GSM-модем элементарно просто, я такую вещь еще в студенчестве писал. А то непонятно каким публичным веб-сервисам доверять не каждый готов. Неизвестно, не складируются ли они там где-нибудь вместе с номерами сотрудников. Помните, какая история с утечкой произошла не так давно?
Дмитрий, стандартные настройки, в принципе, можно использовать, потребуется минимум изменений, но специально сделано так, чтобы были отдельные настройки для данных фунций.
Денис, спасибо за подсказку! Чесно говоря, мы обдумывали такой вариант, но почемуто записали к реализации не в первую очередь ) хотя надо бы пересмотреть вопрос, т.к. он возможно проще для контроля клиенту. А по сохранению контактов, на сколько нам известно, данный сервис не сохраняет переданную информацию. Есть возможность сохранять списки и прочее, но работая с веб-интерфейсом напрямую.
Коль пошла такая пьянка, вот тут недавно появился новый материальчик на эту тему.
Дополнил Руководство образцами заполнения констант.
ошибочка, в сценарии Отправка SMS по SMTP (max) в строку 11 нужно изменить на
Action = Trim(SubString(Results; '|'; 6))
Кто-нибудь уже потестил данное решение в действии? Как ощущения?
потестить не получается, сценарий пишет что все отправлено а на деле ничего не уходит, возможно с настройками почты у меня что-то не так...
Анатолий, показываемое сообщение в данном случае является служебным, чтобы стали приходить СМСки, необходимо получить аккаунт на сервисе SMSTraffic.
я так и делаю,
1. зарегился на SMSTraffic получил логи с паролем, указал их в константу SMSAccount.
2. заполнил константу SMSSendBySMTPConfig на основе вашего примера:
ServerType=SMTP;Server=smtp.mail.ru;Port=25;User=******@mail.ru;Password=*******
здесь возникает вопрос нужно указывать почту на которую регистрировался на сайте SMSTraffic или можно другую?
3. в функциях SMSQuickSendBySMTP и SMSSendBySMTP поменял почту
здесь тоже вопрос какую надо? любую или на которую регистрировал?
запускаю любой сценарий (Отправка SMS по SMTP или Отправка SMS по SMTP (max)) выходит окно сообщение отправлено, а смс не приходит!
А у меня получилось отправить СМС. Тестировал на DIRECTUM 4.8:
Только непонятно почему сообщение транслитом пришло, в настройках я явно указал, что не надо этого делать.
Описанные выше ошибки исправлены.
Дмитрий, спасибо за скрины результатов тестирования!
Добрый день, Роман!
В данном материале имеется ссылка на скачивание бесплатной рабочей lite-версии описанного решения. Возможно Вы не зарегистрированы на данном сайте и ссылка Вам сейчас не отображается.
В финансовом вопросе, все затраты будут исходить только от количества отправляемых СМС. Бонус: При регистрации на СМС-сервисе предоставляется некоторое количество бесплатных СМСок.
Развернуть у себя данную разработку и зарегистрироваться на сервисе Вы можете самостоятельно. Если заинтересует, мы можем оказать услуги по настройке, доработке, консультированию. Для детального обсуждения пишите в приватные сообщения, либо на почту infosys-consultru.
info@sys-consult.ru
Добрый вечер. Не получается импортировать компоненты запуска из папки Tokens. Пишет, что файл повреждён
Ответили на почту.
А нет возможности подключения GSM-модемов? Там же нет ничего сложного, зачем кормить сервисы, если есть корпоративные тарифы?
Александр, возможность есть. DIRECTUM позволяет использовать объектную модель других систем. Как вариант можно найти, разработать или купить специализированную внешнюю программу и использовать ее, пример с прошедшего Авордса http://club.directum.ru/post/Rasshirjaem-granicy-vzaimodejjstvija.aspx. Можно разработать собственный модуль, к сожалению наша разработка была приостановлена, но, думаю, найдутся умельцы и выпустят такой функционал в свет :)
Авторизуйтесь, чтобы написать комментарий