Интеграция с Dadata

1. sejMe 12.02.20 12:05 Сейчас в теме
При интеграции с dadata.ru при обращении к методу suggest/party получаю нормальный ответ.

HTTPСоединение=Новый HTTPСоединение("suggestions.dadata.ru",,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Заголовки=Новый Соответствие();
Заголовки.Вставить("Content-Type","application/json");
Заголовки.Вставить("Accept","application/json");
Заголовки.Вставить("Authorization","Token *******");
HTTPЗапрос=Новый HTTPЗапрос("/suggestions/api/4_1/rs/suggest/party",Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки("{ ""query"": "" " + ИНН + "");
HTTPОтвет=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
Если HTTPОтвет.КодСостояния=200 Тогда
ТекстОтвета=HTTPОтвет.ПолучитьТелоКакСтроку();
ЧтениеJSON=Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТекстОтвета);
Структура=ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
КонецЕсли;

Но при обращении к методу findById/party получаю пустой ответ.

HTTPСоединение=Новый HTTPСоединение("suggestions.dadata.ru");
//,,,,,,Новый ЗащищенноеСоединениеOpenSSL);
Заголовки=Новый Соответствие();
Заголовки.Вставить("Content-Type","application/json");
Заголовки.Вставить("Accept","application/json");
Заголовки.Вставить("Authorization","Token ************");
HTTPЗапрос=Новый HTTPЗапрос("/suggestions/api/4_1/rs/findById/party",Заголовки);
HTTPЗапрос.УстановитьТелоИзСтроки("{ ""query"": "" " + ИНН + """ }");
//HTTPОтвет=HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
HTTPОтвет=HTTPСоединение.Получить(HTTPЗапрос);
Если HTTPОтвет.КодСостояния=200 Тогда
ТекстОтвета=HTTPОтвет.ПолучитьТелоКакСтроку();
ЧтениеJSON=Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(ТекстОтвета);
Структура=ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();
КонецЕсли;
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. aezdakov 6 12.02.20 15:18 Сейчас в теме
Помнится тоже были с этим запросом проблемы, вот к такому решению тогда пришёл:
//ИНН – строка с ИНН организации
//Данные собираются из ЕГРЮЛ/ЕГРИП с частотой обновления примерно раз в сутки
Функция ЗапросСтутусаОрганизацииПоИнн(ИНН) Экспорт
                Соединение = Новый HTTPСоединение("suggestions.dadata.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);
    
    ТекстНаПроверку = ИНН;
    
    Заголовки = Новый Соответствие;

    Заголовки.Вставить("Content-Type", "application/json");
                Заголовки.Вставить("Accept", "application/json");
                Заголовки.Вставить("Authorization", "Token ***");
    
    Запрос = Новый HTTPЗапрос("/suggestions/api/4_1/rs/findById/party", Заголовки);
                JSONСоответствие = "{ ""query"": """+ТекстНаПроверку+""" }";
                Запрос.УстановитьТелоИзСтроки(JSONСоответствие, КодировкаТекста.UTF8);
    Ответ = Соединение.ОтправитьДляОбработки(Запрос);
    Если Ответ.КодСостояния = 200 Тогда
                    ЧтениеJSON = Новый ЧтениеJSON;
                    ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
                    Возврат ПрочитатьJSON(ЧтениеJSON, Ложь);
                Иначе
                               Сообщить(Ответ.КодСостояния);
                               Возврат Новый Структура();
                КонецЕсли;
КонецФункции
Показать

Год прошёл, тогда работало, а сейчас лень проверять.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот