FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

German
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Plattform
  • ESM
  • Weitere technische ESM-Dokumentation
  • Web- API

Beschreibung der Web API Effekte

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Serviceverwaltung
    Matrix42 Professional Lösung Matrix42 Core Enterprise-Servicemanagement Matrix42 Intelligenz
  • Identitätsverwaltung und -administration ( IGA )
    IGA Übersicht IGA Lösungsbibliothek
  • Plattform
    ESM ESS2 ESS Efecte Chat für Service Management Efecte Integrationen Add-ons
  • Versionshinweise für M42 Core & Pro , IGA , Conversational AI
    2025.3 2025.2 2025.1 2024.2 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Veröffentlichungsinformationen und Richtlinien
  • Sonstiges Material
    Bedingungen und uid Erklärungen zur Barrierefreiheit
  • Leistungen
+ More
    • Serviceverwaltung

    • Identitätsverwaltung und -administration ( IGA )

    • Plattform

    • Versionshinweise für M42 Core & Pro , IGA , Conversational AI

    • Sonstiges Material

    • Leistungen

Beschreibung der Web API Effekte

Dieser Abschnitt beschreibt die Efecte Web API und die Integration externer Anwendungen in Efecte. Die API basiert auf dem Standard-HTTP-Protokoll. Die Methoden der Efecte Web API werden über die Efecte-URL + /serviceName aufgerufen, wobei serviceName der Name des gewünschten Dienstes ist. Beispiel: https://localhost:8080/esm/search.ws oder in der Efecte-Cloud https://base_url/api/itsm/search.ws .

Bevor Sie die Web- API verwenden, lesen Sie bitte das Kapitel „Authentifizierung“. Es beschreibt die Authentifizierung an der Web API und bietet zusätzliche Informationen zu Rollen und Berechtigungen. In diesem Kapitel wird auch die Erstellung von Web- API Rollen und -Benutzern beschrieben. Der Web- API Benutzer muss ein lokales ESM-Konto sein, kein EIM-Konto, das für die Anmeldung in der Cloud-Umgebung verwendet wird.

Einige Vorgänge können langsam verarbeitet werden. Beispielsweise dauert der Import von mehrwertigen Referenzen normalerweise länger als der Import ohne Referenzen. Auch komplizierte Ausdrücke in Vorlagen können die Verarbeitung von Importen verlangsamen. Sie sollten Ergebnisse immer mithilfe von „where“ und z. B. „templateCode“ in search.ws herausfiltern.

DataCardImport-Dienst

Um eine neue Datenkarte in Efecte zu erstellen, muss der Benutzer den Dienst dataCardImport aufrufen. Der Dienst verwendet Datenkarten-XML als HTTP-BODY, daher muss der Aufrufer die XML-Syntax und das Efecte-Schema für die erstellte Datenkarte kennen. Dieses Dokument spezifiziert das XML-Schema nicht. Informationen dazu finden Sie in der Efecte-XML-Schemabeschreibung . Der Parameter createDataCards muss beim Erstellen neuer Datenkarten auf „true“ gesetzt werden.

Um eine vorhandene Datenkarte zu ändern, muss die gesendete XML-Datei mindestens ein Datenkartenfeld enthalten, das in Efecte als eindeutig definiert ist. Efecte versucht dann, die eingehenden Daten einer Datenkarte zuzuordnen und die entsprechende Karte zu aktualisieren. Der Parameter updateDataCards muss auf „true“ gesetzt werden, wenn vorhandene Datenkarten geändert werden.

Beim Aktualisieren von Datenkarten ersetzen XML-Attributwerte die vorhandenen Werte. Nicht in XML vorhandene Felder bleiben in Efecte unverändert. Wenn Sie Attributwerte aus Efecte entfernen möchten, lassen Sie das Wertelement in XML leer und verwenden Sie den Parameter removeEmptyValues.
Beachten Sie, dass es für Integrationszwecke eine gute Möglichkeit ist, Importe abzuwickeln, indem Sie jeweils nur eine Datenkarte importieren und den Datenverkehr aus den folgenden Gründen auf einem angemessenen Niveau halten:

  • Die Fehlerprüfung ist einfacher, da fehlerhafte Entitäten aus dem Import sofort identifiziert werden können.
  • Beim Importieren einer großen Menge an Datenkarten kann es zu Zeitüberschreitungen kommen.

HTTP-Parameter

Hier ist eine Liste der möglichen HTTP-Parameter, die verwendet werden können (HTTP-Parameter des DataCardImport-Dienstes):

Parametername

Erforderlich

Mögliche Werte

Standard

Beschreibung

updateDataCards

{wahr, falsch}

WAHR

Werden übereinstimmende Datenkarten aktualisiert

Datenkarten erstellen

{wahr, falsch}

WAHR

Werden nicht übereinstimmende Datenkarten erstellt

Erstellen Sie statische Attribute

{wahr, falsch}

FALSCH

Werden neue statische Werte erstellt

Leere Referenzen erstellen

{wahr, falsch}

FALSCH

Werden nicht übereinstimmende Referenzen als leere Datenkarten erstellt

ignoreUniqueCheck

{wahr, falsch}

FALSCH

Werden die Eindeutigkeitsprüfungen für Datenkartenfelder ignoriert

restrictUpdateToFolderId

Gültige ID eines Datenkartenordners in Efecte

Legt den Ordner fest, auf den die Aktualisierung der Datenkarte beschränkt ist. Dieser Parameter kann mehrfach angegeben werden. Die Verwendung des Parameters restrictUpdateToFolderCode ist nicht zulässig, wenn restrictUpdateToFolderId verwendet wird.

restrictUpdateToFolderCode

Gültiger Code eines Datenkartenordners in Efecte

Legt den Ordner fest, auf den die Aktualisierung der Datenkarte beschränkt ist. Dieser Parameter kann mehrfach angegeben werden. Die Verwendung von restrictUpdateToFolderId ist nicht zulässig, wenn restrictUpdateToFolderCo de verwendet wird.

Ordner-ID

Ja*

Gültige ID eines Datenkartenordners in Efecte

Legt den Ordner mit der Ordner-ID fest, in dem neue importierte Datenkarten erstellt werden

Ordnercode

Ja*

Gültiger Code eines Datenkartenordners in Efecte

Legt den Ordner mit dem Ordnercode fest, in dem neue importierte Datenkarten erstellt werden

Leere Werte entfernen

{wahr, falsch}

FALSCH

Wenn auf „true“ gesetzt, entfernt Efecte Datenkartenwerte, die im XML mit einem leeren Wertelement gekennzeichnet sind

Version

Welche Version des DataCardImport-Dienstes soll als Antwort verwendet werden?

Wenn der Wert „1.1“ ist, ist das Stammelement im zurückgegebenen XML immer <response>, d. h. es wird web-api-import-response-1_1.xsd verwendet. Andernfalls wird web-api-import-response.xsd verwendet (das Stammelement ist <entity-import-report> oder <error>).

* Entweder folderId oder folderCode muss in den Parametern enthalten sein

Fehler beim DataCardImport

Wenn einer der erforderlichen Parameter (siehe Tabelle 7) fehlt oder ungültige Werte enthält, wird im Allgemeinen ein Web API Fehler zurückgegeben. Dies gilt auch für Web API Authentifizierungs- und Autorisierungsfehler. (Weitere Informationen zu Web API -Fehlern finden Sie in Kapitel 5 „Web- API Fehler“).

Wenn jedoch beim Importieren einiger Datenkarten etwas schief geht (z. B. die Vorlage der importierten Karten falsch konfiguriert ist), gibt der DataCardImport-Dienst zurück mit Informationen zu verarbeiteten Datenkarten und zu eventuell beim Import aufgetretenen Fehlern.

Zu importierende Werte sollten sich im <value>-Element befinden. Werden Werte innerhalb von <reference>-Elementen importiert, entstehen fehlerhafte Verweise auf die Datenkarte selbst. Stellen Sie bei Bedarf sicher, dass der Web API Benutzer Zugriff auf die referenzierte Vorlage hat, da sonst keine Referenz erstellt wird. Verweise müssen auf den primären Wert der Vorlage ausgerichtet sein.

Beispielanforderung und -antwort

Anfrage

Dienst: dataCardImport.ws

URL-Beispiel:
https://localhost:8080/esm/dataCardImport.ws?folderCode=incident_management

Nachrichtentext:

<entityset>
 <entity>
     <template code="incident"/>
     <attribute code="subject">
       <value>Test incident</value>
     </attribute>
     <attribute code="category">
       <value>Testing</value>
     </attribute>
     <attribute code="impact">
       <value>3. Low</value>
     </attribute>
     <attribute code="urgency">
       <value>3. Low</value>
     </attribute>
 </entity>  
</entityset>

Antwort

<?xml version="1.0" encoding="utf-8"?>
<entity-import-report>
   <start-time>09.07.2018 09:03:04</start-time>
   <total-time>10,494</total-time>
   <entities-handled-per-second>0,095</entities-handled-per-second>
   <average-entity-handling-time>10,494</average-entity-handling-time>
   <user>webapi</user>
   <entities-handled>1</entities-handled>
   <entities-saved>1</entities-saved>
   <entities-updated>0</entities-updated>
   <entities-created>1</entities-created>
</entity-import-report>

Dienst löschen

Um eine vorhandene Datenkarte aus Efecte zu entfernen, muss der Benutzer den Löschdienst aufrufen. Der Dienst kann Datenkarten anhand von zwei verschiedenen Kriterien löschen:

  • Interne Datenkarten-ID (Entitäts-ID).
  • Eine Suchanfrage; Datenkarten, die der Suchanfrage entsprechen, werden entfernt.

HTTP-Parameter

HTTP-Parameter des Dienstes löschen:

Parametername

Erforderlich

Mögliche Werte

Standard

Beschreibung

IDs

Ja*

Durch Kommas getrennte Liste interner Datenkarten-IDs (Entitäts-IDs), die zu entfernende Datenkarten identifizieren

Abfrage

Ja*

Eine EQL -Abfrage, die die zu entfernenden Datenkarten angibt. Die Abfrage muss so gestaltet sein, dass sie beim Senden an den Such-Webdienst Daten im XML-Format (Entity XML) der Efecte-Datenkarten zurückgibt, d. h. die Abfrage muss die Form „Entität aus Entität auswählen [...]“ haben.

Mülleimer verwenden

{wahr, falsch}

FALSCH

Standardmäßig werden Datenkarten dauerhaft entfernt, d. h. sie werden nicht einfach in den Papierkorb verschoben. Wenn Sie diesen Parameter auf „true“ setzen, wird der Papierkorb verwendet, ähnlich wie beim normalen Löschen von Datenkarten über die Efecte-Weboberfläche. In diesem Modus werden Datenkarten nur dann dauerhaft entfernt, wenn sie sich bereits im Papierkorb befanden.

* Einer der beiden Parameter (IDs, Abfrage) ist erforderlich. Die Parameter werden in dieser Reihenfolge verarbeitet, und bei einem Aufruf des Dienstes wird nur einer berücksichtigt. Wenn sowohl IDs als auch Abfrageparameter angegeben sind, ignoriert der Dienst den Abfrageparameter und versucht nur, Datenkarten basierend auf dem ID-Parameter zu entfernen.

Beispiel für Anforderung und Antwort: Löschen einer Datenkarte mit Entitäts-ID

Anfrage

Dienst: delete.ws

URL-Beispiel:
https://localhost:8080/esm/delete.ws?ids=15021

Antwort

<?xml version="1.0" encoding="utf-8"?>
<entity-delete-report>
   <successful-deletions count="1"/>
   <failed-deletions count="0"/>
</entity-delete-report>

Beispiel für Anforderung und Antwort: Löschen einer Datenkarte mit EQL

Anfrage

Dienst: delete.ws

EQL : SELECT $efecte_id$, $subject$, $status$ FROM entity WHERE entity.template.code = 'incident' AND $efecte_id$='INC-000270'

URL-Beispiel:
https://localhost:8080/esm/delete.ws?query=select%20%24efecte_id%24%20%2C%24subject%24%2C%20%24status%24%20from%20entity%20where%20entity.template.code%20%3D%20'incident'%20and%20%24efecte_id%24%3D'INC-000270'

Antwort

<?xml version="1.0" encoding="utf-8"?>
<entity-delete-report>
   <successful-deletions count="1"/>
   <failed-deletions count="0"/>
</entity-delete-report>

Suchdienst

Für die Suche nach Datenkarten bietet Efecte den Webdienst dataCardSearch an, der eine EQL Abfrage (Efecte Query Language) entgegennimmt und die Ergebnisse als XML zurückgibt. Weitere Informationen zum Erstellen EQL Abfragen finden Sie in Kapitel 2.

Das vom Suchdienst zurückgegebene XML liegt in einem der folgenden drei Formate vor:

  • Entitäts-XML
  • XML-Vorlage
  • „Generisches“ XML

Entity-XML und Template-XML werden im Dokument „Efecte XML Schema Description“ beschrieben. Das „generische“ XML-Format wird unten anhand von Beispielen erläutert. Beachten Sie, dass das generische Format je nach EQL Abfrage vollständige Instanzen von Entity-XML und Template-XML enthalten kann.

Datumswerte werden immer im Format jjjj-MM-tt HH:mm:ss z gemäß ISO 8601-Standard zurückgegeben. Beachten Sie, dass der Zeitzonenname am Ende angegeben wird. Die verwendete Zeitzone ist immer die Standardzeitzone der JVM oder Datenbank. Beachten Sie, dass die Unterstützung mehrerer Zeitzonen von Entity XML abweichen kann, wo Datums- und Uhrzeitwerte an die Zeitzoneneinstellung des Webdienstbenutzers angepasst werden.

Bei Dezimalzahlen wird ein Punkt (.) als Dezimaltrennzeichen verwendet. Die im Antwort-XML verwendete Zeichenkodierung hängt von der Framework-Eigenschaft webservice.response.encoding ab. Die Standardkodierung ist UTF-8.

Wenn gelöschte oder ausgeblendete Datenkarten nicht angezeigt werden müssen, verwenden Sie im Abfrageparameter entity.deleted=0 oder entity.hidden=0 .

Generisches Ergebnis-XML

Mögliche Datentypelemente für generische Suchergebnisse:

Element

Hinweise

<Datum>

Das verwendete Muster ist immer jjjj-MM-tt HH:mm:ss z.

<Dezimalzahl>

Dezimalzahlen; Dezimaltrennzeichen ist immer „.“ (Punkt)

<Ganzzahl>

Ganzzahlen

<Zeichenfolge>

Viele Efecte-Datentypen (nicht nur „Text“ und „String“, sondern auch „externe Referenzen“ usw.) werden als String ausgegeben

<null>

Nullwerte sind ein Sonderfall. Beispielsweise wird ein String-Attribut mit einem Nullwert nicht als <string></string> oder <string>null</string> angezeigt, sondern einfach als <null/>

HTTP-Parameter

HTTP-Parameter des Suchdienstes:

Parametername

Erforderlich

Mögliche Werte

Standard

Beschreibung

Abfrage

Ja

Jede gültige EQL Abfrage

Gibt die Suchanfrage an. Weitere Informationen finden Sie in Kapitel 2.

Attributcodes

Jeder gültige Attributcode aus der Vorlage

Gibt nur die angegebenen Attributcodes für die Vorlage zurück

Beispiel für Anfrage und Antwort, gibt nur Namen von Entitäten zurück

Als Antwort auf die einfache EQL -Abfrage wird ein Dokument zurückgegeben, das aus <string>-Werten direkt unter dem <result>-Element besteht.

Anfrage

Dienst: search.ws

EQL : SELECT entity.name FROM entity WHERE entity.folder.name = „Vorfallmanagement“

URL-Beispiel:
https://localhost:8080/esm/search.ws?query=select%20entity.name%20from%20entity%20where%20entity.folder.name%20%3D%20'Vorfallmanagement'

Antwort

<?xml version="1.0" encoding="UTF-8" ?>
<result>
   <string>Problems in CRM</string>
   <string>Mobile phone not working</string>
   <string>Test incident</string>
   <string>API incident</string>
</result>

Beispiel für eine Anfrage und Antwort unter Verwendung der Attributcodes der Vorlage

Bei der Auswahl mehrerer Felder werden die Ergebnisse gruppiert nach Elemente. Beachten Sie, dass die Reihenfolge der Zeichenfolgen innerhalb der Zeile der Attributreihenfolge in der Auswahl entspricht (Positionen sind gebunden).

Anfrage

Dienst: search.ws

EQL : SELECT $efecte_id$, $subject$, $status$ FROM entity WHERE entity.template.code = 'incident'

URL-Beispiel:
https://localhost:8080/esm/search.ws?query=select%20%24efecte_id%24%20%2C%24subject%24%2C%20%24status%24%20from%20entity%20where%20entity.template.code%20%3D%20'incident'

Antwort

<?xml version="1.0" encoding="UTF-8" ?>
<result>
   <row>
       <string>INC-000270</string>
       <string> Problems in CRM </string>
       <string>1 - Untouched</string>
   </row>
   <row>
       <string>INC-000273</string>
       <string>Mobile phone not working</string>
       <string>1 - Untouched</string>
   </row>
   <row>
       <string>INC-000272</string>
       <string>Test incident </string>
       <string>2 - Solving</string>
   </row>
</result>

Beispiel für Anforderung und Antwort, Name des Rückgabeordners und Referenzdatenziel

In diesem Fall enthält das generische Ergebnis-XML vollständige, darin „eingebettete“ Entity-XML-Dokumente sowie einfache <string>-Werte:
Anfrage

Dienst: search.ws

EQL : SELECT entity.folder.name, entity.referenceData.target FROM entity WHERE entity.templateId = 2597


URL-Beispiel:
https://localhost:8080/esm/search.ws?query= select%20entity.folder.name%2C%20entity.referenceData.target%20from%20entity%20where%20entity.templateId%20%3D%202597

Antwort

<?xml version="1.0" encoding="UTF-8" ?>
<result>
   <row>
       <string>Incident management</string>
       <entity id="14549" name="18.06.2018 09:03">
           <template id="5604" name="ValueChange" code="ValueChange"/>
           <group id="834" name="system"/>
           <attribute id="5610" name="Value" code="value">
               <value>1 - Untouched</value>
           </attribute>
           <attribute id="5614" name="Modifier" code="creator">
               <value>webapi</value>
           </attribute>
       </entity>
   </row>
   <row>
       <string>Incident management</string>
       <entity id="15066" name="18.06.2018 13:56">
           <template id="5604" name="ValueChange" code="ValueChange"/>
           <group id="834" name="system"/>
           <attribute id="5610" name="Value" code="value">
               <value>1 - Untouched</value>
           </attribute>
           <attribute id="5614" name="Modifier" code="creator">
               <value>webapi</value>
           </attribute>
       </entity>
   </row>
</result>

Beispiel für Anforderung und Antwort: Geben Sie angegebene Attribute mithilfe von Attributcodes zurück

Attributcodes definieren, welche Attribute in der Antwortnachricht zurückgegeben werden. Auf diese Weise gibt die Web- API keine Attribute zurück, die der Benutzer nicht benötigt.

Anfrage

Dienst: search.ws

EQL : WÄHLEN Sie die Entität AUS der Entität, wobei template.code='workstation' ist.

Attributcodes: Effekt-ID, Workstation-Modell, Status


URL-Beispiel:
https://localhost:8080/esm/search.ws?attributeCodes=efecte_id,workstation_model,status&query=select%20entity%20from%20entity%20where%20template.code%20%3D%20'workstation'

Antwort

<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
   <entity id="19103" name="Test User">
       <template id="1622" name="Workstation" code="workstation"/>
       <group code="asset"/>
       <attribute id="1628" name="Device model" code="workstation_model">
           <reference id="19125" name="MacBook Pro 15"/>
       </attribute>
       <attribute id="1380" name="Status" code="status">
           <value>2 - In use</value>
       </attribute>
       <attribute id="1311" name="Efecte ID" code="efecte_id">
           <value>WS-000148</value>
       </attribute>
   </entity>
</entityset>

FileMetaData-Dienst

Der Dateimetadatendienst wird verwendet, um Informationen zu den Dateianhängen einer Datenkarte abzurufen. Enthält die Datenkarte mehrere Felder mit Anhängen, werden die Informationen aller Anhänge gleichzeitig zurückgegeben. Dadurch wird die API weniger ausführlich.

Seit Efecte 4.2 gibt der Metadatendienst für jeden Anhang nicht nur den Namen , sondern auch den Anzeigenamen zurück. Der Name ist ein interner Dateiname (z. B. „20180717_1.xml“), der als Kennung bei Anfragen an den Datei-Download-Dienst verwendet wird (siehe nächster Abschnitt). Der Anzeigename ist der ursprüngliche Name der Anhangsdatei, der in der Regel besser lesbar ist (z. B. „readme.txt“).

HTTP-Parameter

HTTP-Parameter des FileMetaData-Dienstes:

Parametername

Erforderlich

Mögliche Werte

Standard

Beschreibung

Entitäts-ID

Ja

ID einer beliebigen Datenkarte im System, also eine Ganzzahl

Gibt die Datenkarte an, deren Dateimetadaten abgerufen werden.

Beispielanforderung und -antwort

Anfrage

Dienst: fileMetadata.ws

URL-Beispiel:
https://localhost:8080/esm/fileMetadata.ws?entityId=15048

Antwort

<?xml version="1.0" encoding="utf-8"?>
<entity-attachment-metadata>
   <entity id="15048">
       <attribute id="2696" code="file_attachments">
           <attachment>
               <name>20180717_1.xml</name>
               <displayname>test.xml</displayname>
               <size>4871</size>
               <last-modified>2018-07-17 09:35:12 EEST</last-modified>
           </attachment>
       </attribute>
   </entity>
</entity-attachment-metadata>

FileDownload-Dienst

Der Dateidownloaddienst wird zum Herunterladen von Dateien verwendet, die an Datenkarten in Efecte angehängt sind. Die Dateien werden in der HTTP-Antwort zurückgegeben.

Der Client sollte immer zuerst den HTTP-Statuscode der Antwort prüfen. Nur wenn der Statuscode „200 OK“ lautet, kann der Hauptteil der Antwort als angeforderte Datei interpretiert werden. Weitere Statuscodes, die der Dienst typischerweise setzt, sind:

  • 400 Ungültige Anfrage – Wenn einige der erforderlichen Parameter fehlen.
  • 403 Verboten – Wenn der Webdienstbenutzer keine Berechtigungen für das angegebene hat.
  • Datenkarte oder Attribut.
  • 404 Nicht gefunden – Wenn die angeforderte Datei nicht gefunden wurde.

In diesen Fehlersituationen ist der HTTP-Antworttext eine XML-Fehlermeldung mit ausführlicheren Informationen.

HTTP-Parameter

HTTP-Parameter des FileDownload-Dienstes:

Parametername

Erforderlich

Mögliche Werte

Standard

Beschreibung

Entitäts-ID

Ja

Ganze Zahl

Gibt die Datenkarte an, an die die angeforderte Datei angehängt ist.

Attribut-ID

Ja

Ganze Zahl

Gibt das Datenkartenfeld an, an das die angeforderte Datei angehängt wird.

Dateiname

Ja

Zeichenfolge

Gibt den Namen der angeforderten Datei an. Dies entspricht dem Namenselement eines Anhangs (nicht dem Anzeigenamen), wie es vom Metadatendienst zurückgegeben wird.

Beispielanforderung und -antwort

Anfrage

Dienst: fileDownload.ws

URL-Beispiel:
https://localhost:8080/esm/fileDownload.ws?entityId=15048&attributeId=2696&fileName=20180717_1.xml

Antwort

In diesem Fall zeigt die Antwort Daten aus der Datei

<?xml version="1.0" encoding="UTF-8"?>
<inventory>
   <item>
       <title>Computer</title>
       <price>1000</price>
       <company>Customer</company>
   </item>
<inventory>

FileUpload-Dienst

Der Datei-Upload-Dienst dient zum Hochladen von Dateien auf eine Efecte-Datenkarte. Er analysiert HTTP-Anfragen, die RFC 1867 (Formularbasierter Datei-Upload in HTML) entsprechen. Dies gilt, wenn eine HTTP-Anfrage mit der POST-Methode und dem Inhaltstyp „multipart/form-data“ übermittelt wird. Bei Bedarf können mehrere Dateien gleichzeitig gesendet werden.

Die Datenkarte muss erstellt werden, bevor eine Datei hochgeladen werden kann! Der FileUpload-Dienst erstellt keine neue Datenkarte.

HTTP-Parameter

HTTP-Parameter des FileUpload-Dienstes:

Parametername

Erforderlich

Mögliche Werte

Standard

Beschreibung

Entitäts-ID

Ja

Ganze Zahl

Gibt die Datenkarte an, an die die hochgeladene Datei angehängt werden soll.

Attribut-ID

Ja

Ganze Zahl

Gibt das Datenkartenfeld an, an das die hochgeladene Datei angehängt werden soll.

Vorgangstyp

Zeichenfolge

„Hinzufügen“ bedeutet, dass die hochgeladene Datei zu anderen Dateien hinzugefügt wird, die möglicherweise bereits im ausgewählten Feld vorhanden sind.

„Setzen“ bedeutet, dass die hochgeladene Datei die bereits im ausgewählten Feld vorhandenen Dateien ersetzt. Die Standardoperation ist „Setzen“.

Beispielanforderung und -antwort

Anfrage

Dienst: fileUpload.ws

URL-Beispiel:
https://localhost:8080/esm/fileUpload.ws?entityId=14938&attributeId=2696&operationType=set

Inhaltstyp: multipart/form-data

Antwort

<?xml version="1.0" encoding="utf-8"?>
<attachment-upload-result>
   <attachment>
       <name>20180717_15.xml</name>
   </attachment>
</attachment-upload-result>

Schritt-für-Schritt-Beispiel zum Erstellen einer Datenkarte und Hochladen einer Datei darauf

Dieses Schritt-für-Schritt-Beispiel zeigt alle erforderlichen Schritte zum Hochladen einer Datei aus dem Nichts. Wichtige Attribute sind fett gedruckt. Das Beispiel besteht aus folgenden Schritten:

  1. Datenkarte importieren (erstellen).
  2. Abfrage der Entity-ID der Datenkarte.
  3. Ermitteln der Vorlagenattribut-ID für das Dateianhangattribut.
  4. Datei wird auf die erstellte Datenkarte hochgeladen.

Erste Datenkarte muss erstellt werden:

Anfrage

Dienst: dataCardImport.ws

URL-Beispiel:
https://localhost:8080/esm/dataCardImport.ws?folderCode=incident_management

Nachrichtentext:

<entityset>
 <entity>
     <template code="incident"/>
     <attribute code="subject">
       <value>File upload test</value>
     </attribute>
     <attribute code="impact">
       <value>3. Low</value>
     </attribute>
     <attribute code="urgency">
       <value>3. Low</value>
     </attribute>
 </entity>
</entityset>

Antwort

<?xml version="1.0" encoding="utf-8"?>
<entity-import-report>
   <start-time>04.09.2018 08:27:29</start-time>
   <total-time>0,602</total-time>
   <entities-handled-per-second>1,661</entities-handled-per-second>
   <average-entity-handling-time>0,602</average-entity-handling-time>
   <user>webapi</user>
   <entities-handled>1</entities-handled>
   <entities-saved>1</entities-saved>
   <entities-updated>0</entities-updated>
   <entities-created>1</entities-created>
</entity-import-report>

Bevor eine Datei hochgeladen werden kann, müssen die Entity-ID und die Attribut-ID für die Dateianhänge der gerade erstellten Datenkarte bekannt sein. Nachfolgend finden Sie eine Abfrage, mit der Sie die Entity-ID abrufen und auch andere Daten validieren können:

Anfrage

Dienst: search.ws

EQL : WÄHLEN Sie Entität AUS Entität, WO template.code='incident' UND $created$>'NOW-1m' UND $created$<'NOW'
Attributcodes: efecte_id, file_attachments, status, subject, description, created

URL-Beispiel:
https://localhost:8080/esm/search.ws?attributeCodes=efecte_id,file_attachments,status,subject,description,created&query=select%20entity%20from%20entity%20where%20template.code%3D'incident'%20and%20%24created%24%3E'NOW-1m'%20and%20%24created%24%3C'NOW'

Antwort

<?xml version="1.0" encoding="UTF-8" ?>
<entityset>
   <entity id="19221" name="File upload test">
       <template id="2597" name="Incident" code="incident"/>
       <group code="incident_management"/>
       <attribute id="2612" name="Incident ID" code="efecte_id">
           <value>INC-000275</value>
       </attribute>
       <attribute id="2623" name="Status" code="status">
           <value>1 - Untouched</value>
       </attribute>
       <attribute id="2632" name="Subject" code="subject">
           <value>File upload test</value>
       </attribute>
       <attribute id="2789" name="Created" code="created">
           <value>04.09.2018 08:27</value>
       </attribute>
   </entity>
</entityset>

Die AttributeId kann beispielsweise mit folgenden Methoden abgerufen werden:

Wählen Sie über die Administrationsseite die richtige Vorlage aus und bearbeiten Sie das Attribut, dessen Attribut-ID wir benötigen. Wenn das Attribut geöffnet ist, ist die ID die Ziffer nach dem letzten /, z. B.:
https://localhost:8080/esm/EfecteFrameset.do#/admin/templates/edit/2597/2680/2696

Verwenden des Suchdienstes zum Abrufen des Vorlagenschemas.

Abfrage des Vorlagenschemas:

Anfrage

Dienst: search.ws

EQL : SELECT-Vorlage FROM Vorlage WHERE template.code='Vorfall'

URL-Beispiel:
https://localhost:8080/esm/search.ws?query=select%20template%20from%20template%20where%20template.code='incident'

Antwort
Aus der Antwort müssen wir <attribute> finden, wobei <code> der Attributcode des Dateianhangattributs ist, und aus diesem Attribut möchten wir den Wert von <class-attribute-id> erhalten, etwa:

…
<attribute>
               <id>2695</id>
               <class-attribute-id>2696</class-attribute-id>
               <code>file_attachments</code>
               <name>File attachments</name>
…

Da wir nun über entityId und attributeId verfügen, können wir die Datei hochladen:

Anfrage

Dienst: fileUpload.ws

URL-Beispiel:
https://localhost:8080/esm/fileUpload.ws?entityId=19221&attributeId=2696&operationType=set

Inhaltstyp: multipart/form-data

Antwort

<?xml version="1.0" encoding="utf-8"?>
<attachment-upload-result>
   <attachment>
       <name>20180904_1.xml</name>
   </attachment>
</attachment-upload-result>

Datenkartenschema abrufen

Die Metadaten der Efecte-Datenkarte, d. h. Informationen zu den darin enthaltenen Feldern und deren Eigenschaften, können über den Webdienst dataCardSearch mit einer EQL -Abfrage an die Vorlagen abgerufen werden. Hier ist ein Beispiel für EQL -Abfrage, die alle Vorlagen auswählt:

SELECT-Vorlage FROM-Vorlage

URL-Beispiel:
https://localhost:8080/esm/search.ws?query=select%20template%20from%20template%20where%20template.code='incident'

Sicherheit

Verschlüsselung

Bei der HTTP-Basisauthentifizierung werden Anmeldeinformationen im Klartext gesendet. Daher ist die Verwendung von HTTPS unbedingt erforderlich.

Authentifizierung


Die Authentifizierung der Efecte-Web- API Dienste erfolgt über die HTTP-Basisauthentifizierung. Um die Webdienste nutzen zu können, müssen Sie die Anmeldeinformationen für Efecte erstellen. (Erstellen Sie im Berechtigungsbaum eine Rolle mit der Berechtigung zur Nutzung der Efecte-Web API Dienste und fügen Sie dieser Rolle einen oder mehrere Benutzer hinzu.) Alle Vorgänge werden mit den Berechtigungen des authentifizierten Efecte-Benutzers ausgeführt. Diese Berechtigungen definieren, auf welche Vorlagen, Attribute und Ordner der Webdienstbenutzer zugreifen darf.

Der Root-Benutzer sollte nicht als Web API Benutzer verwendet werden, da er Zugriff auf alles hat. Daher kann die Verwendung von Root gefährlich sein. Bei der Untersuchung von Problemen mit der Web API kann es jedoch hilfreich sein, den Web API Benutzer auf Root-Ebene zu befördern, um zu überprüfen, ob Probleme mit den Berechtigungen vorliegen oder ob die Probleme durch die Web API Anforderung selbst verursacht werden.

Web- API Benutzer erstellen

  • Erstellen Sie eine Rolle und wählen Sie die Web API Produktberechtigung aus.
  • Fügen Sie der Rolle Ordnerberechtigungen hinzu.
  • Fügen Sie der Rolle Vorlagenberechtigungen hinzu.
  • Erstellen Sie einen Web API Benutzer.
  • Fügen Sie der zuvor erstellten Rolle einen Benutzer hinzu.
  • Testen Sie, ob Sie die gewünschten Operationen über die Web API durchführen können. Dies können Sie im Browser mit /search.ws?query=select count(id) from entity tun.

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Beschreibung der Effektabfragesprache

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand