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.

Polish
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Platforma
  • ESM
  • Inna dokumentacja techniczna ESM
  • Interfejs API sieci Web

Opis efektów API sieci Web

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.

  • Zarządzanie usługami
    Rozwiązanie Matrix42 Professional Rozwiązanie Matrix42 Core Zarządzanie usługami przedsiębiorstwa Inteligencja Matrix42
  • Zarządzanie tożsamością i administracja ( IGA )
    Przegląd IGA Biblioteka rozwiązań IGA
  • Platforma
    ESM ESS2 ES Efecte Chat do zarządzania usługami Efektywne integracje Dodatki
  • Informacje o wydaniu dla M42 Core & Pro , IGA , Conversational AI
    2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Informacje i zasady dotyczące wydania
  • Inny materiał
    Wytyczne uid terminów i dokumentacji Oświadczenia dotyczące dostępności
  • Usługi
+ More
    • Zarządzanie usługami

    • Zarządzanie tożsamością i administracja ( IGA )

    • Platforma

    • Informacje o wydaniu dla M42 Core & Pro , IGA , Conversational AI

    • Inny materiał

    • Usługi

Opis efektów API sieci Web

W tej sekcji opisano interfejs API Efecte Web oraz aplikacje zewnętrzne, które integrują się z Efecte. Interfejs API jest oparty na standardowym protokole HTTP. Metody API Efecte Web są wywoływane z adresu URL Efecte + /serviceName, gdzie serviceName to nazwa usługi, którą chcemy wywołać. Na przykład: https://localhost:8080/esm/search.ws lub w chmurze Efecte https://base_url/api/itsm/search.ws .

Przed użyciem API zapoznaj się z rozdziałem „Uwierzytelnianie”, który opisuje uwierzytelnianie w interfejsie Web API i zawiera dodatkowe informacje na temat ról i uprawnień. W tym rozdziale opisano również, jak utworzyć rolę i użytkownika interfejsu Web API . Użytkownik interfejsu Web API musi być lokalnym kontem ESM, a nie kontem EIM używanym do logowania się do środowiska chmurowego.

Niektóre operacje mogą być powolne w przetwarzaniu. Na przykład operacje importujące referencje wielowartościowe zazwyczaj zajmują więcej czasu niż importy bez referencji. Skomplikowane wyrażenia w szablonie mogą również spowolnić przetwarzanie importów. Zawsze należy filtrować wyniki za pomocą słów kluczowych where i eg templateCode w pliku search.ws.

Usługa importu kart danych

Aby utworzyć nową kartę danych w Efecte, użytkownik musi wywołać usługę dataCardImport. Usługa przyjmuje kod XML karty danych jako treść HTTP, więc osoba wywołująca musi znać składnię XML i schemat Efecte dla utworzonej karty danych. Niniejszy dokument nie określa schematu XML, dlatego zapoznaj się z opisem schematu XML w Efecte, aby uzyskać informacje na ten temat. Parametr createDataCards musi być ustawiony na wartość true podczas tworzenia nowych kart danych.

Aby zmodyfikować istniejącą kartę danych, w przesłanym pliku XML musi znajdować się co najmniej jedno pole karty danych, które jest zdefiniowane jako unikalne w systemie Efecte. Następnie system Efecte próbuje dopasować przychodzące dane do karty danych i zaktualizować dopasowaną kartę. Parametr updateDataCards musi być ustawiony na wartość true podczas modyfikowania istniejących kart danych.

Podczas aktualizacji kart danych, wartości atrybutów XML zastępują istniejące wartości, a pola, które nie występują w XML, pozostają niezmienione w Efecte. Aby usunąć wartości atrybutów z Efecte, pozostaw element wartości w pliku XML pusty i użyj parametru removeEmptyValues.
Należy pamiętać, że w celach integracyjnych dobrym sposobem obsługi importów jest importowanie tylko jednej karty danych na raz i utrzymywanie ruchu na rozsądnym poziomie z następujących powodów:

  • Kontrola błędów jest łatwiejsza, ponieważ błędne jednostki importowane można natychmiast zidentyfikować.
  • Importowanie pewnej liczby kart danych może powodować przekroczenie limitu czasu.

Parametry HTTP

Poniżej znajduje się lista możliwych parametrów HTTP, które można wykorzystać (parametry HTTP usługi DataCardImport):

Nazwa parametru

Wymagany

Możliwe wartości

Domyślny

Opis

aktualizacja kart danych

{prawda, fałsz}

PRAWDA

Czy dopasowane karty danych są aktualizowane?

utwórz karty danych

{prawda, fałsz}

PRAWDA

Czy tworzone są niedopasowane karty danych?

utwórz atrybuty statyczne

{prawda, fałsz}

FAŁSZ

Czy tworzone są nowe wartości statyczne?

utwórz puste referencje

{prawda, fałsz}

FAŁSZ

Czy niepasujące odniesienia są tworzone jako puste karty danych?

zignorujUniqueCheck

{prawda, fałsz}

FAŁSZ

Czy kontrole unikalności pól kart danych są ignorowane?

ogranicz aktualizację do identyfikatora folderu

Prawidłowy identyfikator folderu karty danych w Efecte

Ustawia folder, do którego ograniczona jest aktualizacja karty danych. Ten parametr można dodać wielokrotnie. Użycie parametru restrictUpdateToFolderCode jest niedozwolone, gdy używany jest parametr restrictUpdateToFolderId.

ogranicz aktualizację do kodu folderu

Prawidłowy kod folderu karty danych w Efecte

Ustawia folder, do którego ograniczona jest aktualizacja karty danych. Ten parametr można dodać wielokrotnie. Użycie restrictUpdateToFolderId jest niedozwolone, gdy używany jest restrictUpdateToFolderCode.

identyfikator folderu

Tak*

Prawidłowy identyfikator folderu karty danych w Efecte

Ustawia folder z folderId, w którym będą tworzone nowe importowane karty danych

Kod folderu

Tak*

Prawidłowy kod folderu karty danych w Efecte

Ustawia folder z kodem folderu, w którym zostaną utworzone nowe importowane karty danych

usuń puste wartości

{prawda, fałsz}

FAŁSZ

Jeśli ustawione na true, Efecte usuwa wartości kart danych, które są oznaczone w pliku XML pustym elementem wartości

wersja

Która wersja usługi DataCardImport powinna zostać użyta w odpowiedzi

Jeśli wartość wynosi „1.1”, elementem głównym w zwróconym pliku XML będzie zawsze <response>, tj. używany jest plik web-api-import-response-1_1.xsd. W przeciwnym razie używany jest plik web-api-import-response.xsd (elementem głównym jest <entity-import-report> lub <error>).

* W parametrach musi być uwzględniony folderId lub folderCode

Błędy w imporcie DataCard

Zasadniczo, jeśli którykolwiek z wymaganych parametrów (wymienionych w Tabeli 7) jest brakujący lub zawiera nieprawidłowe wartości, zwracany jest błąd API Web. Dotyczy to również błędów uwierzytelniania i autoryzacji API Web. (Więcej informacji na temat błędów API API można znaleźć w rozdziale 5 „Błędy interfejsu API Web”).

Jeśli jednak podczas importowania niektórych kart danych wystąpi jakiś błąd (np. szablon importowanych kart zostanie nieprawidłowo skonfigurowany), usługa DataCardImport zwróci zawierające informacje o obsłużonych kartach danych i wszelkich błędach, które wystąpiły podczas importu.

Wartości do zaimportowania powinny znajdować się w elemencie <value>. Importowanie wartości w obrębie elementów <reference> spowoduje utworzenie błędnych odwołań do samej karty danych. Jeśli odwołania są potrzebne, upewnij się, że użytkownik interfejsu API ma dostęp do szablonu, do którego się odwołujesz, w przeciwnym razie odwołanie nie zostanie utworzone. Odwołania muszą być skierowane do głównej wartości szablonu.

Przykładowe żądanie i odpowiedź

Wniosek

Usługa: dataCardImport.ws

Przykład adresu URL:
https://localhost:8080/esm/dataCardImport.ws?folderCode=incident_management

Treść wiadomości:

<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>

Odpowiedź

<?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>

Usuń usługę

Aby usunąć istniejącą kartę danych z Efecte, użytkownik musi wywołać usługę usuwania. Usługa może usuwać karty danych na podstawie dwóch różnych kryteriów:

  • Wewnętrzny identyfikator karty danych (identyfikator podmiotu).
  • Zapytanie wyszukiwania; karty danych odpowiadające zapytaniu zostaną usunięte.

Parametry HTTP

Usuń parametry HTTP usługi:

Nazwa parametru

Wymagany

Możliwe wartości

Domyślny

Opis

identyfikatory

Tak*

Lista identyfikatorów wewnętrznych kart danych (jednostek) rozdzielonych przecinkami, identyfikująca karty danych przeznaczone do usunięcia

zapytanie

Tak*

Zapytanie EQL określające karty danych do usunięcia. Zapytanie musi być tak sformułowane, aby po przekazaniu do usługi sieciowej Search zwracało dane w formacie XML karty danych Efecte (XML encji), tj. zapytanie musi mieć postać „wybierz encję z encji [...]”.

użyjKosza na śmieci

{prawda, fałsz}

FAŁSZ

Domyślnie karty danych są trwale usuwane; innymi słowy, nie są one po prostu przenoszone do kosza. Ustawienie tego parametru na „true” spowoduje, że zostanie użyty kosz, podobnie jak w przypadku normalnego usuwania kart danych za pośrednictwem interfejsu internetowego Efecte. W tym trybie karty danych zostaną trwale usunięte tylko wtedy, gdy znajdowały się już w koszu.

* Wymagany jest jeden z dwóch parametrów (ids, query). Parametry są obsługiwane w tej kolejności i tylko jeden będzie brany pod uwagę przy jednym wywołaniu usługi. Jeśli określone zostaną zarówno parametry ids, jak i query, usługa zignoruje parametr query i podejmie próbę usunięcia kart danych wyłącznie na podstawie parametru ids.

Przykładowe żądanie i odpowiedź, usuwanie karty danych z identyfikatorem jednostki

Wniosek

Usługa: delete.ws

Przykład adresu URL:
https://localhost:8080/esm/delete.ws?ids=15021

Odpowiedź

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

Przykładowe żądanie i odpowiedź, usuwanie karty danych za pomocą EQL

Wniosek

Usługa: delete.ws

EQL : WYBIERZ $efecte_id$, $subject$, $status$ Z entity GDZIE entity.template.code = 'incident' I $efecte_id$='INC-000270'

Przykład adresu URL:
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'

Odpowiedź

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

Usługa wyszukiwania

Aby przeszukiwać karty danych, Efecte oferuje usługę internetową dataCardSearch, która przyjmuje zapytanie EQL (Efecte Query Language) i zwraca wyniki w formacie XML. Więcej informacji na temat konstruowania zapytań EQL można znaleźć w rozdziale 2.

Dane XML zwrócone przez usługę wyszukiwania mają jeden z trzech następujących formatów:

  • Jednostka XML
  • Szablon XML
  • „Ogólny” XML

Entity XML i Template XML są opisane w dokumencie Efecte XML Schema Description . „Ogólny” format XML jest opisany poniżej wraz z przykładami. Należy pamiętać, że ogólny format może obejmować kompletne wystąpienia Entity XML i Template XML, w zależności od zapytania EQL .

Wartości dat są zawsze zwracane w formacie rrrr-MM-dd GG:mm:ss z , zgodnie ze standardem ISO 8601. Należy pamiętać, że nazwa strefy czasowej jest dołączona na końcu. Używana strefa czasowa to zawsze domyślna strefa czasowa maszyny wirtualnej Java (JVM) lub bazy danych. Należy pamiętać, że jeśli włączona jest obsługa wielu stref czasowych, może to różnić się od wartości w formacie Entity XML, gdzie wartości daty i godziny są dostosowywane do ustawienia strefy czasowej użytkownika usługi sieciowej.

W liczbach dziesiętnych kropka (.) jest używana jako separator dziesiętny. Kodowanie znaków używane w odpowiedzi XML zależy od właściwości frameworka webservice.response.encoding . Domyślne kodowanie to UTF-8.

Jeśli nie ma potrzeby wyświetlania usuniętych lub ukrytych kart danych, użyj entity.deleted=0 lub entity.hidden=0 w parametrach zapytania.

Wynik ogólny XML

Możliwe elementy typu danych dla ogólnych wyników wyszukiwania:

Element

Notatki

<data>

Używany wzór to zawsze yyyy-MM-dd HH:mm:ss z.

<dziesiętne>

Liczby dziesiętne; separatorem dziesiętnym jest zawsze „.” (kropka).

<liczba całkowita>

Liczby całkowite

<ciąg>

Wiele typów danych Efecte (nie tylko „tekst” i „ciąg”, ale także „odniesienia zewnętrzne” itd.) jest wyprowadzanych jako ciągi

<null>

Wartości null to przypadek szczególny. Na przykład atrybut ciągu znaków, który ma wartość null, nie będzie wyświetlany jako <string></string> ani <string>null</string>, ale po prostu jako <null/>.

Parametry HTTP

Parametry HTTP usługi wyszukiwania:

Nazwa parametru

Wymagany

Możliwe wartości

Domyślny

Opis

zapytanie

Tak

Dowolne prawidłowe zapytanie EQL

Określa zapytanie wyszukiwania. Więcej informacji znajdziesz w rozdziale 2.

kody atrybutów

Dowolny prawidłowy kod atrybutu z szablonu

Zwraca tylko podane kody atrybutów dla szablonu

Przykładowe żądanie i odpowiedź, zwraca tylko nazwy jednostek

Dokument składający się z wartości <string>, znajdujących się bezpośrednio pod elementem <result>, jest zwracany w odpowiedzi na proste zapytanie EQL .

Wniosek

Usługa: search.ws

EQL : SELECT entity.name FROM entity WHERE entity.folder.name = 'Zarządzanie incydentami'

Przykład adresu URL:
https://localhost:8080/esm/search.ws?query=select%20entity.name%20from%20entity%20where%20entity.folder.name%20%3D%20'Zarządzanie incydentami'

Odpowiedź

<?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>

Przykładowe żądanie i odpowiedź, wykorzystujące kody atrybutów szablonu

W przypadku wybrania kilku pól wyniki są grupowane za pomocą Elementy. Zwróć uwagę, że kolejność ciągów znaków w wierszu jest taka sama jak kolejność atrybutów w elemencie select (pozycje są ograniczone).

Wniosek

Usługa: search.ws

EQL : WYBIERZ $efecte_id$, $subject$, $status$ Z entity GDZIE entity.template.code = 'incident'

Przykład adresu URL:
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'

Odpowiedź

<?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>

Przykładowe żądanie i odpowiedź, nazwa folderu zwrotnego i dane docelowe odniesienia

W tym przypadku ogólny wynik XML obejmuje kompletne dokumenty Entity XML „osadzone” w nim, wraz z prostymi wartościami <string>:
Wniosek

Usługa: search.ws

EQL : WYBIERZ entity.folder.name, entity.referenceData.target Z entity GDZIE entity.templateId = 2597


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

Odpowiedź

<?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>

Przykładowe żądanie i odpowiedź, zwracają podane atrybuty za pomocą kodów atrybutów

Kody atrybutów definiują, które atrybuty są zwracane w komunikacie odpowiedzi. W ten sposób API internetowe nie zwróci atrybutów, których użytkownik nie potrzebuje.

Wniosek

Usługa: search.ws

EQL : WYBIERZ encję Z encji GDZIE template.code='stacja robocza'

Kody atrybutów: efecte_id, model_stacji_roboczej, status


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

Odpowiedź

<?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>

Usługa FileMetaData

Usługa metadanych plików służy do pobierania informacji o plikach załączonych do karty danych. Jeśli karta danych zawiera wiele pól z załącznikami, informacje o wszystkich tych załącznikach są zwracane jednocześnie. Dzięki temu API jest mniej rozbudowane.

Od wersji Efecte 4.2 usługa metadanych zwraca nie tylko nazwę , ale także nazwę wyświetlaną każdego załącznika. Nazwa to wewnętrzna nazwa pliku (np. „20180717_1.xml”), która jest używana jako identyfikator podczas wysyłania żądań do usługi pobierania plików (patrz następna sekcja). Nazwa wyświetlana to oryginalna nazwa pliku załącznika, która zazwyczaj jest bardziej czytelna dla człowieka (np. „readme.txt”).

Parametry HTTP

Parametry HTTP usługi FileMetaData:

Nazwa parametru

Wymagany

Możliwe wartości

Domyślny

Opis

identyfikator jednostki

Tak

Identyfikator dowolnej karty danych w systemie, zatem liczba całkowita

Określa kartę danych, której metadane pliku są pobierane.

Przykładowe żądanie i odpowiedź

Wniosek

Usługa: fileMetadata.ws

Przykład adresu URL:
https://localhost:8080/esm/fileMetadata.ws?entityId=15048

Odpowiedź

<?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>

Usługa pobierania plików

Usługa pobierania plików służy do pobierania plików dołączonych do kart danych znajdujących się w systemie Efecte. Pliki są zwracane w odpowiedzi HTTP.

Klient powinien zawsze najpierw sprawdzić kod statusu HTTP odpowiedzi. Treść odpowiedzi może zostać zinterpretowana jako żądany plik tylko wtedy, gdy kod statusu to „200 OK”. Inne kody statusu, które usługa zazwyczaj ustawia, to:

  • 400 Błędne żądanie – jeśli brakuje niektórych wymaganych parametrów.
  • 403 Zabronione – jeśli użytkownik usługi sieciowej nie ma uprawnień do określonych elementów.
  • Karta danych lub atrybut.
  • 404 Nie znaleziono – jeżeli żądany plik nie został znaleziony.

W przypadku wystąpienia tego typu błędów treść odpowiedzi HTTP stanowi komunikat o błędzie XML zawierający bardziej szczegółowe informacje.

Parametry HTTP

Parametry HTTP usługi FileDownload:

Nazwa parametru

Wymagany

Możliwe wartości

Domyślny

Opis

identyfikator jednostki

Tak

Liczba całkowita

Określa kartę danych, do której dołączony jest żądany plik.

atrybutId

Tak

Liczba całkowita

Określa pole karty danych, do którego dołączony jest żądany plik.

nazwa pliku

Tak

Smyczkowy

Określa nazwę żądanego pliku. Odpowiada ona elementowi nazwy załącznika (nie nazwie wyświetlanej) zwróconej przez usługę metadanych.

Przykładowe żądanie i odpowiedź

Wniosek

Usługa: fileDownload.ws

Przykład adresu URL:
https://localhost:8080/esm/fileDownload.ws?entityId=15048&attributeId=2696&fileName=20180717_1.xml

Odpowiedź

W tym przypadku odpowiedź pokazuje dane z pliku

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

Usługa przesyłania plików

Usługa przesyłania plików służy do przesyłania plików na kartę danych Efecte. Usługa przesyłania plików analizuje żądania HTTP zgodne ze standardem RFC 1867 „Form-based File Upload in HTML”. Oznacza to, że żądanie HTTP jest przesyłane metodą POST z typem zawartości „multipart/form-data”. W razie potrzeby możliwe jest jednoczesne przesłanie wielu plików.

Karta danych musi zostać utworzona przed przesłaniem do niej pliku! Usługa FileUpload nie tworzy nowej karty danych.

Parametry HTTP

Parametry HTTP usługi FileUpload:

Nazwa parametru

Wymagany

Możliwe wartości

Domyślny

Opis

identyfikator jednostki

Tak

Liczba całkowita

Określa kartę danych, do której ma zostać dołączony przesłany plik.

atrybutId

Tak

Liczba całkowita

Określa pole karty danych, do którego ma zostać dołączony przesłany plik.

typ operacji

Smyczkowy

„Dodaj” oznacza, że przesłany plik zostanie dodany do innych plików, które mogą już znajdować się w wybranym polu.

„Ustaw” oznacza, że przesłany plik zastępuje pliki już obecne w wybranym polu. Domyślną operacją jest „ustaw”.

Przykładowe żądanie i odpowiedź

Wniosek

Usługa: fileUpload.ws

Przykład adresu URL:
https://localhost:8080/esm/fileUpload.ws?entityId=14938&attributeId=2696&operationType=set

Typ zawartości: multipart/form-data

Odpowiedź

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

Przykład krok po kroku tworzenia karty danych i przesyłania do niej pliku

Ten przykład krok po kroku pokazuje wszystkie kroki wymagane do przesłania pliku z niczego. Kluczowe atrybuty są pogrubione. Składa się on z następujących kroków:

  1. Importowanie (tworzenie) karty danych.
  2. Zapytanie o entityId karty danych.
  3. Znajdowanie atrybutu attributeId szablonu dla atrybutu załącznika pliku.
  4. Przesyłanie pliku na utworzoną kartę danych.

Najpierw należy utworzyć kartę danych:

Wniosek

Usługa: dataCardImport.ws

Przykład adresu URL:
https://localhost:8080/esm/dataCardImport.ws?folderCode=incident_management

Treść wiadomości:

<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>

Odpowiedź

<?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>

Przed przesłaniem pliku należy znać identyfikatory entityId i attributeId dla plików załączonych do nowo utworzonej karty danych. Poniżej znajduje się zapytanie, które można wykorzystać do pobrania identyfikatora entityId oraz do walidacji innych danych:

Wniosek

Usługa: search.ws

EQL : WYBIERZ encję Z encji GDZIE template.code='incident' I $created$>'TERAZ-1m' I $created$<'TERAZ'
Kody atrybutów: efecte_id, file_attachments, status, temat, opis, utworzony

Przykład adresu URL:
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'

Odpowiedź

<?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>

AttributeId można uzyskać na przykład za pomocą następujących metod:

Poprzez stronę administracyjną , wybierając odpowiedni szablon i edytując atrybut, którego atrybutu potrzebujemy. Po otwarciu atrybutu, id to cyfry po ostatnim znaku /, np.:
https://localhost:8080/esm/EfecteFrameset.do#/admin/templates/edit/2597/2680/2696

Użycie usługi wyszukiwania w celu uzyskania schematu szablonu.

Zapytanie o schemat szablonu:

Wniosek

Usługa: search.ws

EQL : WYBIERZ szablon Z szablonu GDZIE template.code='incident'

Przykład adresu URL:
https://localhost:8080/esm/search.ws?query=select%20template%20from%20template%20where%20template.code='incident'

Odpowiedź
W odpowiedzi musimy znaleźć <attribute> , w którym <code> jest kodem atrybutu załącznika pliku, a z tego atrybutu chcemy uzyskać wartość <class-attribute-id> , na przykład:

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

Teraz, gdy mamy entityId i attributeId , możemy przesłać plik:

Wniosek

Usługa: fileUpload.ws

Przykład adresu URL:
https://localhost:8080/esm/fileUpload.ws?entityId=19221&attributeId=2696&operationType=set

Typ zawartości: multipart/form-data

Odpowiedź

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

Pobieranie schematu karty danych

Dostęp do metadanych karty danych, tj. informacji o tym, jakie pola może zawierać i jakie właściwości, można uzyskać za pośrednictwem usługi webowej dataCardSearch, wysyłając zapytanie EQL do szablonów. Oto przykładowe zapytanie EQL , które wybiera wszystkie szablony:

WYBIERZ szablon Z szablonu

Przykład adresu URL:
https://localhost:8080/esm/search.ws?query=select%20template%20from%20template%20where%20template.code='incident'

Bezpieczeństwo

Szyfrowanie

Podstawowe uwierzytelnianie HTTP polega na wysyłaniu danych uwierzytelniających w postaci zwykłego tekstu, dlatego konieczne jest korzystanie z protokołu HTTPS.

Uwierzytelnianie


Usługi API Efecte są uwierzytelniane za pomocą podstawowego uwierzytelniania HTTP. Aby korzystać z usług sieciowych, należy utworzyć dane uwierzytelniające w Efecte. (W drzewie uprawnień należy utworzyć rolę z uprawnieniami do korzystania z usług API Efecte i dodać do niej jednego lub kilku użytkowników). Wszystkie operacje są wykonywane z uprawnieniami uwierzytelnionego użytkownika Efecte. Uprawnienia te definiują, do których szablonów, atrybutów i folderów użytkownik usługi sieciowej może uzyskać dostęp.

Użytkownik root nie powinien być używany jako użytkownik Web API , ponieważ ma dostęp do wszystkiego, dlatego korzystanie z niego może być niebezpieczne. Jednak podczas badania problemów z Web API , awansowanie użytkownika Web API na poziom root może być pomocne, aby sprawdzić, czy występują problemy z uprawnieniami lub czy problemy nie są spowodowane samym żądaniem Web API .

Tworzenie użytkownika API sieci Web

  • Utwórz rolę i wybierz uprawnienie produktu Web API .
  • Dodaj uprawnienia folderu do roli.
  • Dodaj uprawnienia szablonu do roli.
  • Utwórz użytkownika API sieciowego.
  • Dodaj użytkownika do wcześniej utworzonej roli.
  • Sprawdź, czy możesz wykonywać żądane operacje za pośrednictwem interfejsu API . Możesz to zrobić w przeglądarce za pomocą polecenia /search.ws?query=select count(id) from entity.

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Opis języka zapytań Efecte

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand