1С: POST запросы
POST запрос к какому то ресурсу в 1С можно организовать например примерно так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
&НаСервере Функция СтруктураВСтрокуJSON(Данные)экспорт ЗаписьJSON = Новый ЗаписьJSON(); ЗаписьJSON.УстановитьСтроку(); ЗаписатьJSON(ЗаписьJSON, Данные); ответ=ЗаписьJSON.Закрыть(); // заменим -999999999 на null раз уж 1С это не умеет ответ=стрЗаменить(ответ,"-999999999","null"); возврат ответ; КонецФункции &НаСервере Функция API_SendSMS(УРЛ,Логин,Пароль,Отправитель,Телефон,ТекстСмс,ВремяЖизни=360)экспорт Соединение=ПолучитьПараметрыСоединения(УРЛ,Логин,Пароль); answer=API_getSessionID(Соединение,Логин,Пароль); если answer.error=true тогда возврат answer;конецесли; ПОСТ_Структура=Новый Структура("sessionId,sourceAddress,data,destinationAddress,validity"); ПОСТ_Структура.sessionId=answer.result; //идсессии, ПОСТ_Структура.sourceAddress=Отправитель; //имяотправителя ПОСТ_Структура.destinationAddress=Телефон; //получатель(номер) ПОСТ_Структура.data=ТекстСмс; //текст сообщения ПОСТ_Структура.validity=ВремяЖизни; //время жизни в минутах Заголовки = Новый Соответствие; Заголовки["Content-Type"] = "application/json"; Заголовки.Вставить("Connection", "keep-alive"); Заголовки.Вставить("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)"); HTTPЗапрос = Новый HTTPЗапрос("/rest/Sms/Send",Заголовки); HTTPЗапрос.УстановитьТелоИзСтроки(СтруктураВСтрокуJSON(ПОСТ_Структура), КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); Результат = Соединение.ВызватьHTTPМетод("POST",HTTPЗапрос); РезЗапроса=JSONВСтруктуру(Результат.ПолучитьТелоКакСтроку()); если ТипЗнч(РезЗапроса)=Тип("Строка") тогда answer.error=true; answer.result=РезЗапроса; возврат answer; конецесли; если ТипЗнч(РезЗапроса)=Тип("Структура") тогда answer.error=true; answer.result=РезЗапроса.Desc; возврат answer; конецесли; answer.error=false; answer.result=РезЗапроса[0]; возврат answer; КонецФункции |