Доброго. Кто нибудь находил описание апи для работы с мчд напрямую с регистром налоговой? Не через прокладки типа диадока и сбиса? Ведь если эти сервисы работают, значит есть какое-то апи, и должно быть его описание. На самом сайте мчд есть описание только получения спрвочника полномочий, это интересно, но мало.
По теме из базы знаний
- Заведение новых мест деятельности и генерация RSA сертификатов через 1С, используя архив с МЧД в ЕГАИС
- Работа с УПД и счетами-фактурами в форматах приказа №970, подписание и отклонение документов по API, формирование титулов покупателя, генерация титула utd820, utd970
- Оптимизируем зоопарк: как поселить всех операторов ЭДО в одной клетке
- Всё про ЭЦП. Разбираемся в тонкостях электронной подписи
- Работа с единым блокчейн хранилищем МЧД (api ФНС)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
3.
YA_514896950
40
21.08.26 16:30
Сейчас в теме
в теории можно реверснуть, подводные камни могут быть, все зависит от того что вы хотите делать
(3)
Я хочу регистрировать, проверять, отзывать мчд из своего приложения. Нужны описания соответствующих методов. Они наверняка есть, ведь, повторюсь, сервисы типа контур доверенность это делают.
По этой ссылке я уже ходил, единственное., что там есть, это описание получения справочника полномочий. Это тоже нужно, но это вспомогательный функционал.
Я хочу регистрировать, проверять, отзывать мчд из своего приложения. Нужны описания соответствующих методов. Они наверняка есть, ведь, повторюсь, сервисы типа контур доверенность это делают.
По этой ссылке я уже ходил, единственное., что там есть, это описание получения справочника полномочий. Это тоже нужно, но это вспомогательный функционал.
6.
YA_514896950
40
24.08.26 10:23
Сейчас в теме
(4)
открытого апи скорее всего нет. но можно разобраться с внутренним апи сайта по той ссылке, проверять мчд вообще без проблем, а вот для регистрации и отзыва там нужно применять эцп и тут может быть затык)
отзывать мчд
открытого апи скорее всего нет. но можно разобраться с внутренним апи сайта по той ссылке, проверять мчд вообще без проблем, а вот для регистрации и отзыва там нужно применять эцп и тут может быть затык)
7.
YA_514896950
40
24.08.26 10:26
Сейчас в теме
(5) главный затык в эцп - я пробовал реверсить сервисы налоговой для отправки отчетности, все реализуемо пока ты не пробуешь отправить им из 1с данные подписанные, оказывается что сервис проверяет один аттрибут который сама 1с своим кодом не формирует и без внешней компоненты его не впихнуть.
а у меня идея была реализовать все чистым кодом))))
а у меня идея была реализовать все чистым кодом))))
8.
MissionOnly
28
24.08.26 14:40
Сейчас в теме
В системах ЧЗ, СБИС, ДИАДОК регистрация МЧД происходит по разному. Процесс растянут по времени. Работа с МЧД без процесса регистрации в системах не имеет смысла.
10.
YA_514896950
40
27.08.26 09:46
Сейчас в теме
(9) бесплатного публичного апи нет, но чисто для проверки доверенности не сложно дернуть то что скрыто m4d.nalog.gov.ru/emchd
11.
YA_514896950
40
27.08.26 09:57
Сейчас в теме
(9) например для получения коротких сведений делаете пост запрос такого вида
никакого токена авторизации нет, в ответ вернется json c данными доверенности
вот такого вида
{
"poaNumber": "123456",
"startDateTime": "2022-08-30T21:00:00.0000000Z",
"endDateTime": "2022-09-15T20:59:59.0000000Z",
"formatVersion": "5.01",
"flags": "00010000",
"type": "ROOT",
"retrustType": "NO_RETRUST",
"irrevocableRight": "ORDINARY",
"flagPassword": "NO_PASSWORD",
"authority": {
"authorityLossType": "NOT_LOST",
"collectiveRight": "INDIVIDUAL",
"type": "MACHINE"
},
"status": {
"status": "REJECTED",
"statusDateTime": "2022-11-29T17:53:48.9650000Z"
}
}
аналогично для полной информации апи
с пайлодом вида
{guid: "123456", innP: "3307013100", innR: "3307013100", password: ""}
я могу так вам выцепить все апи точки....только бесплатно этого делать не хочется)))))))
никакого токена авторизации нет, в ответ вернется json c данными доверенности
вот такого вида
{
"poaNumber": "123456",
"startDateTime": "2022-08-30T21:00:00.0000000Z",
"endDateTime": "2022-09-15T20:59:59.0000000Z",
"formatVersion": "5.01",
"flags": "00010000",
"type": "ROOT",
"retrustType": "NO_RETRUST",
"irrevocableRight": "ORDINARY",
"flagPassword": "NO_PASSWORD",
"authority": {
"authorityLossType": "NOT_LOST",
"collectiveRight": "INDIVIDUAL",
"type": "MACHINE"
},
"status": {
"status": "REJECTED",
"statusDateTime": "2022-11-29T17:53:48.9650000Z"
}
}
аналогично для полной информации апи
с пайлодом вида
{guid: "123456", innP: "3307013100", innR: "3307013100", password: ""}
я могу так вам выцепить все апи точки....только бесплатно этого делать не хочется)))))))
12.
YA_514896950
40
28.08.26 15:32
Сейчас в теме
покопался в апи точках m4d.nalog.gov.ru подробнее
вобщем да, технически проблем не будет, можно прям из 1с
запросами создавать отзывать и проверять доверенности)
вобщем да, технически проблем не будет, можно прям из 1с
запросами создавать отзывать и проверять доверенности)
14.
YA_514896950
40
30.08.26 22:21
Сейчас в теме
(13) а что все таки это даст? на сайте интерфейс удобный....в чем преимущество делать это из 1с?
(14) Была мысль написать чтото вроде бд по доверкам, с контролем по срокам. И автоматизировать обмен с реестром до кучи. Когда их одна две, по одной организации, еще можно так управится, но меня их несколько десятком по по 5-6 оргам... Крыша едет.
16.
YA_514896950
40
31.08.26 08:54
Сейчас в теме
(15) посматривайте, у меня в публикациях появится обработка с примерами кода
Тоже была необходимость - почитать доверенности. Тем, что есть в БСП, получилось. Полазил, покопипастил. Получилось так:
Функция ДанныеДоверенностиXDTO(ДокументДиадок)
Результат = Новый Структура;
Результат.Вставить("ДанныеПригодны", Ложь);
Результат.Вставить("ДанныеXDTO");
Результат.Вставить("ВерсияДоверенности");
СобытияМЧД = КонтурДиадок.СобытияМЧД(ДокументДиадок, Истина);
Если Не ЗначениеЗаполнено(СобытияМЧД) Тогда
Возврат Результат;
КонецЕсли;
ИдентификаторДоверенности = СобытияМЧД[0].ИнформацияОДоверенности.Идентификатор;
ИННДоверителя = СобытияМЧД[0].ИнформацияОДоверенности.Доверитель.ИНН;
МодульМЧД = ОбщегоНазначения.ОбщийМодуль("МашиночитаемыеДоверенности");
#Если Сервер И Не Сервер Тогда // Фейк для автокомплита
// 10.02.2026, С.Долинин. Возможно, нужно убрать фейк. Т.к. в ДО такого модуля может и нет.
МодульМЧД = МашиночитаемыеДоверенности;
#КонецЕсли // Конец фейковой директивы
// ПолныеДанныеДоверенности - Полные данные доверенности:
// * ДанныеВыгрузки - ДвоичныеДанные, Неопределено - Данные выгрузки
// * ДанныеПодписи - ДвоичныеДанные, Неопределено - Данные подписи
// * ДанныеАрхива - ДвоичныеДанные, Неопределено - Данные архива
// * СтатусПолучения - Строка - Статус получения
// * ТекстОтвета - Строка - Текст ответа сервера МЧД
ПолныеДанныеДоверенности = МодульМЧД.ПолучитьПолныеДанныеДоверенностиНаСервереМЧД(
ИдентификаторДоверенности, ИННДоверителя);
Если ПолныеДанныеДоверенности.ДанныеАрхива=Неопределено Тогда
Возврат Результат;
КонецЕсли;
ВременныйКаталог = РаботаСФайламиБЭД.ВременныйКаталог();
Попытка
ЧтениеZipФайла = Новый ЧтениеZipФайла(ПолныеДанныеДоверенности.ДанныеАрхива.ОткрытьПотокДляЧтения());
ЧтениеZipФайла.ИзвлечьВсе(ВременныйКаталог);
ЧтениеZipФайла.Закрыть();
Исключение
ТекстОшибки = ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
РаботаСФайламиБЭД.УдалитьВременныеФайлы(ВременныйКаталог);
ВызватьИсключение;
КонецПопытки;
ФайлыXML = НайтиФайлы(ВременныйКаталог, "*.xml");
Если ФайлыXML.Количество()=0 Тогда
ТекстОшибки = НСтр("ru = 'нет файла *.xml'");
РаботаСФайламиБЭД.УдалитьВременныеФайлы(ВременныйКаталог);
ВызватьИсключение(ТекстОшибки);
КонецЕсли;
ВерсияДоверенности = Неопределено;
ДанныеПригодны = Ложь;
Для Каждого ОписаниеФайла Из ФайлыXML Цикл
ДвоичныеДанныеМЧД = Новый ДвоичныеДанные(ОписаниеФайла.ПолноеИмя);
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьПоток(ДвоичныеДанныеМЧД.ОткрытьПотокДляЧтения());
ДанныеXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML);
ДанныеПригодны = ОбщегоНазначенияДиадокКлиентСервер.ЗначениеСвойстваОбъекта(ДанныеXDTO, "ВерсФорм")="EMCHD_1"; // BSLLS:Typo-off
Если ДанныеПригодны Тогда
ВерсияДоверенности = "EMCHD_1";
Прервать;
КонецЕсли;
ДанныеПригодны = ОбщегоНазначенияДиадокКлиентСервер.ЗначениеСвойстваОбъекта(ДанныеXDTO, "Документ.ОКУД")="0251222";
Если ДанныеПригодны Тогда
ВерсияДоверенности = "0251222";
Прервать;
КонецЕсли;
КонецЦикла;
РаботаСФайламиБЭД.УдалитьВременныеФайлы(ВременныйКаталог);
Результат.ДанныеПригодны = ДанныеПригодны;
Результат.ДанныеXDTO = ДанныеXDTO;
Результат.ВерсияДоверенности = ВерсияДоверенности;
Возврат Результат;
КонецФункции
Показать
21.
YA_514896950
40
02.09.26 20:33
Сейчас в теме
(20) так ни кто не запрещает, можно)
Но в принципе и апи вполне можно фнс юзать)
Но в принципе и апи вполне можно фнс юзать)
(22) БСП-шное тут только МодульМЧД.ПолучитьПолныеДанныеДоверенностиНаСервереМЧД(...). Остальное - копипаст и интеграция в текущие механизмы.
Где-то еще в другом месте модуль МЧД используется, для интерпретации результатов метода ПолучитьПолныеДанныеДоверенностиНаСервереМЧД(...). Но уже долго копаться, чтобы найти.
Универсальный модуль от Контур.Диадок тоже дает возможность - работать с доверенностями. Но того, что мне нужно было от МЧД, он не предоставляет.
Где-то еще в другом месте модуль МЧД используется, для интерпретации результатов метода ПолучитьПолныеДанныеДоверенностиНаСервереМЧД(...). Но уже долго копаться, чтобы найти.
Универсальный модуль от Контур.Диадок тоже дает возможность - работать с доверенностями. Но того, что мне нужно было от МЧД, он не предоставляет.
24.
YA_514896950
40
03.09.26 10:39
Сейчас в теме
(23) в моей публикации проще - гет и пост запросы и можно работать с доверенностями)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот