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) Да по умолчанию это поменялось на какой то версии платформы
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший