Balans Web API - Console

Administratorska veb konzola za registraciju klijenata i upravljanje licencama modula nad Balans Web API-jem.\\
Zamenjuje ručni rad kroz Swagger — firma → nalog → moduli → licence — kroz forme, sa generisanim licencama kao spiskom kodova.

Konzola je zaseban frontend koji komunicira isključivo kroz REST zahteve modula Realm. Nema sopstvenu bazu ni servis: posle build-a je statička aplikacija koju servira veb server.

Svi administratorski zahtevi traže ulogu ADMIN (profil MelanyAdmin) i registrovan modul Realm.\\
Prijava ide kroz POST /api/rest/auth, a dobijeni token se šalje u zaglavlju:

\\
Authorization: Bearer {token}\\

Prijava prima pubId firme (wcom.pubid), ne firid.

Metod Putanja Uloga Opis Revizija
GET /api/rest/realm/admin/companies ADMIN Spisak registrovanih firmi 26-08-24
GET /api/rest/realm/admin/company/{firid}/modules ADMIN Aktivni moduli firme sa licencom i datumom isteka 26-08-24
GET /api/rest/realm/admin/licences ADMIN Spisak licenci po modulu, firmi i statusu 26-08-24
POST /api/rest/realm/admin/licence/assign ADMIN Dodela slobodne licence ciljnoj firmi 26-08-24
POST /api/rest/realm/admin/licence/revoke ADMIN Odvezivanje licence od firme 26-08-24
PUT /api/rest/realm/admin/licence ADMIN Izmena trajanja licence 26-08-24

GET /api/rest/realm/admin/licences prima tri opciona URL parametra:

* moduleId - filter po modulu (0 ili izostavljen = svi moduli)
* companyId - filter po firmi, vrednost je firid (izostavljen = sve firme)
* free - true = slobodne, false = iskorišćene, izostavljen = sve

Telo zahteva je JSON:

\\
POST /api/rest/realm/admin/licence/assign\\
{ "licence": "4301-KUY0YI", "firid": 223 }

POST /api/rest/realm/admin/licence/revoke\\
{ "licence": "4301-KUY0YI" }

PUT /api/rest/realm/admin/licence\\
{ "licence": "4301-KUY0YI", "duration": 30 }\\
Polje Tip Opis
licence string Kod licence (walibslic.walic_licence)
firid integer Identifikator ciljne firme (firme.firid), samo pri dodeli
duration integer Trajanje u danima; 0 = neograničeno (istek 3000-01-01)

Licenca je kod za jedan modul, jednu firmu i određeno trajanje. Dva odvojena koraka:

- Generisanje (PUT /api/rest/realm/licence/generate) pravi slobodne kodove, nevezane za firmu.
- Dodela veže kod za firmu i upisuje aktivan modul sa datumom isteka.

Odvezivanje vraća kod među slobodne i postavlja istek aktivnog modula na prethodni dan — zapis o modulu se ne briše, čime se čuvaju podešavanja modula.\\
Premeštanje licence sa jedne firme na drugu je zato dva koraka: odvezivanje pa dodela.

Korak Zahtev Uloga Opis Revizija
1 POST /api/rest/realm/company bez tokena Registracija firme; vraća pubId 26-08-24
2 POST /api/rest/realm/user bez tokena Klijentski nalog za pubId firme 26-08-24
3 POST /api/rest/realm/licence/activate USER, ADMIN Aktivacija licence za modul 26-08-24
4 PUT /api/rest/realm/licence/generate ADMIN Generisanje licenci za modul 26-08-24

Korak 1 je idempotentan — ponovna registracija iste firme vraća postojeći pubId, ne grešku.\\
Firma mora prethodno da postoji u tabeli firme (firid se ne kreira kroz konzolu).

HTTP Kod Opis Revizija
200 Zahtev je uspešno izvršen. 26-08-24
400 Nije predat obavezan parametar (firid, duration ili licence). 26-08-24
401 Token nije validan. 26-08-24
403 Nalog nema ulogu ADMIN ili nema pristup modulu Realm. 26-08-24
404 Licenca ili firma ne postoji. 26-08-24
409 Licenca je već dodeljena — prvo je odvezati. 26-08-24
409 Firma već ima važeću licencu za taj modul. 26-08-24
409 Modul koristi besplatno licenciranje — dodela nije primenljiva. 26-08-24
409 Licenca nije dodeljena — nema šta da se odveže. 26-08-24
409 Modul je neaktivan ili u režimu održavanja. 26-08-24
500 Nepoznata serverska greška. 26-08-24

* pubId i firid nisu isto. firid je identifikator firme u Balansu (i naziv firmine baze b{firid}), a pubId generiše server pri registraciji firme i koristi se pri prijavi.
* realmId (wcom.mel_id) je identifikator Balans klastera na kom firma živi. Pri registraciji firme server ga proverava u registru izdatih licenci; nepoznat realmId se odbija.
* Trajanje 0 znači neograničeno i prikazuje se kao datum isteka 3000-01-01.

  • kb/web_api/module_bwac.txt
  • Last modified: 2026/08/24 14:21
  • by nuros