REST-API verwenden
In Innovator können Sie eine REST-API zwischen Client und Server einrichten. Hierfür müssen Sie zunächst einen REST-Server einrichten und diesen im Anschluss konfigurieren, bevor Sie die REST-API verwenden können. Dieses Hilfethema beschreibt die Verwendung der REST-API.
Voraussetzungen
-
Ein REST-Server wurde eingerichtet und konfiguriert.
-
Bei der Verwendung einer HTTPS/TLS-Verbindung muss dem Zertifikat des Servers vertraut werden.
Verwendung der REST-API
1 von 4: Token-basierte Authentifizierung
-
Für den Zugriff auf die REST-API muss ein Token angefordert werden. Der Zugriff auf die API wird durch das Token autorisiert, das für jede Anfrage mitgeschickt wird.
Dokumentation: http(s)://<restserverinohost>:16106/api-docs/index.html#tag/Tokens
-
Subscription-Token (bei Subscription-Lizenz): Wenn eine Subscription-Lizenz vorliegt, muss ein Subscription-Token angefordert und mit jeder Anfrage übermittelt werden.
Beispiel-Endpunkt: http(s)://<restserverinohost>:16106/api-docs/index.html#tag/Tokens/paths/~1tokens~1subscription/post
-
Login:
Für SSO-Repositories/Modelle müssen die Windows-Anmeldedaten (Benutzername/Passwort) gesendet werden.Für Nicht-SSO-Repositories/Modelle sind die Modell-Logindaten erforderlich.
2 von 4: Caching-Mechanismus bei Token-Anforderung
-
Bei der Token-Anforderung wird auch eine CacheID zurückgegeben. Diese kann bei einer erneuten Token-Anforderung mitgeschickt werden, um den Anmeldevorgang zu beschleunigen. Der neue Token enthält dann alle Anmeldungen aus dem Cache.
Dokumentation: http(s)://<restserverinohost>:16106/redoc
3 von 4: Verwendung der Client-API (C#)
-
Ein Beispiel zur Verwendung der C#-Client-API:
RestLicenseServer licSrv = new("pc-test.innovator.mid", 16106, false, 200000);
licSrv.AdminLogin("testuser", Secret.SSOPassword, "licenseAdminPassword");
if (licSrv.IsSubscription)
licSrv.SubscriptionLogin("testusermail@mid.de", Secret.SubscriptionPassword);
RestRepositoryServer repoSrv = licSrv.RepositoryList.First(r => r.Name.Equals("Demo"));
repoSrv.RepositoryAdminLogin("testuser", Secret.SSOPassword);
RestModel model = repoSrv.Models.First(m => m.Name.Equals("Enterprise Modeling Autovermietung"));
model.LoginModelAdmin("testuser", Secret.SSOPassword);
-
Weitere Dokumentation zu den REST-Endpunkten finden Sie unter: http(s)://<restserverinohost>:16106/redoc
4 von 4: Lizenzierung des REST-Servers
Der REST-Server unterstützt zwei Lizenzierungsmodelle:
-
Floating-Lizenz (Concurrent-Lizenz): Hierbei können beispielsweise bis zu zehn Benutzer gleichzeitig die REST-API nutzen, wenn zehn Lizenzen vorhanden sind.
-
Subscription-Lizenz (Named-Lizenz): Jeder Benutzer mit einer gültigen Lizenz kann die REST-API verwenden.