...
Live Search | ||||
---|---|---|---|---|
|
Expand | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
|
...
EFS Service Layer, unsere API in EFS, ermöglicht den Zugriff auf EFS Kern-Funktionalitäten durch externe Anwendungen. Somit können Anwendungen, die auf EFS-Daten und -Funktionalitäten beruhen, außerhalb von EFS mit verschiedenen Technologien erstellt werden. Die Dienste können von außen über HTTPS aufgerufen werden, wobei SOAP oder REST als Protokolle verwendet werden können. Es können verschiedene Datenaustauschformate verwendet werden (z.B. JSON oder XML).
Eine Liste Übersicht aller EFS Service-Layer -Dienste ist auf dieser Seite verfügbarMethoden finden Sie in der englischsprachigen EFS Dokumentation. Aufgrund der Komplexität und Umfang dieser Liste, kann dieses Dokument aktuell nur auf Englisch zur Verfügung gestellt werden. Wir bitten um Ihr Verständnis.
Info |
---|
Der EFS-Service Layer ist seit EFS 9.1 verfügbar, einige Installationen haben jedoch auch weiterhin Zugriff auf die älteren "Web-Services" (Optionen > Service-Layer > Web-Services). Die Verwendung von Web-Services wird nicht mehr empfohlen, da diese Funktionalität veraltet ist und demnächst entfernt wird. |
...
Die auf Ihrer EFS-Installation verfügbaren Services können in einem speziell eingerichteten Konfigurations-Menü eingesehen und konfiguriert werden. Das Menü befindet sich im Administrationsbereich von EFS unter Optionen → Service-Layer. Das Menü Service-Layer ist grundsätzlich nur verfügbar, wenn Questbacks das Support-Team auf Ihrer Installation die Nutzung von Services freigeschaltet hat. Für den Zugang zum Menü ist entweder Schreibrecht auf das ACL-Recht webservice_conf oder Mitgliedschaft im Root-Team erforderlich.
...
Der jeweilige Service muss von Questbacks dem Support-Team hinzugefügt werden.
Der Service muss aktiviert werden. Falls erforderlich, können mit dem Button Alle Services aktivieren auch sämtliche auf der Installation vorhandenen Services en bloc aktiviert werden.
Das Mitarbeiterteam, zu dem der Account gehört, mit dem auf einen Service zugegriffen wird, muss Zugriffsrecht für diesen Service haben. Auf der Registerkarte Zugriffsgruppen können die Zugriffsrechte auf die einzelnen Services separat definiert werden.
Des Weiteren beinhalten viele Services eine Prüfung auf die Objektrechte des Mitarbeiterteams. Bei survey.questionnaire.createPage oder survey.questionnaire.deletePage beispielsweise benötigt das Mitarbeiterteam Schreibrecht auf das betreffende Projekt.
Auf der Registerkarte Zugriffslog werden alle Aufrufe geloggt. Die Einträge können nach IP-Adresse, Name des verwendeten Adminaccounts, Service-Name und Datum durchsucht werden.
...
Folgende Authentifizierungsmechanismen können verwendet werden:
Tokens (empfohlen): Questbacks Das Support-Team kann für Sie und Ihre Mitarbeiter Tokens generieren. Diese Tokens können dann beim Aufruf des Service zur Authentifizierung genutzt werden (Parametername: "token").
Accountname und Passwort für den EFS-Adminbereich: Da jeder Mitarbeiter mit Adminbereichs-Zugang über diese Daten verfügt, ist dies die einfachste Möglichkeit, sich für die Services zu authentifizieren.
...
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Info |
---|
Die Übersicht der EFS Service-Layer Methoden hat darüberhinaus auch Beispiele für REST Aufrufe und Antworten. |
...
Expand | ||
---|---|---|
| ||
Sie können einzelne Anfragen erstellen, indem Sie auf "New" klicken und "Request" wählen, die richtige Methode auswählen und den Link zum Dienst einfügen. Wenn Sie POST-Anfragen verwenden, müssen Sie den Body angeben, indem Sie "raw" und "JSON" in den entsprechenden Einstellungen wählen. Alle anderen Registerkarten können auf Standardwerten belassen werden. Um alle verfügbaren EFS Service-Layer REST-Dienste zu importieren, müssen Sie die RAML-Datei (https://my-efs/service/?handler=rest&raml=1&token=1234567890) herunterladen und in Postman importieren. Die Registerkarte Collections enthält nun eine Liste aller für den Aufrufer verfügbaren Dienste auf der EFS-Installation.
|
Ergebnisse mit Bedingungen filtern
Abfragen mit "ByCriteria" im Namen haben die Möglichkeit, Ergebnisse nach Bedingungen zu filtern. Diese Bedingungen können einfache Eins-zu-Eins-Vergleiche und komplexe Anfragen sein, die durch einen Operator verbunden werden. Alle Beispiele basieren auf dem REST-Dienst POST /panel/circles/listByCondition, der eine Liste von Portals-Gruppen (Circles) zurückgibt.
Comparison
Dies ist die einfachste Abfrage, sie gleicht die Elemente basierend auf einer einzigen Eigenschaft des Elements ab, in diesem Fall dem circleType. Bitte beachten Sie, dass condition
bei einigen Services durch die Zeichenkette logicalCondition
ersetzt werden muss.
Code Block |
---|
{
"condition": {
"comparison": {
"variable": "circleType",
"operator": "EQUAL",
"value": "COMPANY_MANAGED"
}
}
} |
Mögliche operator
Werte für den Vergleich: EQUAL, UNEQUAL, LESS_EQUAL, LESS_THAN, GREATER_EQUAL, GREATER_THAN, CONTAINS
. Größer/Kleiner-Operatoren sollten nur auf numerische Werte angewendet werden.
InComparison
Diese Abfrage ermöglicht den Vergleich einer Eigenschaft mit einer Liste von Werten.
Code Block |
---|
{
"condition": {
"inComparison": {
"variable": "circleType",
"operator": "IN",
"value": [
"COMPANY_MANAGED",
"USER_MANAGED"
]
}
}
} |
Der einzige zulässige Wert für operator
in inComparison-Vergleich ist IN
.
Join
Dieser Typ erlaubt komplexere Anfragen, bei denen zwei Bedingungen (comparison, inComparison oder join) durch einen AND
oder OR
Operator verbunden werden können.
Code Block |
---|
{
"condition": {
"join": {
"operator": "AND",
"condition1": {
"comparison": {
"variable": "title",
"operator": "CONTAINS",
"value": "Test"
}
},
"condition2": {
"inComparison": {
"variable": "circleType",
"operator": "IN",
"value": [
"COMPANY_MANAGED",
"USER_MANAGED"
]
}
}
}
}
} |
Der operator
Wert der join-Bedingung kann AND oder OR
sein,die einzelnen Bedingungen sind ähnlich aufgebaut wie ihre Einzelinstanzen oben. Da auch join erlaubt ist, sind komplexere Strukturen möglich:
Code Block | ||
---|---|---|
| ||
{
"condition": {
"join": {
"operator": "AND",
"condition1": {
"join": {
"operator": "AND",
"condition1": {
"comparison": {
"variable": "title",
"operator": "CONTAINS",
"value": "Test"
}
},
"condition2": {
"inComparison": {
"variable": "circleProcessStatus",
"operator": "IN",
"value": [
"IDLE","IN_PROGRESS"
]
}
}
}
},
"condition2": {
"inComparison": {
"variable": "circleType",
"operator": "IN",
"value": [
"COMPANY_MANAGED",
"USER_MANAGED"
]
}
}
}
}
} |