HTTPСоединение = Новый HTTPСоединение("ххххххххххххххххххх",,,,,,Новый ЗащищенноеСоединениеOpenSSL);
HTTPЗапрос = Новый HTTPЗапрос("хххххххххххххх");
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.Заголовки.Вставить("X-API-KEY", "хххххххххххххххххххххх");
HTTPЗапрос.УстановитьТелоИзСтроки("{
|""session"": {
|""password"": ""ххххххххххххххх"",
|""phone_number"": ""хххххххххххххххх""
|}
|}");
ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
РезультатHTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос,ИмяВременногоФайла);
ЧтениеJSON=Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьФайл(ИмяВременногоФайла);
Ответ=ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
УдалитьФайлы(ИмяВременногоФайла);
Если Ответ.Свойство("errors") Тогда
Результат = Ответ.errors.base[0].error;
Иначе
Результат = Ответ.data.access;
КонецЕсли;
Код не привязан к объектам конфигурации. Все данные для запроса записаны напрямую в код. Есть две базы. Одна на управляемых формах, другая на обычных. Платформа одна. На управляемых формах код выполняется и от сервера приходит нормальный ответ. На другой базе запрос возвращает bad request.
(1) Да по умолчанию это поменялось на какой то версии платформы
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший