Примеры интеграции

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