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; КонецФункции |