MergenHub Envest

REST API

Kimlik doğrulama, yapılandırma API'si, canlı değerler, yazma, Swagger, curl örnekleri.

Web arayüzünün yaptığı her şey aynı REST API'den geçer; tıkladığınız her şeyi betikleyebilirsiniz. API, web portunda (varsayılan 8090) HTTP(S) üzerinden JSON'dur ve uygulama içinde canlı belgelenmiştir (… › REST API, Swagger UI).

Ayarlar › Web & REST API — port, HTTPS, CORS ve API erişim seçenekleri
Ayarlar › Web & REST API — port, HTTPS, CORS ve API erişim seçenekleri

Kimlik doğrulama

İki yol:

  1. Oturum çereziPOST /auth/v1/login {"username":"…","password":"…"} bir çerez döner; her istekle gönderin. Oturumlar güvenlik politikasına uyar (boşta zaman aşımı, tek/çoklu giriş).
  2. API tokenAyarlar › API token'ları'ndan bir kullanıcı için token üretin ve Authorization: Bearer <token> gönderin. Token kullanıcının rolünü ve kaynak ACL'sini taşır; istediğiniz an iptal edin.
curl -c c.txt -X POST https://scada.example.com/auth/v1/login \
     -H "Content-Type: application/json" -d '{"username":"apiuser","password":"••••"}'

Ana uç grupları

GrupÖrnekAmaç
/auth/v1/*login, me, logout, forgotkimlik doğrulama
/config/v1/project/*channels, channels/{ch}/devices, …/tags (GET/POST/PUT/DELETE)proje yapılandırması, JSON dışa aktarımla aynı model
/config/v1/settingsGET/PUTsunucu ayarları
/config/v1/license/*activate, refresh, release, update-checklisanslama
/config/v1/scada/*screens, library, symbolsSCADA ekranları
/config/v1/advanced, /aliases, /alarms, /loggerCRUDeklentiler
/runtime/v1/values?tags=A.B.C,…GETkalite ve zaman damgalı canlı değerler
/runtime/v1/writePOST {"tag":"A.B.C","value":42}cihaza yazma (denetimli)
/runtime/v1/status, /metrics, /services/*GET/POSTsağlık, CPU/RAM, servis kontrolü
/runtime/v1/events, /auditGETolay ve denetim günlükleri
/logger/v1/history?tag=…&from=…&to=…GEThistorian verisi
/iotgateway/*GET/POSTKepware uyumlu Data Bridge REST sunucusu (bkz. Data Bridge)

Yapılandırma yazmaları sürüm çakışmasında 409, lisans tag tavanı aşılacaksa 402, kaynak ACL reddederse 403 döner.

Örnekler

Üç tag oku:

curl -b c.txt "http://localhost:8090/runtime/v1/values?tags=Tesis.PLC1.Debi,Tesis.PLC1.Basinc,Tesis.PLC1.Pompa1_Calisiyor"
[{"tag":"Tesis.PLC1.Debi","value":412.6,"quality":"Good","ts":"2026-09-05T10:20:41.008Z"}, …]

Setpoint yaz:

curl -b c.txt -X POST http://localhost:8090/runtime/v1/write \
     -H "Content-Type: application/json" -d '{"tag":"Tesis.PLC1.Setpoint","value":55}'

Tek çağrıyla tag'li cihaz oluştur:

curl -b c.txt -X POST http://localhost:8090/config/v1/project/channels/Tesis/devices \
     -H "Content-Type: application/json" \
     -d '{"name":"PLC2","idString":"10.0.0.6:502","unitId":1,"scanRateMs":1000,
          "tags":[{"name":"Debi","address":"40001","dataType":"Float"},{"name":"Calisiyor","address":"00001","dataType":"Boolean","readWrite":"RW"}]}'

Projeyi dışa / içe aktar:

curl -b c.txt http://localhost:8090/config/v1/project/export -o proje.json
curl -b c.txt -X POST http://localhost:8090/config/v1/project/import?mode=merge -H "Content-Type: application/json" --data-binary @proje.json

Oran sınırı ve güvenlik

  • Giriş denemeleri sınırlıdır (tekrarlanan başarısızlıkta 429).
  • Her değiştiren çağrı kullanıcı, IP ve içerik özetiyle denetim günlüğüne yazılır.
  • Canlı değer okumaları ucuzdur (bellek içi); cihaz tarama hızından hızlı sorgulamayın — yüksek hızlı veri için OPC UA ya da MQTT'ye abone olun.

Swagger / OpenAPI

Uygulamada … › REST API etkileşimli OpenAPI belgesini açar (giriş gerekir). Her rotayı şemalarıyla listeler ve oturumunuzla denemenizi sağlar.