Примеры интеграции |
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; иначе возврат неопределено; конецЕсли; КонецФункции |