api МЧД ФНС

1. j_onion 21.08.26 08:57 Сейчас в теме
Доброго. Кто нибудь находил описание апи для работы с мчд напрямую с регистром налоговой? Не через прокладки типа диадока и сбиса? Ведь если эти сервисы работают, значит есть какое-то апи, и должно быть его описание. На самом сайте мчд есть описание только получения спрвочника полномочий, это интересно, но мало.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. YA_514896950 40 21.08.26 16:28 Сейчас в теме
а что вы хотите сделать?
3. YA_514896950 40 21.08.26 16:30 Сейчас в теме
https://m4d.nalog.gov.ru/emchd
в теории можно реверснуть, подводные камни могут быть, все зависит от того что вы хотите делать
4. j_onion 24.08.26 01:07 Сейчас в теме
(3)
Я хочу регистрировать, проверять, отзывать мчд из своего приложения. Нужны описания соответствующих методов. Они наверняка есть, ведь, повторюсь, сервисы типа контур доверенность это делают.

По этой ссылке я уже ходил, единственное., что там есть, это описание получения справочника полномочий. Это тоже нужно, но это вспомогательный функционал.
YA_514896950; +1 Ответить
6. YA_514896950 40 24.08.26 10:23 Сейчас в теме
(4)
отзывать мчд

открытого апи скорее всего нет. но можно разобраться с внутренним апи сайта по той ссылке, проверять мчд вообще без проблем, а вот для регистрации и отзыва там нужно применять эцп и тут может быть затык)
5. muskul 24.08.26 02:10 Сейчас в теме
тогда в форме мчд "курить" кнопки отправить, отозвать и проверить
YA_514896950; +1 Ответить
7. YA_514896950 40 24.08.26 10:26 Сейчас в теме
(5) главный затык в эцп - я пробовал реверсить сервисы налоговой для отправки отчетности, все реализуемо пока ты не пробуешь отправить им из 1с данные подписанные, оказывается что сервис проверяет один аттрибут который сама 1с своим кодом не формирует и без внешней компоненты его не впихнуть.
а у меня идея была реализовать все чистым кодом))))
8. MissionOnly 28 24.08.26 14:40 Сейчас в теме
В системах ЧЗ, СБИС, ДИАДОК регистрация МЧД происходит по разному. Процесс растянут по времени. Работа с МЧД без процесса регистрации в системах не имеет смысла.
YA_514896950; +1 Ответить
9. j_onion 27.08.26 07:05 Сейчас в теме
(8) Почему не имеет? это раз. А два - каждая из этих систем каким то образом взаимодействует с реестром мчд.
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) например для получения коротких сведений делаете пост запрос такого вида
https://m4d.nalog.gov.ru/api/v1/poar-portal/get_info_short?dovelGuid=123456
никакого токена авторизации нет, в ответ вернется 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"
}
}

аналогично для полной информации апи
https://m4d.nalog.gov.ru/api/v1/poar-portal/get_info_full_no_personal
с пайлодом вида
{guid: "123456", innP: "3307013100", innR: "3307013100", password: ""}

я могу так вам выцепить все апи точки....только бесплатно этого делать не хочется)))))))
12. YA_514896950 40 28.08.26 15:32 Сейчас в теме
покопался в апи точках m4d.nalog.gov.ru подробнее
вобщем да, технически проблем не будет, можно прям из 1с
запросами создавать отзывать и проверять доверенности)
13. j_onion 30.08.26 10:55 Сейчас в теме
(12) Мне б ваши способности.
14. YA_514896950 40 30.08.26 22:21 Сейчас в теме
(13) а что все таки это даст? на сайте интерфейс удобный....в чем преимущество делать это из 1с?
15. j_onion 31.08.26 04:02 Сейчас в теме
(14) Была мысль написать чтото вроде бд по доверкам, с контролем по срокам. И автоматизировать обмен с реестром до кучи. Когда их одна две, по одной организации, еще можно так управится, но меня их несколько десятком по по 5-6 оргам... Крыша едет.
YA_514896950; +1 Ответить
16. YA_514896950 40 31.08.26 08:54 Сейчас в теме
(15) посматривайте, у меня в публикациях появится обработка с примерами кода
17. YA_514896950 40 01.09.26 09:04 Сейчас в теме
18. ImHunter 350 01.09.26 10:32 Сейчас в теме
Тоже была необходимость - почитать доверенности. Тем, что есть в БСП, получилось. Полазил, покопипастил. Получилось так:

Функция ДанныеДоверенности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; 
	Результат.ВерсияДоверенности = ВерсияДоверенности;
	
	Возврат Результат;
	
КонецФункции

Показать
19. YA_514896950 40 01.09.26 13:22 Сейчас в теме
(18) и в каких конфигурациях это будет работать?)
20. ImHunter 350 02.09.26 15:08 Сейчас в теме
(19) Смысел в том, что МЧД можно пробовать использовать и функционалом БСП. Но нужно копать.
21. YA_514896950 40 02.09.26 20:33 Сейчас в теме
(20) так ни кто не запрещает, можно)
Но в принципе и апи вполне можно фнс юзать)
22. j_onion 03.09.26 02:10 Сейчас в теме
(20) Модуль КонтурДиадок - это разве из БСП? И что-то мне кажется, что БСП работает через шлюз 1с, который платный.
23. ImHunter 350 03.09.26 08:11 Сейчас в теме
(22) БСП-шное тут только МодульМЧД.ПолучитьПолныеДанныеДоверенностиНаСервереМЧД(...). Остальное - копипаст и интеграция в текущие механизмы.
Где-то еще в другом месте модуль МЧД используется, для интерпретации результатов метода ПолучитьПолныеДанныеДоверенностиНаСервереМЧД(...). Но уже долго копаться, чтобы найти.
Универсальный модуль от Контур.Диадок тоже дает возможность - работать с доверенностями. Но того, что мне нужно было от МЧД, он не предоставляет.
24. YA_514896950 40 03.09.26 10:39 Сейчас в теме
(23) в моей публикации проще - гет и пост запросы и можно работать с доверенностями)
25. ImHunter 350 04.09.26 10:40 Сейчас в теме
(24) За 5 sm?... Хоть программный интерфейс опубликуйте.
26. YA_514896950 40 04.09.26 10:55 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация

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