1. Genel kurallar

<< İçindekileri Görüntülemek İçin Tıklayın >>

Yer:  Teknik Kılavuzlar > Netsim System Agent İstemci Protokolü Referansı >

1. Genel kurallar

  • Taşıma: düz HTTP (üretimde TLS ters vekilin işidir — ENTEGRASYON.md E11). Gövdeler JSON, Content-Type: application/json. Yanıtlar JSON (application/json; charset=UTF-8); tek istisna REPORTPREVIEW'ın başarı gövdesi (rapor akışı, application/pdf ya da application/octet-stream, charset eki yok — ikili türlere eklenmez, 2026-09-15).
  • Oturum: OpenSession yanıtı Set-Cookie ile oturum kimliğini verir (çerez adı oturum yöneticisinin cookieName'i, öndeğer SYSAgentSessionID). Sonraki her çağrı — HTTP ve WebSocket yükseltmesi dahil — bu çerezi taşır. Oturum idleTimeout (öndeğer 600 sn) boyunca istek görmezse düşer; canlı tutmak istemcinin işidir (periyodik GET SYSTEMAGENTVERSION ya da getNextMQMessage yeter).
  • Kimlik iki katmanlıdır. OpenSession gövdesindeki UserName istemcinin bildirdiği addır, parola denetlenmez; oturum bununla "açık" olur (authenticated). Gerçek bir kimlik ancak OpenSession isteğine HTTP Basic auth eklenirse doğrulanır: kullanıcı ajanın MASTER login'idir (2026-09-17'den beri; önceden conf'un userList'i), rolleri login'e GRANT ile verilmiş MASTER rolleridir ve o anda oturuma işlenir (SYSADMIN ya da SYSDBA → yönetici komutları, WEBSERVERS → NetsimWEB servis kimliği). Yükseltme GET'ine ya da başka bir isteğe konan Basic auth hiçbir şey yapmaz.
  • Hata sözleşmesi (K3, 2026-09-08): başarı 200 OK; hata yolları 202 Accepted + {"result": false, "message": "..."}. Durum kodu hatanın cinsini taşımaz, result alanı okunur. İstisnalar (HTTP anlamıyla): 400 tanınmayan uç ya da ayrıştırılamayan JSON / XML gövde (ileti ayrıştırıcının nedeni ve konumu, gövde yansıtılmaz), 401 oturumsuz USERLIST / REPORTPREVIEW / REPORTPRINT / DOC* belge uçları ve kimliksiz NetsimWEB OpenSession, 403 WEBSERVERS rolünde olmayan NetsimWEB servis kimliği, 503 + Retry-After oturum kapasitesi dolu, 501 rapor yardımcısı bu platformda yok (Linux).