|
api DaData.ru получение данных Организаций | ☑ | ||
---|---|---|---|---|
0
spiller26
27.09.17
✎
13:24
|
Есть сервис api DaData.ru для получение данных Организаций (Контрагентов), т.к. бывают моменты что сервис 1С:Контрагенты не глючит (сегодня не захотел пускать, хотя подписка ИТС Проф заканчавается в следующем году) и хочется резерв для вытаскивания данных контрагентов по ИНН или Наименованию.
Все успешно проходит, только вот ответ пустой: "{"suggestions":[]}" Кто либо пользовался данным сервисом? &НаСервере Процедура ЗапросDaDataНаСервере() Попытка ssl1 = Новый ЗащищенноеСоединениеOpenSSL(); АдресСервера = "suggestions.dadata.ru"; HTTPСоединение = Новый HTTPСоединение(АдресСервера, 443,,,, 4,ssl1); URL = "/suggestions/api/4_1/rs/suggest/party"; ЗаголовокGET = Новый Соответствие(); ЗаголовокGET.Вставить("Content-Type", "application/json"); ЗаголовокGET.Вставить("Accept", "application/json"); ЗаголовокGET.Вставить("Authorization", "Token 33879879879e9c4bd3af41f76467a51102158b0ba"); HTTPЗапрос = Новый HTTPЗапрос(URL, ЗаголовокGET); ТелоЗапроса = Новый Структура; ТелоЗапроса.Вставить("query", "7736050003 Газ"); JSONСоответствие = СформироватьСтрокуJSON(ТелоЗапроса); HTTPЗапрос.УстановитьТелоИзСтроки(JSONСоответствие, КодировкаТекста.UTF8); HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос); ОтветDaData = HTTPОтвет.ПолучитьТелоКакСтроку(); Исключение ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры &НаСервере Функция СформироватьСтрокуJSON(СтруктураЗапроса) СтрокаJSON = "{"; Для каждого Элемент Из СтруктураЗапроса Цикл СтрокаJSON = СтрокаJSON + """" + Элемент.Ключ + """" + ":"; Если ТипЗнч(Элемент.Значение) = Тип("Строка") Тогда СтрокаJSON = СтрокаJSON + """" + Элемент.Значение + """"; ИначеЕсли ТипЗнч(Элемент.Значение) = Тип("Число") Тогда СтрокаJSON = СтрокаJSON + СтрЗаменить(Строка(Элемент.Значение), Символы.НПП, ""); Иначе СтрокаJSON = СтрокаJSON + """" + КодироватьСтроку(Строка(Элемент.Значение), СпособКодированияСтроки.КодировкаURL) + """"; КонецЕсли; СтрокаJSON = СтрокаJSON + ","; КонецЦикла; Если Прав(СтрокаJSON, 1) = "," Тогда СтрокаJSON = Лев(СтрокаJSON, СтрДлина(СтрокаJSON)-1); КонецЕсли; Возврат СтрокаJSON + "}"; КонецФункции |
|||
1
spiller26
27.09.17
✎
15:45
|
(0)
Всё разобрался &НаСервере Процедура ЗапросDaDataНаСервере() Попытка АдресСервера = "suggestions.dadata.ru"; URL = "/suggestions/api/4_1/rs/suggest/party"; HTTPЗапрос = Новый HTTPЗапрос(URL); HTTPЗапрос.Заголовки.Вставить("Content-Type", "application/json"); HTTPЗапрос.Заголовки.Вставить("Accept", "application/json"); HTTPЗапрос.Заголовки.Вставить("Authorization", "Token 33879879879e9c4bd3af41f76467a51102158b0ba"); JSONСоответствие = "{ ""query"": ""7736050003 Газ"" }"; HTTPЗапрос.УстановитьТелоИзСтроки(JSONСоответствие, КодировкаТекста.UTF8); HTTPСоединение = Новый HTTPСоединение(АдресСервера, 443,,,,, Новый ЗащищенноеСоединениеOpenSSL()); HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос); ОтветDaData = HTTPОтвет.ПолучитьТелоКакСтроку(); Исключение ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры |
|||
2
spiller26
27.09.17
✎
15:46
|
хватай пока горячее
|
|||
3
spiller26
27.09.17
✎
15:47
|
разобрался по этому методу
http://anton.fly7.ru/api-dadata-ru-1c/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |