Промени в НАПИ агент

Какво се променя в агента и в неговото API с всяка версия. Промените в API са само добавки: заявките и отговорите, които вече ползвате, продължават да работят. Подробностите за всяка операция са в документацията за разработчици.

НАПИ агент 0.1.19 30.10.2026 · издание 1.0.9

  • Java 64-bit:
    • агентът намира и Java-та, която инсталира OpenWebStart (Program Files\OpenWebStart\jre);
    • при стартиране, ако няма 64-битова Java, предлага да изтегли и пусне инсталацията на OpenWebStart. Файлът се пуска само ако SHA-256 съвпада с оригиналния; на macOS се отваря дискът с инсталацията;
    • съобщението за липсваща Java сочи OpenWebStart, и при валидирането на ДДС файлове;
    • въпросът за Java излиза преди всичко друго: агентът приема заявки от napi.bg, след като въпросът е отговорен (или до 5 секунди).
  • Кеш на подадените декларации, само в паметта и криптиран:
    • пази се само това, което НАП вече е приел или отхвърлил и няма да се промени;
    • файловете: ДДС и Д1/Д6, когато са приети; електронните трудови записи, когато НАП ги е обработил; стоките с висок фискален риск (страницата на декларацията), когато имат резултат. Файловете по чл. 73 вече не се пазят, защото списъкът на НАП не показва дали са приети;
    • резултатите: ДДС (приета или „се счита за неподадена“), Д1/Д6, електронните трудови записи и уведомленията (вписани, частично вписани или отхвърлени) и стоките с висок фискален риск. Резултатът се дава наново само на същия сертификат, с който е прочетен;
    • всичко се криптира (AES-256-GCM) с ключ, който се прави при пускането на агента и не се записва никъде. Общо до 300 MB; изчиства се при затваряне на агента.
  • Условия за ползване: нова редакция от 30.10.2026, на napi.bg/legal/napi-agent и в инсталациите. В инсталациите текстът е подреден в абзаци и се чете по-лесно.
  • Докладите за грешки към napi.bg носят само редовете от лога на извикването, което се е провалило, а не всички грешки от пускането на агента.
  • HTTPS на 127.0.0.1:5124:
    • при инсталиране агентът прави за машината свой корен и сертификат за localhost, 127.0.0.1 и ::1. Коренът е доверен само на тази машина (LocalMachine\Root на Windows, System keychain на macOS). Ключът му се изтрива веднага след подписа, а Name Constraints го ограничават само до тези адреси, така че с него не може да се издаде нищо друго;
    • сертификатът важи 825 дни и се подновява при обновяване на агента, когато остават под 90 дни. При деинсталиране се маха;
    • ако сертификатът липсва, агентът работи само на HTTP, както досега;
    • на macOS инсталацията рестартира вече работещия агент, за да започне да слуша и на HTTPS.

Промени в API на НАПИ агент (спрямо 0.1.18)

  • errorCode и errorKind в отговора на справките за подадени файлове: vat_portal_files, dec1_6_portal_files, dec73_portal_files, etz62_portal_files, etz123_portal_files, etz62_notice_files, etz123_notice_files и high_fisc_risk_portal_files. Когато в НАП няма подавания, отговорът е 200 със status: "error" и errorCode: "NO_DATA". Нови полета, нищо съществуващо не е променено.
  • Нов код за грешка FILES_NOT_DOWNLOADED: подаването е намерено в НАП, но нито един от файловете му не се изтегли. Връща се с 502, както другите грешки. Досега този случай идваше като 200 с NO_DATA и изглеждаше като „няма подаване“.
  • Нов код за грешка UPDATE_NOT_PENDING: update-install (POST /api/update/install) го връща с отговора 409, когато агентът е с изискваната версия и няма какво да се преинсталира. HTTP кодът остава 409. Тялото вече има errorCode, а текстът в error е на български.
  • Текстът на JAVA_MISSING препоръчва OpenWebStart вместо Microsoft OpenJDK 11. Кодът не е променен. Същият текст връща и vat_validate със status: "java_missing".
  • Ново поле javaFound в GET /api/info: false, когато vat и vat_validate биха върнали JAVA_MISSING, така че проверката да стане преди операцията (Препоръчан ред на проверките, стъпка 4а).
  • Поправки в документацията:
    • справка, която не е намерила данни, връща 200 със status: "error"; поле metadata.errorCode в отговора няма, както грешно пишеше преди;
    • при 426 работи и /api/update/install, не само /api/health, /api/info и /api/shutdown.
  • По-бързи повторни извиквания за приети или отхвърлени подавания: вече изтеглените файлове и резултати се взимат от паметта на агента. Отговорът е същият като при първото извикване.
  • Нов адрес https://127.0.0.1:5124 със същите операции. http://127.0.0.1:5123 остава непроменен. Вижте Кой адрес на агента да ползвате.
  • httpsUrl в GET /api/info: има го, докато агентът слуша на HTTPS. Ново поле, нищо съществуващо не е променено.

НАПИ агент 0.1.18 28.10.2026 · издание 1.0.8

  • Податели от приложението на интегратора:
    • създаване, промяна и изтриване;
    • прозорецът за избор на КЕП е винаги най-отгоре;
    • подателят се записва само след проверен ПИН.
  • Нов прозорец за нова версия:
    • с лого, версиите и картинка на иконата до часовника;
    • бележка, че ще се поиска администратор;
    • интеграторът може сам да пусне преинсталирането от своето приложение с POST /api/update/install; така прави napi.bg, затова при заявки от napi.bg агентът не показва втори прозорец.
  • Файловете на подадените декларации (чл. 73, Д1/Д6) се пазят в паметта до 300 MB, за да не се теглят отново от НАП. Изчистват се при затваряне на агента.

Промени в API на НАПИ агент (спрямо 0.1.17)

Всички са добавки. Съществуващите заявки и отговори работят както преди. Описани са в документацията за интегратори.

  • Нови операции:
    • dec73_validate: проверка на справки по чл. 73;
    • dec73_portal_files: подадените справки по чл. 73 от портала на НАП;
    • high_fisc_risk_portal_files: подадените декларации за стоки с висок фискален риск от портала.
  • processingErrors: ново поле в отговора на всички операции за резултат. Съдържа защо НАП е отхвърлила подаването, по една причина на ред, и е празно, когато няма причина. Операциите са:
  • high_fisc_risk_show:
    • декларацията може да се търси и по входящ номер (incomingNumber); documentId вече не е задължително;
    • отговорът има нови полета: portalDocumentId, uin, uinStatus, resultBody.
  • Податели:
  • update-install (POST /api/update/install): нов адрес. Пуска преинсталирането, когато агентът е по-стар от изискваната версия. Вижте Когато агентът трябва да се обнови.
  • Нов код за грешка: RESULT_NOT_READY, когато НАП още няма резултат от обработката.
  • dec16_validate проверява като НАП:
    • отказва Д1 с поле 5.1 = 1 и поле 21 под минималния осигурителен доход;
    • приема поле 13 в кавички, дори празно.
  • Прозорецът за преинсталиране: агентът го показва при заявки от всички интегратори, освен от napi.bg, който показва свой и пуска преинсталирането с POST /api/update/install. Отговорът 426 не е променен.

НАПИ агент 0.1.17 17.10.2026 · издание 1.0.7

Първата отбелязана версия (къмит af3ced26). С нея започва този списък; по-старите промени са в историята на git.

НАПИ е независим софтуерен продукт и не е свързан официално с Националната агенция за приходите. Системата използва публично достъпните API услуги на НАП в съответствие с техническите изисквания.