Ваши комментарии

Ситуация такова что запрос формирую из тех полей которые есть на форме редактирования адреса (форма в 1С) и на ней отдельного поля под тип нет, поэтому использую название с типом. Решил конкатенацией строки в поле query.

Код формирования запроса для контрагентов, 8.3, для 8.2 нужно ЗаписьJSON отдельно реализовать (достаточно просто гуглится),


Функция ПолучитьДаныеОрганизацийПоСтроке(Строка) Экспорт

Токен = "";
СоответствиеДанные = Новый Соответствие;
СоответствиеДанные.Вставить("query", Строка);
МассивСтатусов = Новый Массив;
МассивСтатусов.Добавить("ACTIVE");
СоответствиеДанные.Вставить("status", МассивСтатусов);
Сервер = "suggestions.dadata.ru";
СтрокаЗапроса = "/suggestions/api/4_1/rs/suggest/party";
Возврат ПОСТ(СтрокаЗапроса, СоответствиеДанные, Сервер, Токен);

КонецФункции


//-----------------------------


Функция ПОСТ(СтрокаЗапроса, СоответствиеДанные, Сервер, Токен)

ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.УстановитьСтроку();
ЗаписатьJSON(ЗаписьJSON, СоответствиеДанные);
СтрокаДанные = ЗаписьJSON.Закрыть();
ssl1 = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаWindows(СпособВыбораСертификатаWindows.Авто),
Новый СертификатыУдостоверяющихЦентровWindows());
HTTPСоединение = Новый HTTPСоединение(Сервер,,,,,,ssl1);
HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса);
HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json");
HTTPЗапрос.Заголовки.Вставить("Accept", "application/json");
HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + Токен);
HTTPЗапрос.УстановитьТелоИзСтроки(СтрокаДанные, "UTF-8", ИспользованиеByteOrderMark.НеИспользовать);
Попытка
Результат = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Исключение
// исключение здесь говорит о том, что запрос не дошел до HTTP-Сервера
Сообщить("Произошла сетевая ошибка!");
Возврат Ложь;
КонецПопытки;
Возврат Результат;
КонецФункции

//-----------------------



Сервис поддержки клиентов работает на платформе UserEcho