Соединение = РезультатСоединенияСAmoCRM.Соединение;
БылиОшибкиПриПодключенииКAmoCRM = РезультатСоединенияСAmoCRM.БылиОшибкиПриПодключенииКAmoCRM;
ОписаниеОшибки = РезультатСоединенияСAmoCRM.ОписаниеОшибки;
Если Соединение = Неопределено Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При подключении к AmoCRM произошла ошибка:
|%1'"), ОписаниеОшибки));
Иначе
АдресСкрипта = "/private/api/auth.php?type=json";
HTTPЗапрос = Новый HTTPЗапрос(АдресСкрипта);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
HTTPЗапрос.Заголовки.Вставить("Accept-Language", "ru");
HTTPЗапрос.Заголовки.Вставить("Accept-Charset", "utf-8");
HTTPЗапрос.Заголовки.Вставить("Content-Language", "ru");
HTTPЗапрос.Заголовки.Вставить("Content-Charset", "utf-8");
HTTPЗапрос.Заголовки.Вставить("User-Agent", "amoCRM-API-client/1.0");
HTTPЗапрос.УстановитьТелоИзСтроки(
"USER_LOGIN=" + Объект.ЛогинПользователя +
"&USER_HASH=" + Объект.КлючПользователя,
КодировкаТекста.UTF8, ИспользованиеByteOrderMark.Авто);
БылиОшибкиПриОтправкеHTTPЗапроса = Ложь;
БылиОшибкиПриРасшифровкеHTTPОтвета = Ложь;
Попытка
HTTPОтветСервера = Соединение.ОтправитьДляОбработки(HTTPЗапрос);
Исключение
БылиОшибкиПриОтправкеHTTPЗапроса = Истина;
ИнформацияОбОшибке = ПолучитьИнформациюОбОшибке(ИнформацияОбОшибке());
ОписаниеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке);
ТекстСообщения =
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'При авторизации в AmoCRM произошла ошибка:
|%1'"), ОписаниеОшибки);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , , , БылиОшибкиПриОтправкеHTTPЗапроса);
ЗаписьЖурналаРегистрации(
НСтр("ru = 'Обмен с AmoCRM. Авторизация пользователя на сервере'", КодОсновногоЯзыка),
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке));
КонецПопытки;