Как стать автором
Обновить

Комментарии 22

Хорошо, давайте покритикую, по мере сил.
По статье — непонятно, что за сервис такой, этот lknpd.nalog.ru, что он предоставляет, каков его официальный статус? Хотя бы тезисно. А то, получается, вот вам код, чтобы отправлять ваши данные непонятно куда.
Про саму идею:
Библиотека для доступа к такому сервису — это очень полезно и круто, но… Закладываться на то, что токен будет и дальше неизменным, по меньшей мере недальновидно.
Использовать серый доступ к официальному ресурсу и распространять это среди сообщества — так себе идея.
Вы проводили исследования на предмет получить нормальный доступ к предоставляемому API? Его просто не может не быть, мобильное-то приложение работает. Даже не заглядывая на их сайт, могу предположить, что для разработчиков предоставляют API Key или что-то подобное.
А тут немного злобного сарказма
# TODO: научиться нормально программировать

Чтобы взять эту ачивку, надо научиться формулировать свои мысле прежде всего на естественном языке.
Чтобы не писать вот такого:
Более детальную информацию приглашаю к изучению в интернете

Данный налог предлагает к регистрации даже физлиц

А там и формальные языки подтянутся и прочий программизм.
Без обид, просто тяжело читать такое.
Ну, так-то nalog.ru — официальный сайт Федеральной Налоговой Службы. А lknpd, очевидно поддомен, личного кабинета для НПД.
Об этом в статье должно быть сказано, а не читатель из константы в коде должен догадываться. Без всяких «очевидно».
Разве это не очевидно?
С 1 января 2019 года для четырёх субъектов Российской Федерации (Москвы, Московской, Казанской и Калужской областей)
Казанская область? Аккуратней!
Да, спасибо, немного не уследил, исправил этот момент

Чек Не картинкой можно получить у них?

Насколько я помню, нет, однако можно покопаться в нормативных документах на сайте НПД.

Можно. Я не занимался автоматизацией этого процесса (но скоро займусь — отпишу, как сделаю), но вообще, при генерации чека в последствии можно получить ссылку, имеющую следующий формат:
https://lknpd.nalog.ru/api/v1/receipt/772461154320/200d354j26/print
По этой ссылке чек-картинка, кстати, самый настоящий. Ссылка простая — 772461154320 — ИНН самозанятого, 200d354j26 — номер чека. Думаю, номер чека можно получить при его формировании каким-то образом.


Плюсаните, чтоб знал, куда отписать после реализации

Вопрос был про данные чека, а не номер чека :) И он уже неактуален.

С определённого момента я внезапно обнаружил, что если в конце изменить /print на /json, то сервер отдаёт манну небесную.
(я это пробовал ещё давно и несколько раз, но получал тогда фигвам; налоговики снизошли до упрощения жизни всего несколько месяцев назад...)
Всё верно, подпилили немного всё и отточили, теперь конфетка

Секундочку, вот же он, прям в коде у ТС:
https://lknpd.nalog.ru/api/v1/receipt/'+INN+"/"+receipt_uuid+"/print

Спасибо, все до сих пор так же работает!

А еще они сообщения об ошибках в запросе присылают на русском и притом весьма понятном языке. (А еще если им послать невалидный json, то в ответ вываливается стектрейс o_O.)

Вот моя реализация (включая обновление токена, правда, это пока в боевых условиях еще недотестировал): github.com/petr-kalinin/algoprog/blob/master/server/lib/npd.coffee

*удивительно, что такая полезная статья и так мало комментариев и плюсов

Воистину: я в 4 часа утра, проводя этот эксперимент, почему-то думал, что на Хабре это однозначно стрельнет. Как минимум, приглашение получил, и то прекрасно. А карма — ..., ну, может, придёт чуть позже, когда НПД настигнет волна хайпа.
Не совсем понятно про авторизацию — я должен зарегистрироваться на сайте ФНС как самозанятый и авторизовываться с этими данными? То есть пользователь моего сервиса должен куда-то вбить логин и пароль с сайта ФНС чтобы все заработало, верно?
Так ведь нет же.
Так как Вы в данном случае продавец — зарегистрироваться в приложении «Мой налог» нужно только Вам

Здравствуйте!
Большое спасибо за статью!


Мы с коллегой сейчас как раз заемучились с чеками для налоговой (пытаемся начать продажу электронных книг).
Коллега настроил Fiddler, поймал им трафик из браузера — а вот из “Моего Налога” не видно ничего.


Что еще можно сделать? Будем благодарны за помощь.


И ещё Вы в UPD пишете про официальную документацию — может, с ней можно обойтись и без перехвата трафика?

Fiddler не единственное приложение, попробуйте другие :)
Кроме того, возможно есть блокирующие моменты от вендор самого смартфона, попробуйте другой девайс! :)
Ойй. Фидлер нафиг не нужен, достаточно F12.

PS: ради интереса поискал файлик, в котором я себе накидал, как там это работает.
Создан — ‎23 ‎ноября ‎2020 ‎г., ‏‎20:35:18
Изменён — ‎23 ‎ноября ‎2020 ‎г., ‏‎20:55:47
Всего 20 мин. получается ушло для копипасты основных эндпойнтов с телами запросов и ответов.

Но это исключительно для желающих копаться в кишках кабинета.
Зачем оно кому надо копаться там — хз. ¯\_(ツ)_/¯
Для валидации чеков это как стрелять из пушки по воробьям, после того как сделали /json
UPD: нашёл документацию на автоматизацию
Можно ссылку на документацию?
Плюсую вопрос, тоже хотелось бы посмотреть.
От себя добавлю, что поигравшись вслепую с url чеков, нашёл json-версию — достаточно /print в хвосте заменить на /json (к вопросу AndrewTishkin выше). Но хочется подтверждения из документации, что это официальная фича, и её не отпилят послезавтра.
От документации пользы нет, если не пройти сдачу анализов поклониться в ножки для подключения
npd.nalog.ru/docs
См. Протокол информационного обмена… блаблабла

Тоже понадобилось информацию о доходах отправлять, а у меня по 5-10 поступлений в день по 70-150 руб


Авторизация по логину и паролю работает.
deviceId — просто рандомная строка из 21го символа срабатывает — https://github.com/alexstep/moy-nalog/blob/main/index.js#L51


Вот либу написал — https://www.npmjs.com/package/moy-nalog пользуйтесь, присоединяйтесь к разработке )

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории