NFR Certa NFR Certa

Сервизът Certa излага единна публична API за инсталираните NFR приложения и за интеграции. URL-ите по-долу са абсолютни и работят както от Certa, така и за външни клиенти.

Машинно-четимата спецификация е на https://certa.nfr.bg/api/openapi.json.

Глобални крайни точки

Корен на API (самоописание)
GET https://certa.nfr.bg/api
Каталог на продуктите
GET https://certa.nfr.bg/api/products
Здравна проверка (liveness)
GET https://certa.nfr.bg/api/health
Последни издания (всички продукти)
GET https://certa.nfr.bg/api/releases/recent
OpenAPI спецификация (3.1)
GET https://certa.nfr.bg/api/openapi.json

Крайни точки по продукт

Натисни „API“ на страницата на даден продукт за пълния списък с крайни точки.

Продукт Тип Защита Канал(и)
NFR Jura
Удостоверяване и централизирано управление на достъпа до приложенията.
Уеб /api/updates/jura/latest Към продукта
NFR Gravis
Настолна ERP система за управление на търговската и складовата дейност.
Изтегляемо Защитен /api/updates/gravis/latest Към продукта
NFR Vendi
Приложение за продажби и фактуриране на каса (POS).
Изтегляемо Защитен /api/updates/vendi/latest Към продукта
NFR Sensa
Уеб базирана ERP/CRM система за продажби, складове, документи и справки.
Уеб /api/updates/sensa/latest Към продукта
NFR STM
Настолна система за служби по трудова медицина.
Изтегляемо Защитен /api/updates/stm/latest Към продукта
NFR Lemo
Настолна система за управление на заложни къщи.
Изтегляемо Защитен /api/updates/lemo/latest Към продукта
Услуга за генериране и преобразуване на документи (PDF).
Уеб /api/updates/prisma/latest Към продукта

Конвенции

Канал по подразбиране
Всеки ?channel= параметър подразбира stable при липсваща стойност. ?channel=all работи само за /notes и редува двата канала.
Polling за обновления
Инсталираните клиенти трябва да изпращат If-None-Match на /api/updates/{slug}/latest. Сервърът връща 304 Not Modified, когато няма промяна — евтино за чест polling.
OTP за защитени изтегляния
Защитените продукти и всички prerelease издания изискват OTP. При липсваща сесия сервърът връща 401 със следния обект: { "error": "otp_required", "product": "<slug>", "otp": { "request": "...", "verify": "..." } } Клиентът извиква POST /api/downloads/otp/request, потребителят получава 6-цифрен код по имейл, и POST /api/downloads/otp/verify поставя cookie със 30-минутен срок.
Лимит на заявки
30 заявки/минута/IP за всички API крайни точки (без /api/health). Над лимита: 429 Too Many Requests.
Контролни суми
Успешните изтегляния връщат X-SHA256 хедър — клиентът може да валидира файла без втора заявка.
Възникна неочаквана грешка. Презареди 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.