https://pro1c.org.ua/redirect.php?https://cabinet.tax.gov.ua/help/api-registers.html Тут описано методи API для доступу до реєстрів відкритої частини ЕК.
З API ніколи не працював. Можливо хтось підкаже як реалізувати ці запити на 1С ?
Вот, например https://pro1c.org.ua/topic/rabota-s-http-zaprosami-get-i-post-v-yazyke-1s-8-3-8-2-v-primerah-61211/
Если по этим примерам непонятно, гуглите 1с 8 http post запрос
оффтоп, знаю
вот человек вроде бы что-то программирует...
ну то ест мозги как бы присутствуют
возник вопрос, и чел вроде даже знает как его сформулировать
но вместо того чтобы забить это в гугл и получить десяток сайтов где все разжевано и в рот положено
он создает тему на форуме и ждет с моря погоды
всегда хотел понять, в чем профит такого подхода
nik389 @ Сегодня, 12:10
,
Звичайно, перед тим як задавати питання я по різних форумах вивчав це питання
Щось получилось але всеодно нерозумію чому не працює так як потрібно
Ось що написав
Соединение = Новый HTTPСоединение("cabinet.tax.gov.ua",443,,,,15,Новый ЗащищенноеСоединениеOpenSSL(), Ложь);
//Соединение = Новый HTTPСоединение("https://cabinet.tax.gov.ua",443,,,,15,Новый ЗащищенноеСоединениеOpenSSL(), Ложь);
// ось тут була проблема, нерозумів чому небачить цього хоста
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type", "application/json");
Заголовки.Вставить("kodPdvList", "12345678");
Заголовки.Вставить("token", "03AOLTBLRIFo9xivFXYOrFqaLL6g0HKv");
Запрос = Новый HTTPЗапрос("/ws/api/public/registers/pdv_act/list",Заголовки);
// Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Ответ = Соединение.Получить(Запрос);
Сообщить(Ответ);
Сообщить(ТипЗнч(Ответ));
Данные = Ответ.ПолучитьТелоКакСтроку();
Сообщить(Данные);
Крім того я думаю до такого популярного ресурсу, як сервер податкової, багато хто вже робив запити. Тому щоб не придумувати в черговий раз велосипед, думаю може хтось поділиться готовим рішенням
volodya1122, вы бы сразу написали, что делаете конкретный запрос, получаете конкретный ответ.
Я не проверял, но если верить тому, что написано в описании АПИ, то в вашем коде следующие ошибки:
1. Вы делаете GET запрос Ответ = Соединение.Получить(Запрос), надо POST;
2. kodPdvList и token вы вставляете в заголовок, хотя они должны быть в теле запрос в виде json;
3. Не уверен, но мне кажется, что токен должен быть не тот, который в примере указан, а свой.
нарешті добився результату.
1. Дійсно токен потрібно формувати в приватній частині електронного кабінету
https://pro1c.org.ua/redirect.php?https://cabinet.tax.gov.ua/news/A6CA47C3AB0A019CE0530A5028078B00
2. Готовий код (поки корявий, але робочий), може кому пригодиться
Соединение = Новый HTTPСоединение("cabinet.tax.gov.ua",443,,,,15,Новый ЗащищенноеСоединениеOpenSSL(), Ложь);
Заголовки = Новый Соответствие;
ЄДРПОУ="12345678"; // для тесту
МойТокен="1111111111111111111111111111111"; // потрібно згенерувати в електроннім кабінеті податкової
Заголовки.Вставить("Content-Type", "application/json");
Кавычка=Прав("""",2);
КодПриглашения = "{" +Кавычка+
"tinList"+Кавычка+":" +Кавычка+ ЄДРПОУ+Кавычка+"," +
Кавычка+"token"+Кавычка+":"+Кавычка +МойТокен+Кавычка+"}";
// {"kodPdvList":null,"tinList":"34554355 34554357",
// "name":null,"token":"03AOLTBLRIFo9xivFXYOrFqaLL6g0HKv"}
Запрос = Новый HTTPЗапрос("/ws/api/public/registers/pdv_act/list",Заголовки);
Запрос.УстановитьТелоИзСтроки(КодПриглашения);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());
Данные = ПрочитатьJSON(ЧтениеJSON, Ложь);
Для Каждого ЕлМассива ИЗ Данные цикл
Для каждого Структур ИЗ ЕлМассива цикл
Ключ = Структур.Ключ;
Знч = Структур.Значение;
Сообщить("Ключ= "+Ключ+" Знач "+Знч);
КонецЦикла;
КонецЦикла;
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua