🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

lknpd-nalog-api

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lknpd-nalog-api

Non-public api for site lknpd.nalog.ru

1.0.1
latest
Source
npm
Version published
Weekly downloads
3
-76.92%
Maintainers
1
Weekly downloads
 
Created
Source

lknpd-nalog-api

API для самозанятых в РФ «Мой налог»

Автоматизирует отправку чеков в налоговую и другие операции. Используетcя непубличный API с сайта lknpd.nalog.ru

Установка

The package can be installed via npm:

npm install lknpd-nalog-api --save

Использование

  • Импортируем класс NalogApi.
  • Создаем экземпляр с передачей параметров авторизации.
  • Вызываем нужные методы.

Пример:

const { NalogApi } = require("lknpd-nalog-api");

const nalogApi = new NalogApi({ phone: 79101112222 });
// или
const nalogApi = new NalogApi({ inn: 1234567890, password: "myPassword" });

const income = {
  name: "Тестовый платеж",
  amount: 1999.99,
  quantity: 1,
};

nalogApi
  .addIncome(income)
  .then(receiptId => console.log(receiptId))
  .catch(error => console.log(error));

Авторизация и параметры для конструктора

Вы должны быть зарегистрированы как самозанятый и у вас должна быть учетная запись в приложении «Мой налог» или на сайте lknpd.nalog.ru. Передаем в качестве параметров конструктора объект с данными. Есть два варианта авторизации:

  • По номеру телефона:
const nalogApi = new NalogApi({ phone: 79101112222 });
PropTypeDescription
phoneString | NumberТелефон, к которому привязана учетка в налоговой

После запуска скрипта на ваш телефон будет отправлено SMS с кодом, который нужно будет ввести в терминале. Код живет всего 3 минуты. Если SMS по каким-то причинам не пришла или пришла, но поздно, перезапустите скрипт. Следите чтобы процесс не падал на сервере, иначе нужно будет снова вводить код. По этой причине надежнее будет использовать второй способ авторизации.

  • По ИНН и паролю:
const nalogApi = new NalogApi({ inn: 1234567890, password: "myPassword" });
PropTypeDescription
innString | NumberВаш ИНН
passwordStringВаш пароль (узнать можно в налоговой)

Методы API

Экземпляр класса NalogApi содержит:

NameDescriptionParams
getUserInfoВозвращает данные о самозанятом------------
addIncomeОтправляет чек в налоговуюIServiceIncome | IServiceIncome[], Date (необязательно, по умолчанию текущая отметка времени)
cancelIncomeОтменяет чекreceiptId: String - идентификатор чека
getApprovedIncomeВозвращает информацию о чекеreceiptId: String - идентификатор чека, format - "json" | "print" (по умолчанию "json", "print" вернет Blob)
callMethodВызов произвольного метода*methodPath - путь метода, body - тело запроса (если не передавать, будет GET, иначе POST)

Объект параметров чека для addIncome. Метод принимает как один объект, так и массив объектов. Это не добавление нескольких чеков за раз, просто в одном чеке может быть несколько услуг или товаров.

interface IServiceIncome {
  name: string // название услуги
  amount: number | string // сумма - 00.00 | 00 | "00.00" | "00"
  quantity: number // количество (в чеке не отображается)
}

*callMethod позволяет обратится к любому методу API со своими параметрами. Если необходимо то, чего нет в библиотеке, идем на сайт lknpd.nalog.ru, отлавливаем http-запрос при нужных действиях, оттуда берем путь и параметры.

License

The MIT License.

Keywords

nalog api

FAQs

Package last updated on 08 Feb 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts