|
<< İçindekileri Görüntülemek İçin Tıklayın >> Yer: Teknik Kılavuzlar > Netsim System Agent Kurulum ve Yönetim Kılavuzu > 5. Servis yüzeyleri > 5.3 ClientREST |
İstemci uygulamalarının kullandığı yüzey. Bu işlemci anonim erişime kapalı
değildir; koruma uç başınadır. İstemci yazan için gövde/yanıt şekilleri,
WebSocket komutları, LSP yanıt tipleri ve mesaj kanalları tek belgede toplanmıştır:
docs/netsim-system-agent-protokol.md. Bu bölüm
operatör bakışını verir.
NetsimWEB istemci türü. OpenSession gövdesinde
ClientName: "NetsimWEB" ile açılan oturum web sunucusunun kullanıcı başına
oturumudur ve üç yönden farklıdır: (1) Basic auth ile doğrulanmış, WEBSERVERS rolünde
(ya da yönetici) bir servis kimliği ister — kimliksiz istek 401, rolsüz kimlik
403 (bkz. “Oturum yöneticileri, kullanıcılar ve roller”); (2) lisansta
masaüstü gibi tam kullanıcı (nslmFullUser) koltuğuyla sayılır — ayrı
bir web modülü yoktur — ama bonus eşleşmesine girmez; (3) oturum bildirim köprüsüdür:
/user/ ön ekine abone olur, bütün kullanıcı kanallarının mesajlarını
topic alanıyla alır ve kendi kullanıcılarına dağıtır. SESSIONS raporu
oturum başına clientType ve sonda counts (web / desktop / other) verir.
Hata sözleşmesi — durum kodu hatayı anlatmaz.
Başarılı çağrılar 200 OK döner. Hata yolları da başarı ailesinden bir kod
kullanır: 202 Accepted, gövdede
{"result": false, "message": "..."}. Yani bir çağrının başarılı olup olmadığı
durum kodundan değil, gövdedeki result alanından anlaşılır ve
durum kodu hatanın cinsini (eksik parametre, desteklenmeyen sürüm, lisans reddi) taşımaz.
Bu, HTTP semantiğine uymayan bilinçli bir uyum tercihidir — mevcut istemci durum kodunu
okumuyor ve 4xx/5xx'e geçmek onun hata mesajını kaybettirirdi. Bunu tüketen tarafta
bilmek gerekir: 202'yi başarı sayan bir vekil sunucu, izleme aracı ya da
yeni bir istemci hataları sessizce kaçırır. İstisnalar: oturumsuz USERLIST
401, tanınmayan uç 400, kapasite dolu ise 503
(Retry-After ile).
| Uç | Kimlik | Açıklama |
|---|---|---|
GET PRODUCTLIST | anonim | Lisanslı ürünler. Lisans geçersizse result: false. |
GET DATABASELIST[?product=<kod>] | anonim | MASTER'daki veritabanı kayıtları (Name, Description, Product, StorageEngine, Server, Port, Database, CharSet); product verilirse yalnız o ürün kodunun kayıtları (NetsimApp girişi ?product=NETSIM ile çağırır). Yalnız MASTER okunur, veritabanlarına bağlanılmaz; ürün kodu kayıt satırındaki aynadır (BEGIN/SET LEVEL ... PRODUCT, UPGRADE ve OPEN DATABASE yazar). Bağlantı kimliği (kullanıcı adı, parola) hiç yazılmaz. |
GET SYSTEMAGENTVERSION | anonim | Ajan sürümü. |
GET USERLIST | açık oturum | Bağlı kullanıcılar. Oturumsuz çağrı 401 alır. |
POST REPORTPREVIEW | açık oturum | Rapor önizleme; başarıda gövde raporun akışıdır (öndeğerde PDF, application/pdf; %PDF ile başlamayan çıktı application/octet-stream). database isteğe bağlıdır (öndeğer veritabanı), userName/password yok sayılır; eksik FILTRE_NO/FILTRELER 202 + mesaj döner. |
POST REPORTPRINT | açık oturum | Raporu sunucu tarafında bastırır (önizlemeden farkı budur: çıktı çağırana değil, sunucunun yazıcısına gider). Gövde REPORTPREVIEW ile aynıdır: database, userName, password ve FilterValues içinde FILTRE_NO, FILTRELER (OPTIONS isteğe bağlı). Başarı 200 + result: true; eksik parametre ya da baskı hatası 202 + result: false ve message. |
POST HELPSEARCH, HELPTOPIC, HELPFORMINFO | anonim | NetsimApp'in uygulama içi yardımı, yardım havuzundan (help.db): arama (query, module, limit öndeğer 5 en çok 20, mode öndeğer hybrid), konu (slug, form_class ya da islem_kodu; maxChars metni kısaltır) ve form bilgisi (form_class). Yetki denetimi yoktur; her öğe çevrimiçi yardım adresini (help_url) taşır. Anlamca arama gömme modeli ister; model ya da ONNX Runtime yoksa tam metinle aranır ve yanıttaki method fts olur. help.db yoksa 202 + help pool not found. |
POST DOCCOLLECTIONS, DOCSEARCH, DOCTOPIC, DOCENTITY | açık oturum | Müşteri belgeleri, oturumun veritabanının belge havuzundan (ALTER DATABASE … SET DOCUMENTS): izinli koleksiyonlar, arama (yardımdakiyle aynı, ayrıca collection), konu (collection + slug ya da kind + key; maxChars) ve varlık bilgisi (kind, key). Sonuçlar oturumu açan kullanıcının adı, onun oturum veritabanındaki rolleri ve MASTER rolleriyle süzülür (koleksiyonun erişimi ve konu izinleri); izinsiz konu bulunamadı sayılır. Havuz içe alınmamışsa 202 + document pool not imported. |
Rapor uçları açık oturum ister ama rapor her zaman yapılandırmadaki bağlantı
kimliğiyle üretilir; istemcinin kimliği veritabanına iletilmez.
/ClientREST yolunu güvenilmeyen ağlara doğrudan açmayın.