rostovweb
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет! Написал процедуру для автоматического заполнения карточки контрагента данными с dadata, в итоге приходит пустой ответ на запрос {"suggestions":[]}, подскажите в какую сторону копать, уже всю голову сломал, код прилагаю. Процедура ЗаполнитьПоИНН(); ИНН = Объект.ИНН; Наименование = Объект.Наименование; ИмяВремФайла = ПолучитьИмяВременногоФайла(); APIКлючDaData = Константы.APIКлючDaData.Получить(); //XSecreet = Константы.СекретныйКлюч.Получить(); ТелоЗапроса = Новый Структура; ТелоЗапроса.Вставить("query", ИНН); ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, , , , , , , , Ложь); ЗаписьJSON = Новый ЗаписьJSON; ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON); ЗаписатьJSON(ЗаписьJSON, ТелоЗапроса); ТелоЗапросаСтрокой = ЗаписьJSON.Закрыть(); SSL = Новый ЗащищенноеСоединениеOpenSSL(); Сервер = "suggestions.dadata.ru"; //СтрокаЗапроса = "/suggestions/api/4_1/rs/suggest/party"; СтрокаЗапроса = "/suggestions/api/4_1/rs/findById/party"; HTTPСоединение = Новый HTTPСоединение(сервер,,,,,, SSL); HTTPЗапрос = Новый HTTPЗапрос(СтрокаЗапроса); HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json"); HTTPЗапрос.Заголовки.Вставить("Accept", "application/json"); HTTPЗапрос.Заголовки.Вставить("Authorization", "Token " + APIКлючDaData); //HTTPЗапрос.Заголовки.Вставить("X-Secret", XSecreet); HTTPЗапрос.УстановитьТелоИзСтроки(ТелоЗапросаСтрокой,КодировкаТекста.UTF8); Попытка HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); Исключение Сообщить("Произошла ошибка при отправке запроса"); КонецПопытки; Попытка HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос); ТекстJSON = HTTPОтвет.ПолучитьТелоКакСтроку(); Исключение Сообщить("При отправке запроса произошла ошибка"); Возврат; КонецПопытки; Если HTTPОтвет = Неопределено Тогда Сообщить("Получен не верный ответ от сервера dadata.ru"); ИначеЕсли HTTPОтвет.КодСостояния <> 200 Тогда Сообщить("Получен не верный ответ от сервера dadata.ru"); КонецЕсли; ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТекстJSON); ОтветСервера = ПрочитатьJSON(ЧтениеJSON); ЧтениеJSON.Закрыть(); Если ОтветСервера.количество() = 0 Тогда Сообщить("Ни чего не найдено"); КонецЕсли; Сообщить(ТекстJSON); КонецПроцедуры |