Также в конфигурации есть отправка СМС через веб-сервис МТС.
Добавлено: отправка СМС мегафон по http
Инструкция по настройке:
- МТС
- В справочнике «СервисыSMSрассылки» заполняем пользователя и пароль (пароль должен быть в формате MD5) полученные от оператора.
- Далее заполняем документ «SMSРассылка»
- Настраиваем регламентное задание «ОбработкаSMSСообщений»
Вот в принципе и все. С мегафоном сложнее… т.к. используется протокол SMPP, единственное, что я нашел для работы с 1С, это компонента WinSock.
- МЕГАФОН
- В справочнике «СервисыSMSрассылки» заполняем пользователя, пароль, ip, и порт.
- Регистрируем компоненту WinSock.
- В обработке «РассылкаSMSМегафон» необходимо поправить имя отправителя в функции сбора пакета Submit_sm.
- Заполняем документ «SMSРассылка»
- Настраиваем регламентное задание «ОбработкаSMSСообщений»
- Регистрация компоненты WinSock:
- Если регистрируем локально, тогда кидаем ее
C:WindowsSysWOW64 и в «Выполнить» прописываем regsvr32 “путь к файлу”, если на сервере, то см. ниже.
- Регистрация на сервере. Компонента старая x32, поэтому, чтобы она работала на сервере x64, необходимо проделать следующее:
- Запускаем консоль «Службы компонентов» (Пуск ->Администрирование->Службы компонентов)
- В ветке «Приложения COM+» добавлем новое приложение. Правой кнопкой Создать -> Приложение
- Выбираем «Создать новое приложение»
- Имя задаем MSWinsockWinsock1, способ активации «серверное приложение»
- Учетную запись выбираем, под которой стартует сервер 1С
- В ветке созданного приложения переходим на ветку «Роли» открываем роль «CreatorOwner» и далее в разделе «Пользователи» создаем пользователя — учетную запись под которой работает сервер 1С.
- В ветке созданного приложения переходим на ветку «Компоненты» и создаем компонент.
- Выбираем «Установка новых компонентов», и в диалоге выбираем нужную компоненту (тип файла «все файлы»)
- Открываем свойства только что созданного компонента, идем на вкладку «Безопасность», проверяем в списке «Явно установленные для выделенных объектов роли» стоит ли галка напротив роль CreatorOwner — если нет, тогда устанавливаем ее.
При написании конфигурации очень помогли статьи //infostart.ru/public/319296/ и //infostart.ru/public/297040/ за что автору огромное спасибо.
Основное отличие данный конфигурации это возможность отправки длинных сообщений с использованием UDH и использование регламентного задания.
В архиве конфигурация, описание протокола SMPP и компонента WinSock.
Пишите вопросы в комментариях, рад буду помочь.
UPD 01.06.2024: Улучшена стабильность обработки(добавлена обработка некоторых ошибок — если номер кривой), добавлена обработка отчетов о доставке, переделана запись id сообщения.
UPD 10.08.2024: У мегафона появилась возможность отправки СМС по протоколу HTTP, для работы с HTTP необходимо запросить у мегафона Логин и пароль и чтобы ваш внешний ip они добавили в
разрешенные.
Для получения отчетов о доставке необходимо создать свой http сервис с методом POST.
Код получения отчета:
Функция ЗаписатьОповещениеСМС(Запрос)
Тело = Запрос.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
ЗаписьЖурналаРегистрации("Отчет о доставке",УровеньЖурналаРегистрации.Информация,Метаданные.HTTPСервисы.API,,Тело);
Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;
КонецФункции
Формат отчета о доставке JSON:
{«status»:»delivered»,»short_message»:»id:250046790892422 sub:001 dlvrd:001 submit date:1708100950 done date:1708100950 stat:DELIVRD err:0 text:»,»receipted_message_id»:»250046790892422″,»msg_id»:»571ehnhuvq4l960v»}
Всего одно скачивание, ну не серьезно ребят) Я так старался, так старался)
Если кому надо могу выложить с обработкой отчетов о доставке мегафоновских смс,
Классная вещь, спасибо, пригодилось мне в работе!
(4) php5, Пожалуйста, это моя работа, кто-то должен!
Здравствуйте, ни как не могу зарегистрировать на Windows7x64. Создаю приложение потом компоненту, выбираю файл, винда пишет что есть такая и не ставит компоненту, а при мWinSocketActiveX = Новый COMОбъект(«MSWinsock.Winsock.1»); выдает исключение, что и пропустил не подскажите? Очень нужно
(6) Prooa, зарегистрировал, но смс не отправляет, в режиме отладки видно что срабатывает только «//пришел пакет ENQUIRE_LINK» и все, что не так
п(7) Prooa, проверьте пользователя и пароль
(7) Prooa, ENQUIRE_LINK_RESP отправляете?
(7) Prooa, или скачайтеhttp://infostart.ru/public/393308/ там более наглядно, что приходит, что уходит
Скачал обработку все работает, а с вашей конфы не хочет
(11) Prooa, походу только у вас не работает.
скорее всего не правильное значение МатрицаДанных.SetValue(7, 4); //command_id 4=submit_sm submit_multi=21
(11) Prooa, и еще с этими данными надо поиграть, они тоже часто разные у всех бывают
МатрицаДанных.SetValue(17, 5); //source_addr_ton
МатрицаДанных.SetValue(18, 0); //source_addr_npi
(11) Prooa, нашел в чем могла быть проблема.
в submit_sm_resp иногда приходит пакет с ошибкой если оператор по какой то причине не может отправить смс.
Добавьте в процедуру ОбработатьПакет_submit_sm_resp
КодОшибки = ВходящийПакет.GetValue(11);
Если КодОшибки <> 0 Тогда
ЗаписатьНовыйСтатусСМС(«ошибка отправки»);
Возврат;
КонецЕсли;
Здравствуйте. При установке компоненты на сервер 2008 R2 Standart возникла проблема в пункте
8. Выбираем «Установка новых компонентов», и в диалоге выбираем нужную компоненту (тип файла «все файлы»).
все выбираю, но компонента в списке не появляется. Что может быть не так?
(15) nikolayvg, точно выбираете тип файла «Все файлы(*.*)» т.к. если файл в папке то он по-любому будет виден. Или в службе компонентов не появляется? Если в службе компонентов, то попробуйте любую другую компоненту добавить, а потом компоненту винсок, должна появиться.
(15) nikolayvg, На всякий случай для остальных:
http://infostart.ru/public/319296/ и установил Visual Basic
Воспользовался советом из
Если приходит ошибка 88 (0x65) надо добавить задерку при отправке смс, примерно 5 смс в секунду
Добрый день, заключили договор с мегафоном, прислал вот это:
1. IP-адрес крипто-сервера
2. IP-адрес SMPP ESME
3. IP-адрес крипто-сервера УФ ОАО «МегаФон»
4. IP-адрес SMS-центра УФ ОАО «МегаФон»
5. Ключ isakmp
6. transform-set:
7. PFS:
8. Isakmp policy
От дальнейшей помощи категорически отказывается, будет ли Ваша разработка работать с Тюменским мегафоном (если там вообще есть различия)?
(19) Bayker, не могу сказать, по идее если по протоколу SMPP то отличий никаких не должно быть
Обновление лежит отдельно , не в архиве?
(21) SGordon1, да
Никто не сталкивался с такой ситуацией. После отправки команды Bind_transceiver компонента переходит в состояние State = 8 (клиент закрыл подключение)?
(23) flord, значит ошибка в этом пакете, проверьте логин и пароль, он чувствителен к реестру. Лучше конечно узнать у оператора, что к ним приходит и в чем ошибка.
(25) flord, упоминания нет, потому что скорее всего Bind_transceiver кривой, скиньте как вы его переделали…
(27) flord, ну мой совет поставить после пароля
Матрица.SetValue(29,0);
Матрица.SetValue(30,0);
Матрица.SetValue(31,0);
Матрица.SetValue(32,0);
Матрица.SetValue(33,52);
Матрица.SetValue(34,1);
Матрица.SetValue(35,1);
Матрица.SetValue(36,0);
Там где циферки слева соотвественно ваш индекс.
Просто эти значения четко подобраны и менять их не стоит.
(27) flord, так же у вас не верно Матрица.SetValue(Индекс, КодСимвола(interface_version));//interface_version = 4 (версия 4 = 3.4)
Должно быть так interface_version 0x34 = 52
(27) flord, и вот эти должны быть = 1
addr_ton = 0;
addr_npi = 0;
Если оставить так – то «съедаются» последние несколько символов пароля.
Если смотреть описание pdu из описания протокола
Матрица.SetValue(32,0); это system_тип
Матрица.SetValue(33,52); это interface_version
Матрица.SetValue(34,1); это addr_ton
Матрица.SetValue(35,1); это addr_npi
Матрица.SetValue(36,0); это address_range
Я прав?
А за что отвечают эти значения, не подскажете?:
Матрица.SetValue(29,0);
Матрица.SetValue(30,0);
Матрица.SetValue(31,0);
(32) Выяснилось, что по нашему заключенному договору с Мегафоном в этой системе Bind_transceiver не поддерживается
(Либо у Мегафона в принципе не поддерживается Bind_transceiver).
Работает Bind_transmitter.
A PDU на запрос BIND был правильным – изменил команду и заработало.
Спасибо за помощь!
(33) flord, Вот оно че, у нас мегафон на Bind_transceiver работает
Подскажите, что означает ошибка «Код Ошибки Постоянного Приложения Приемника ESME (ESME Receiver Permanent App Error Code)» ?
Приходит в пакете submit_sm_resp
(35) Revolver_61,
1. неверные параметры в отправленном submit_sm.
2. от smsc других регионов и операторов пришел ответ о невозможности принять смс по разным причинам.
3. закончились деньги на лицевом счету, необходимо обратиться к своему менеджеру для выяснения вопроса.
(35) Revolver_61, часто эта ошибка приходит если отправляется смс на городской номер
Доброго времени!
Подскажите как именно работает с МТС? Обработку пока не скачивал.
В описании сказано. что вводится логин и пароль (МД5). Эти «учетки» просто пользователя (своего личного) или после договора компании с МТС о доставке смс?
По какому шлюзу обмен идет?
Спасибо!
Добрый день! Договор с МТС нужен, у них есть апи по SOAP. (веб сервис). В моей конфигурации пример этого веб-сервиса, в принципе самому там не сложно настроить.
Здравствуйте!
Без создания регламентных заданий, обработка РассылкаSMSМегафон отправляет сообщения?
(40) Добрый день!
Конечно
Добрый день. Пытаюсь отправить через мтс. Не получается. Как мне получить пароль в формате MD5? Это мне мтс должен в таком формате предоставить?
(42) нет, мтс предоставляет в обычном формате, в мд5 на любом сайте конквертните, напримерhttp://decodeit.ru/md5
Здравствуйте.
Скачал конфигурацию, пытаюсь отправить СМС через МТС.
При запуске регламентного задания вываливается ошибка (см. скриншот) в функции «ПолучитьСтатистику» при вызове метода «GetStatistics».
В чем ошибка?
(44) В конфигураторе удалите ws ссылку и добавьте заново такую же.
Здравствуйте, BaHgaJI. Спасибо за обработку. Пытаюсь настроить. Пакет bind_transceiver уходит, bind_transceiver_resp прилетает, тут все ок. Дальше отправляем submit_sm. В итоге submit_sm_resp возвращается с кодом ошибки 1 — Invalid Message Length (sm_length parameter). Хотя параметр sm_length не менялся при настройке submit_sm.
Показать
Помогите, пожалуйста, разобраться, в чем может быть ошибка?
Добрый день! А подскажите пожалуйста в обработке отправка через мегафон там сделана сразу с отчетом о доставке??
интересует отправка через HHTP
(2)Да если можно, выложи плиз!
Ни у кого нет такой же обработки под УФ, интересует только как организовать отправку через smpp, вообще реально прикрутить это дело, если у кого есть буду благодарен если пришлете, спасибо