License API

License API е официалният интерфейс на FalcoSoft.uk за валидиране на лицензни ключове, статус, срок и активирани модули. Използва се от инсталациите на ITSystem (клиентски сайтове), за да отключват премиум функционалности по домейн.

JSON API Domain-locked Modules ITSystem Integration
Основна идея

Клиентската инсталация прави заявка към FalcoSoft License Server с ключ + домейн. Сървърът връща статус и списък с активни модули. На база на това ITSystem отключва функционалности.

  • Валидиране на ключ
  • Проверка на домейн
  • Срок и статус
  • Списък активни модули

Endpoint-и (примерна структура)

Validate

Връща валиден ли е ключът за даден домейн и кои модули са активни.

/api/license/validate
Status

Връща само статуса на ключа (активен/изтекъл/блокиран) + срок.

/api/license/status
Modules

Връща списък активни модули по ключ и домейн.

/api/license/modules
Забележка: Пътищата горе са примерни – важното е форматът и логиката на отговора.

Request формат

Препоръчителен формат: POST JSON с минимални полета: license_key и domain. По желание: product, ip, version.

Пример: POST /api/license/validate
{
  "license_key": "FS-XXXX-XXXX-XXXX",
  "domain": "client-site.com",
  "product": "ITSystem",
  "version": "1.0.0"
}
Сигурност
  • Не изпращайте ключа в URL (GET), използвайте POST body.
  • Логвайте само частично ключа (напр. последни 4 символа).
  • Rate-limit на IP и domain.
  • Препоръчително: HMAC подпис (по желание).

Response формат (пример)

Успешна валидация
{
  "ok": true,
  "status": "active",
  "domain": "client-site.com",
  "expires_at": "2026-12-31",
  "modules": [
    "core",
    "marketplace",
    "payments",
    "tecdoc"
  ]
}
Неуспешна валидация
{
  "ok": false,
  "status": "invalid",
  "reason": "license_key_not_found"
}

Интеграция от ITSystem (примерен flow)

  1. Админът въвежда лицензен ключ в ITSystem.
  2. ITSystem изпраща POST към FalcoSoft License API с ключ + домейн.
  3. FalcoSoft връща статус + списък активни модули.
  4. ITSystem записва резултата локално (cache) и отключва модулите.
  5. Периодично (cron) се прави повторна проверка (например на 6/12 часа).
Виж модулите →
Препоръчан cache

За да няма излишен трафик и да сте устойчиви при временен проблем с API-то:

  • Cache TTL: 6–12 часа
  • Fail-open за core, fail-closed за premium (по избор)
  • Локално логване на последната успешна валидация

Нужда от реалните endpoint-и?

Поддръжка

При нужда от интеграция или custom условия:

Свържи се