Запрос = Новый HTTPЗапрос("/api/v2/clean/address", Заголовки); Запрос.УстановитьТелоИзСтроки("[""" + Адрес + """]", КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать); Соединение = Новый HTTPСоединение("dadata.ru", 443,,,,, Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено),); Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния=200 тогда ЗначениеОтвета = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8); ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ЗначениеОтвета); Данные = ПрочитатьJSON(ЧтениеJSON);
СтрОтвета = новый Структура(); СтрОтвета.Вставить("долгота",Данные[0].geo_lon);// долгота СтрОтвета.Вставить("ширина",Данные[0].geo_lat);// ширина Возврат СтрОтвета иначе Возврат "Ошибка."+сокрлп(Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8)); конецесли;
Решено.
Коллеги, 1С-ники
вот рабочий пример
Адрес ="Искомый адрес";
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type" , "application/json");
Заголовки.Вставить("Authorization", "Token " + КлючиДоступа.APIКлюч);
Заголовки.Вставить("X-Secret" , КлючиДоступа.СекретныйКлюч);
Запрос = Новый HTTPЗапрос("/api/v2/clean/address", Заголовки);
Запрос.УстановитьТелоИзСтроки("[""" + Адрес + """]", КодировкаТекста.UTF8,
ИспользованиеByteOrderMark.НеИспользовать);
Соединение = Новый HTTPСоединение("dadata.ru", 443,,,,,
Новый ЗащищенноеСоединениеOpenSSL(Неопределено, Неопределено),);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния=200 тогда
ЗначениеОтвета = Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ЗначениеОтвета);
Данные = ПрочитатьJSON(ЧтениеJSON);
СтрОтвета = новый Структура();
СтрОтвета.Вставить("долгота",Данные[0].geo_lon);// долгота
СтрОтвета.Вставить("ширина",Данные[0].geo_lat);// ширина
Возврат СтрОтвета
иначе
Возврат "Ошибка."+сокрлп(Ответ.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8));
конецесли;