
Скрипт активации рассылки из 1С
Скрипт отправляет СМС и возвращать уникальный номер (ID) если принято на сервере без ошибок или 0 / Error если произошла ошибка и сервер не принял.
// НАЧАЛО
// Активация рассылки на ***** из 1С путем отправки и получения HTTP запроса
//
// описание параметров:
// Login - ваш логин на *****
// Password - ваш пароль
// FromName - имя отправителя (устанавливается в личном кабинете)
// ToPhone - телефон получателя
// MessText - текст сообщения
// StartDate - дата и время активации рассылки. Формат DD. MM. GGGG HH:MM
// (если StartDate не указан, то дата и время будет текущее)
Function actvate_websms(Login, Password, FromName, ToPhone, MessText, StartDate) Export
// Формирование текста запроса
QueryLink = "http://www. *****/http_in5.asp? http_username=" + Login + "&http_password=" + Password + "&phone_list=" + ToPhone;
QueryLink = QueryLink + "&message=" + MessText + "&fromPhone=" + FromName + "&send_on=" + StartDate + "&format=xml";
// Создание объекта XMLHttp
Try
XMLHttp = GetCOMObject("", "Microsoft. XMLHTTP");
Except
DoMessageBox(ErrorDescription(),,"Send SMS-message through www. ***** - create XMLHTTP");
Return "Error";
EndTry;
// Инициация HTTP-запроса, возвращающего управление программе после получения ответа:
Try
XMLHttp. Open("GET", QueryLink, False);
Except
DoMessageBox(ErrorDescription(),,"Send SMS-message through www. ***** - initiate request");
Return "Error";
EndTry;
// Отправка запроса:
XMLHttp. Send();
// Проверка ответа и обработка:
If XMLHttp. Status = 200 Then //Если ОК
// Разбор XML ответа:
StreamXML = New XMLReader;
StreamXML. SetString(XMLHttp. ResponseText);
// Чтение XML из строки:
StreamXML. Read();
If StreamXML. NodeType <> XMLNodeType. StartElement or StreamXML. Name <> "XML" Then
DoMessageBox("Error while XML Parsing",,"Send SMS-message through www. *****");
Return "Error";
EndIf;
// Чтение XML строки:
While StreamXML. Read() Do
// Не подошли ли к закрытию узла 'XML'?
If StreamXML. NodeType = XMLNodeType. EndElement Then
DoMessageBox(XMLHttp. ResponseText,,"Send SMS-message through www. *****");
Return "Error";
EndIf;
// Чтение XML строки и поиск ключа:
If StreamXML. Name = "sms" Then
// StreamXML. Read();
id = StreamXML. GetAttribute("message_id");
StreamXML. Close();
Return id;
Else
Continue;
EndIf;
EndDo;
StreamXML. Close();
Return "0";
Else
DoMessageBox("Error: " + XMLHttp. StatusText,,"Send SMS-message through www. *****");
Return "Error";
EndIf;
EndFunction
// КОНЕЦ


