Примеры интеграции |
1CКод отправки сообщения:
MessageId = Строка(Новый УникальныйИдентификатор);
Запрос = СформироватьЗапрос("Отправитель", "Получатель", "Текст", MessageId,
"Логин", "Пароль");
ПослатьЗапрос(Запрос,"SumbitSm");
Код в глобальном модуле:
Процедура ОтправитьСМС()
MessageId = Строка(Новый УникальныйИдентификатор);
Запрос = СформироватьЗапрос("Отправитель", "Получатель", "Текст", MessageId,
"Логин", "Пароль");
ПослатьЗапрос(Запрос,"SumbitSm");
КонецПроцедуры
Функция СформироватьЗапрос(НомерОтправителя, НомерПолучателя, ТекстСообщения, ИдентификаторСообщения,
Логин, Пароль)
Запрос = "<?xml version=""1.0"" encoding=""utf-8""?>"+Символы.ВК+Символы.ПС+
"<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">"+Символы.ВК+Символы.ПС+
" <soap:Header>"+Символы.ВК+Символы.ПС+
" <Authentication xmlns=""http://sms-host.ru/"">"+Символы.ВК+Символы.ПС+
" <User>"+Логин+"</User>"+Символы.ВК+Символы.ПС+
" <Password>"+Пароль+"</Password>"+Символы.ВК+Символы.ПС+
" </Authentication>"+Символы.ВК+Символы.ПС+
" </soap:Header>"+Символы.ВК+Символы.ПС+
" <soap:Body>"+Символы.ВК+Символы.ПС+
" <SumbitSm xmlns=""http://sms-host.ru/"">"+Символы.ВК+Символы.ПС+
" <messageList>"+Символы.ВК+Символы.ПС+
" <WsSubmitSm ValidityPeriodSmpp=""000000010000000R""
MessageText="""+ТекстСообщения+"""
SenderAddress="""+НомерОтправителя+"""
ReceiverAddress="""+НомерПолучателя+"""
MessageId="""+ИдентификаторСообщения+""" />"+Символы.ВК+Символы.ПС+
" </messageList>"+Символы.ВК+Символы.ПС+
" </SumbitSm>"+Символы.ВК+Символы.ПС+
"</soap:Body>"+Символы.ВК+Символы.ПС+
"</soap:Envelope>";
Возврат Запрос;
КонецФункции
Функция ПослатьЗапрос(ЗапросXML,КомандаPOST)
//универсальная функция для запросов
АдресСервиса = "https://sms-host.ru/service/smshostws.asmx";
ИмяСервера = "http://sms-host.ru";
MSXML = Новый COMОбъект("MSXML2.XMLHTTP.4.0");
MSXML.open("POST", АдресСервиса, 0);
MSXML.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
MSXML.setRequestHeader("Content-Length", СтрДлина(ЗапросXML));
MSXML.setRequestHeader("Accept", "text/xml; charset=utf-8");
MSXML.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
MSXML.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
MSXML.setRequestHeader("SOAPAction", ИмяСервера + "/" + КомандаPOST);
//сообщить(ЗапросXML);
MSXML.send(ЗапросXML);
ОтветПолучен = Ложь;
Для НомерЦикла = 1 по 100 Цикл
Если MSXML.readyState > 3 Тогда
ОтветПолучен = Истина;
Прервать;
КонецЕсли;
КонецЦикла;
Если ОтветПолучен Тогда
возврат MSXML.responseXML.xml;
иначе
возврат неопределено;
конецЕсли;
КонецФункции
|
