lknpd-nalog-api-reworked
v1.0.2
Published
Non-public api fork for site lknpd.nalog.ru
Downloads
271
Maintainers
Readme
lknpd-nalog-api-reworked
Fork библиотеки для работы с непубличным API сервиса "Мой налог" (lknpd.nalog.ru), переписанный с fetch на axios.
Установка
npm install lknpd-nalog-api-reworkedТребования
- Node.js 14+
Что изменено в форке
- Переписано с
fetchнаaxios - Добавлена поддержка прокси для запросов к API
Быстрый старт
const { NalogApi } = require("lknpd-nalog-api-reworked");
const nalogApi = new NalogApi({
inn: 123456789012,
password: "your-password",
proxy: "http://host:port:username:password", // optional
});
async function run() {
const user = await nalogApi.getUserInfo();
console.log(user.inn);
const receipt = await nalogApi.addIncome({
name: "Тестовая услуга",
amount: 1999.99,
quantity: 1,
});
console.log("Receipt:", receipt);
}
run().catch(console.error);Авторизация
Можно использовать один из двух вариантов:
- По ИНН и паролю
new NalogApi({ inn: 123456789012, password: "your-password" });- По номеру телефона (с подтверждением SMS)
new NalogApi({ phone: 79001112233 });Прокси
Параметр proxy опциональный.
Поддерживаемые форматы:
http://host:port:username:passwordhttps://host:port:username:passwordhttp://username:password@host:porthttps://username:password@host:port
Пример:
new NalogApi({
inn: 123456789012,
password: "your-password",
proxy: "http://host:port:username:password",
});Методы API
getUserInfo(): Promise<INalogProfile>
Возвращает профиль пользователя.
addIncome(services, date?): Promise<string>
Создает чек и возвращает approvedReceiptUuid.
services:IServiceIncomeилиIServiceIncome[]date(optional): дата операции, по умолчаниюnew Date()
cancelIncome(receiptUuid, comment): Promise<INalogCancelIncomeResponse["incomeInfo"]>
Отменяет чек.
getApprovedIncome(receiptUuid, format?): Promise<INalogReceiptIncome | Blob>
Возвращает информацию о чеке.
format: "json"(default) -> JSONformat: "print"->Blob(PDF)
callMethod(methodPath, body?): Promise<any>
Универсальный вызов метода API.
- Если
bodyне передан, используетсяGET - Если
bodyпередан, используетсяPOST
Типы
Основные типы доступны в src/types/index.ts:
INalogApiInitParamsIServiceIncomeINalogProfileINalogReceiptIncome
Важно
API lknpd.nalog.ru непубличный и может меняться без предупреждения.
License
MIT
