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.

Finnish
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Alusta
  • ESM
  • Muu tekninen ESM-dokumentaatio
  • WebAPI

Efecte Web API -kuvaus

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.

  • Palveluhallinta
    Matrix42 Core -ratkaisu Matrix42 Intelligence Matrix42 Professional -ratkaisu
  • Identity Governance and Administration (IGA)
    IGA-ratkaisukirjasto IGA-yleiskatsaus
  • Alusta
    ESM ESS2 ESS Efecte Chat for Service Management Lisäosat
  • Julkaisutiedot M42 Professionalille, IGA:lle ja konversationaaliselle tekoälylle
    2026.1 2025.3 2025.2 2025.1 2024.2 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Julkaisutiedot ja käytännöt
  • Muu materiaali
    Saavutettavuusselosteet Termit ja dokumentaatio-ohjeet
  • Palvelut
+ More
    • Palveluhallinta

    • Identity Governance and Administration (IGA)

    • Alusta

    • Julkaisutiedot M42 Professionalille, IGA:lle ja konversationaaliselle tekoälylle

    • Muu materiaali

    • Palvelut

Efecte Web API -kuvaus

Tässä osiossa kuvataan Efecte Web API ja miten ulkoiset sovellukset käyttävät sitä integroituakseen Efecteen. API perustuu tavalliseen HTTP-protokollaan. Efecte Web API -metodeja kutsutaan osoitteesta Efecte-URL + /serviceName, jossa serviceName on kutsuttavan palvelun nimi. Esimerkiksi: https://localhost:8080/esm/search.ws tai Efecte-pilvessä https://base_url/api/itsm/search.ws.

Ennen Web API:n käyttöä tutustu lukuun ”Todennus”, jossa kuvataan Web API:n todennus ja annetaan lisätietoja rooleista ja käyttöoikeuksista. Tässä luvussa käsitellään myös web API -roolin ja -käyttäjän luomista. Web API -käyttäjän on oltava paikallinen ESM-tili, ei EIM-tili, jota käytetään pilviympäristön kirjautumisiin.

Jotkin toiminnot voivat olla hitaita käsitellä. Esimerkiksi moniarvoisia viittauksia tuovat toiminnot vievät yleensä enemmän aikaa kuin tuonnit ilman viittauksia. Myös monimutkaiset lausekkeet mallissa voivat hidastaa tuontien käsittelyä. Tulokset kannattaa aina rajata where-ehdolla ja esimerkiksi templateCode-parametrilla search.ws-palvelussa.

DataCardImport-palvelu

Jotta Efecteen voidaan luoda uusi tietokortti, käyttäjän on kutsuttava dataCardImport-palvelua. Palvelu ottaa vastaan tietokortin XML:n HTTP-pyynnön sisältönä (BODY), joten kutsujan on tunnettava XML-syntaksi ja luotavan tietokortin Efecte-skeema. Tässä dokumentissa ei kuvata XML-skeemaa, joten katso lisätietoja dokumentista Efecte XML-skeeman kuvaus saadaksesi lisätietoja aiheesta. createDataCards -parametri on asetettava arvoon true, kun luodaan uusia tietokortteja.

Olemassa olevan tietokortin muokkaamiseksi lähetetyssä XML:ssä on oltava vähintään yksi tietokortin kenttä, joka on määritetty Efectessä yksilölliseksi (unique). Efecte yrittää tällöin kohdistaa saapuvan datan tietokorttiin ja päivittää vastaavan kortin. updateDataCards -parametri on asetettava arvoon true, kun olemassa olevia tietokortteja muokataan.

Tietokortteja päivitettäessä XML:n attribuuttiarvot korvaavat olemassa olevat arvot, ja kentät, joita XML:ssä ei ole, säilyvät Efectessä ennallaan. Jos haluat poistaa attribuuttiarvoja Efectestä, jätä XML:n value-elementti tyhjäksi ja käytä removeEmptyValues-parametria.
Huomaa, että integraatiotarkoituksissa on hyvä käytäntö tuoda vain yksi tietokortti kerrallaan ja pitää liikennemäärä kohtuullisena seuraavista syistä:

  • Virheiden tarkastelu on helpompaa, koska tuonnin virheelliset entiteetit voidaan tunnistaa heti.
  • Suurten tietokorttimäärien tuonti voi aiheuttaa aikakatkaisuja.

HTTP-parametrit

Seuraavassa on luettelo mahdollisista käytettävistä HTTP-parametreista (DataCardImport-palvelun HTTP-parametrit):

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

updateDataCards

 

{true, false}

true

Päivitetäänkö täsmäävät tietokortit

createDataCards

 

{true, false}

true

Luodaanko täsmäämättömät tietokortit

createStaticAttributes

 

{true, false}

false

Luodaanko uudet staattiset arvot

createEmptyReferences

 

{true, false}

false

Luodaanko täsmäämättömät viittaukset tyhjinä tietokortteina

ignoreUniqueCheck

 

{true, false}

false

Ohitetaanko tietokortin kenttien yksilöllisyystarkistukset

restrictUpdateToFolderId

 

Kelvollinen Efecten tietokorttikansion ID

 

Määrittää kansion, johon tietokorttien päivittäminen rajataan. Tämän parametrin voi lisätä useita kertoja. restrictUpdateToFolderCode-parametria ei saa käyttää, kun restrictUpdateToFolderId on käytössä.

restrictUpdateToFolderCode

 

Kelvollinen Efecten tietokorttikansion koodi

 

Määrittää kansion, johon tietokorttien päivittäminen rajataan. Tämän parametrin voi lisätä useita kertoja. restrictUpdateToFolderId-parametria ei saa käyttää, kun restrictUpdateToFolderCode on käytössä.

folderId

Kyllä*

Kelvollinen Efecten tietokorttikansion ID

 

Määrittää folderId-parametrilla kansion, johon uudet tuodut tietokortit luodaan

folderCode

Kyllä*

Kelvollinen Efecten tietokorttikansion koodi

 

Määrittää folderCode-parametrilla kansion, johon uudet tuodut tietokortit luodaan

removeEmptyValues

 

{true, false}

false

Jos arvoksi asetetaan true, Efecte poistaa tietokortin arvot, jotka on merkitty XML:ssä tyhjällä value-elementillä

version

 

Mitä DataCardImport-palvelun versiota käytetään vastauksessa

 

Jos arvo on ”1.1”, palautetun XML:n juurielementti on aina <response>, eli käytössä on web-api-import-response-1_1.xsd. Muussa tapauksessa käytetään web-api-import-response.xsd:tä (juurielementti on <entity-import-report> tai <error>).

* Parametreissa on oltava joko folderId tai folderCode

Virheet DataCardImport-palvelussa

Yleisesti ottaen, jos jokin pakollisista parametreista (lueteltu taulukossa 7) puuttuu tai sisältää virheellisiä arvoja, palautetaan Web API -virhe. Näin tapahtuu myös Web API:n todennus- ja valtuutusvirheiden yhteydessä. (Katso lisätietoja Web API -virheistä luvusta 5, Web API -virheet.).

Jos taas jotain muuta menee pieleen joidenkin tietokorttien tuonnin aikana (esimerkiksi tuotavien korttien malli on väärin konfiguroitu), DataCardImport-palvelu palauttaa <entity-import-report>-elementin, joka sisältää tietoa käsitellyistä tietokorteista ja tuonnin aikana tapahtuneista virheistä.

Tuotavien arvojen tulee olla <value>-elementin sisällä. Jos arvot tuodaan <reference>-elementtien sisällä, tämä luo virheellisiä viittauksia itse tietokorttiin. Jos viittauksia tarvitaan, varmista, että web API -käyttäjällä on käyttöoikeus malliin, johon viitataan, muuten viittausta ei luoda. Viittausten on kohdistuttava mallin ensisijaiseen arvoon.

Esimerkkipyyntö ja -vastaus

Pyyntö

Palvelu: dataCardImport.ws

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

Sanoman sisältö:

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

Vastaus

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

Delete-palvelu

Olemassa olevan tietokortin poistamiseksi Efectestä käyttäjän on kutsuttava delete-palvelua. Palvelu voi poistaa tietokortteja kahden eri kriteerin perusteella:

  • Tietokortin sisäinen ID (entity ID).
  • Hakukysely; kyselyä vastaavat tietokortit poistetaan.

HTTP-parametrit

Delete-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

ids

Kyllä*

 

 

Pilkuilla eroteltu luettelo sisäisistä tietokortin (entity) ID-arvoista, jotka yksilöivät poistettavat tietokortit

query

Kyllä*

 

 

EQL-kysely, joka määrittää poistettavat tietokortit. Kyselyn on oltava sellainen, että kun se annetaan Search-verkkopalvelulle, se palauttaa dataa Efecten tietokortin XML (entity XML) -muodossa, eli kyselyn on oltava muotoa ”select entity from entity [...]”.

useTrashcan

 

{true, false}

false

Oletusarvoisesti tietokortit poistetaan pysyvästi, eli niitä ei vain siirretä roskakoriin. Jos tämä parametri asetetaan arvoon ”true”, roskakoria käytetään samalla tavalla kuin tietokortteja normaalisti poistettaessa Efecten verkkokäyttöliittymän kautta. Tässä tilassa tietokortit poistetaan pysyvästi vain, jos ne olivat jo roskakorissa.

* Jompikumpi kahdesta parametrista (ids, query) on pakollinen. Parametrit käsitellään tässä järjestyksessä, ja vain yksi niistä otetaan huomioon palvelun yhdellä kutsukerralla. Jos sekä ids- että query-parametri on määritetty, palvelu jättää query-parametrin huomiotta ja yrittää poistaa tietokortit vain ids-parametrin perusteella.

Esimerkkipyyntö ja -vastaus, tietokortin poistaminen Entity ID:llä

Pyyntö

Palvelu: delete.ws

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

Vastaus

<?xml version="1.0" encoding="utf-8"?>

<entity-delete-report>

   <successful-deletions count="1"/>

   <failed-deletions count="0"/>

</entity-delete-report>

Esimerkkipyyntö ja -vastaus, tietokortin poistaminen EQL:llä

Pyyntö

Palvelu: delete.ws

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

URL-esimerkki:
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'

Vastaus

<?xml version="1.0" encoding="utf-8"?>

<entity-delete-report>

   <successful-deletions count="1"/>

   <failed-deletions count="0"/>

</entity-delete-report>

Search-palvelu

Tietokorttien hakemiseksi Efecte tarjoaa dataCardSearch-verkkopalvelun, joka ottaa vastaan EQL (Efecte Query Language) -kyselyn ja palauttaa tulokset XML-muodossa. Katso luku 2, jossa on lisätietoja EQL-kyselyjen muodostamisesta.

Search-palvelun palauttama XML on jossakin seuraavista kolmesta muodosta:

  • Entity XML
  • Template XML
  • “Generic” XML

Entity XML ja Template XML on kuvattu Efecte XML-skeeman kuvaus -dokumentissa. ”Generic”-muotoinen XML kuvataan esimerkein alla. Huomaa, että generic-muoto voi sisältää täydellisiä Entity XML- ja Template XML -instansseja EQL-kyselystä riippuen.

Päivämääräarvot palautetaan aina muodossa yyyy-MM-dd HH:mm:ss z, ISO 8601 -standardin mukaisesti. Huomaa, että aikavyöhykkeen nimi sisältyy loppuun. Käytössä on aina JVM:n tai tietokannan oletusaikavyöhyke. Huomaa, että jos ”multiple time zone support” (usean aikavyöhykkeen tuki) on käytössä, tämä voi poiketa Entity XML:stä, jossa päivämäärä- ja aika-arvot mukautetaan verkkopalvelun käyttäjän aikavyöhykeasetuksen mukaan.

Desimaaliluvuissa käytetään desimaalierottimena pistettä (.). Vastaus-XML:ssä käytettävä merkistökoodaus riippuu webservice.response.encoding-kehysasetuksesta (framework property). Oletuskoodaus on UTF-8.

Jos poistettuja tai piilotettuja tietokortteja ei tarvitse näyttää, käytä entity.deleted=0 tai entity.hidden=0 query-parametrissa.

Generic Result XML

Generic-hakutulosten mahdolliset datatyyppielementit:

Elementti

Huomautukset

<date>

Käytettävä muoto on aina yyyy-MM-dd HH:mm:ss z.

<decimal>

Desimaaliluvut; desimaalierotin on aina ”.” (piste)

<integer>

Kokonaisluvut

<string>

Monet Efecten datatyypit (ei vain ”text” ja ”string”, vaan myös esimerkiksi ”external references”) tulostetaan merkkijonona (string)

<null>

Null-arvot ovat erikoistapaus. Esimerkiksi merkkijonoattribuutti, jonka arvo on null, ei näy muodossa <string></string> tai <string>null</string>, vaan yksinkertaisesti muodossa <null/>

HTTP-parametrit

Search-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

query

Kyllä

Mikä tahansa kelvollinen EQL-kysely

 

Määrittää hakukyselyn. Lisätietoja luvussa 2.

attributeCodes

 

Mikä tahansa kelvollinen mallin attributeCode

 

Palauttaa mallista vain annetut attributeCodes-arvot

Esimerkkipyyntö ja -vastaus, palauttaa vain entiteettien nimet

Yksinkertaiseen EQL-kyselyyn vastauksena palautetaan asiakirja, joka koostuu <string>-arvoista suoraan <result>-elementin alla.

Pyyntö

Palvelu: search.ws

EQL: SELECT entity.name FROM entity WHERE entity.folder.name = 'Incident management'

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

Vastaus

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

Esimerkkipyyntö ja -vastaus, mallin attribuuttikoodien käyttö

Kun valitaan useita kenttiä, tulokset ryhmitellään <row>-elementeillä. Huomaa, että merkkijonojen järjestys rivin sisällä vastaa attribuuttien järjestystä select-lauseessa (sijainnit ovat sidottuja).

Pyyntö

Palvelu: search.ws

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

URL-esimerkki: 
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'

Vastaus

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

Esimerkkipyyntö ja -vastaus, kansion nimen ja viittausdatan kohteen palauttaminen

Tässä tapauksessa generic-tulos-XML sisältää täydellisiä Entity XML -asiakirjoja ”upotettuna” siihen, yksinkertaisten <string>-arvojen ohella:
Pyyntö

Palvelu: search.ws

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


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

Vastaus

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

Esimerkkipyyntö ja -vastaus, annettujen attribuuttien palauttaminen attributeCodes-parametrilla

attrbuteCodes määrittää, mitkä attribuutit palautetaan vastaussanomassa. Näin web API ei palauta attribuutteja, joita käyttäjä ei tarvitse.

Pyyntö

Palvelu: search.ws

EQL: SELECT entity FROM entity WHERE template.code='workstation'

AttributeCodes: efecte_id,workstation_model,status


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

Vastaus

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

FileMetaData-palvelua käytetään tietokorttiin liitettyjen tiedostoliitteiden tietojen hakemiseen. Jos tietokortissa on useita liitteitä sisältäviä kenttiä, kaikkien näiden liitteiden tiedot palautetaan samalla kertaa. Tämä tekee API:sta vähemmän monisanaisen.

Efecte 4.2:sta alkaen Metadata-palvelu palauttaa kunkin liitteen kohdalla paitsi name myös näyttönimen (displayname). Name on sisäinen tiedostonimi (esim. ”20180717_1.xml”), jota käytetään tunnisteena File Download -palvelulle tehtävissä pyynnöissä (katso seuraava osio). Displayname on liitetiedoston alkuperäinen nimi, joka on yleensä helppolukuisempi (esim. ”readme.txt”).

HTTP-parametrit

FileMetaData-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

entityId

Kyllä

Minkä tahansa järjestelmän tietokortin ID, siis kokonaisluku

 

Määrittää tietokortin, jonka tiedostometatiedot haetaan.

Esimerkkipyyntö ja -vastaus

Pyyntö

Palvelu: fileMetadata.ws

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

Vastaus

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

FileDownload-palvelua käytetään Efectessä olevien tietokorttien liitetiedostojen lataamiseen. Tiedostot palautetaan HTTP-vastauksessa.

Asiakassovelluksen tulisi aina ensin tarkistaa vastauksen HTTP-tilakoodi. Vastauksen sisältöä voidaan tulkita pyydetyksi tiedostoksi vain, jos tilakoodi on ”200 OK”. Muita tilakoodeja, joita palvelu tyypillisesti asettaa, ovat:

  • 400 Bad Request – Jos jokin pakollisista parametreista puuttuu.
  • 403 Forbidden – Jos verkkopalvelun käyttäjällä ei ole käyttöoikeuksia määritettyyn kohteeseen.
  • tietokorttiin tai attribuuttiin.
  • 404 Not Found – Jos pyydettyä tiedostoa ei löydy.

Näissä virhetilanteissa HTTP-vastauksen sisältö on XML-muotoinen virhesanoma, joka sisältää tarkempia tietoja.

HTTP-parametrit

FileDownload-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

entityId

Kyllä

Kokonaisluku

 

Määrittää tietokortin, johon pyydetty tiedosto on liitetty.

attributeId

Kyllä

Kokonaisluku

 

Määrittää tietokortin kentän, johon pyydetty tiedosto on liitetty.

filename

Kyllä

Merkkijono

 

Määrittää pyydetyn tiedoston nimen. Tämä vastaa liitteen name-elementtiä (ei displayname-elementtiä), jonka Metadata-palvelu palauttaa.

Esimerkkipyyntö ja -vastaus

Pyyntö

Palvelu: fileDownload.ws

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

Vastaus

Tässä tapauksessa vastaus näyttää tiedoston sisällön

<?xml version="1.0" encoding="UTF-8"?>

<inventory>

   <item>

       <title>Computer</title>

       <price>1000</price>

       <company>Customer</company>

   </item>

<inventory>

FileUpload-palvelu

FileUpload-palvelua käytetään tiedostojen lataamiseen Efecten tietokorttiin. FileUpload-palvelu jäsentää HTTP-pyyntöjä, jotka noudattavat RFC 1867 -standardia (”Form-based File Upload in HTML”). Toisin sanoen HTTP-pyyntö lähetetään POST-metodilla ja sisältötyypillä ”multipart/form-data”. Tarvittaessa on mahdollista lähettää useita tiedostoja kerralla.

Tietokortti on luotava, ennen kuin siihen voi ladata tiedoston! FileUpload-palvelu ei luo uutta tietokorttia.

HTTP-parametrit

FileUpload-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

entityId

Kyllä

Kokonaisluku

 

Määrittää tietokortin, johon ladattava tiedosto liitetään.

attributeId

Kyllä

Kokonaisluku

 

Määrittää tietokortin kentän, johon ladattava tiedosto liitetään.

operationType

 

Merkkijono

 

”add” tarkoittaa, että ladattava tiedosto lisätään muiden mahdollisesti jo valitussa kentässä olevien tiedostojen joukkoon.

”set” tarkoittaa, että ladattava tiedosto korvaa valitussa kentässä jo olevat tiedostot. Oletustoiminto on ”set”.

Esimerkkipyyntö ja -vastaus

Pyyntö

Palvelu: fileUpload.ws 

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

Content-Type: multipart/form-data

Vastaus

<?xml version="1.0" encoding="utf-8"?>

<attachment-upload-result>

   <attachment>

       <name>20180717_15.xml</name>

   </attachment>

</attachment-upload-result>

Vaiheittainen esimerkki tietokortin luomisesta ja tiedoston lataamisesta siihen

Tämä vaiheittainen esimerkki näyttää kaikki vaiheet, jotka tarvitaan tiedoston lataamiseen alusta alkaen. Avainattribuutit on lihavoitu. Se koostuu seuraavista vaiheista:

  1. Tietokortin tuonti (luonti).
  2. Tietokortin entityId:n kysely.
  3. Mallin tiedostoliiteattribuutin attributeId:n selvittäminen.
  4. Tiedoston lataaminen luotuun tietokorttiin.

Ensin on luotava tietokortti:

Pyyntö

Palvelu: dataCardImport.ws

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

Sanoman sisältö:

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

Vastaus

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

Ennen kuin tiedosto voidaan ladata, entityId ja attributeId on tunnettava juuri luodun tietokortin tiedostoliitteille. Alla on kysely, jota voidaan käyttää entityId:n hakemiseen ja myös muun datan tarkistamiseen:

Pyyntö

Palvelu: search.ws

EQL: SELECT entity FROM entity WHERE template.code='incident' AND $created$>'NOW-1m' AND $created$<'NOW'
AttributeCodes: efecte_id,file_attachments,status,subject,description,created

URL-esimerkki:
 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'

Vastaus

<?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 voidaan hakea esimerkiksi seuraavilla tavoilla:

Hallintasivun kautta, valitsemalla oikea malli ja muokkaamalla attribuuttia, jonka attributeId tarvitaan. Kun attribuutti avataan, id on viimeisen /-merkin jälkeiset numerot, esim.:
https://localhost:8080/esm/EfecteFrameset.do#/admin/templates/edit/2597/2680/2696

Search-palvelua käyttämällä mallin skeeman hakemiseksi.

Kysely mallin skeemasta:

Pyyntö

Palvelu: search.ws

EQL: SELECT template FROM template WHERE template.code='incident'

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

Vastaus
Vastauksesta on löydettävä <attribute>, jossa <code> on tiedostoliiteattribuutin attribuuttikoodi, ja tästä attribuutista halutaan hakea arvo elementille <class-attribute-id>, esimerkiksi:

…

<attribute>

               <id>2695</id>

               <class-attribute-id>2696</class-attribute-id>

               <code>file_attachments</code>

               <name>File attachments</name>

…

Nyt kun meillä on entityId ja attributeId, voimme ladata tiedoston:

Pyyntö

Palvelu: fileUpload.ws 

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

Content-Type: multipart/form-data

Vastaus

<?xml version="1.0" encoding="utf-8"?>

<attachment-upload-result>

   <attachment>

       <name>20180904_1.xml</name>

   </attachment>

</attachment-upload-result>

Tietokortin skeeman hakeminen

Efecten tietokortin metatietoihin, eli tietoon siitä, mitä kenttiä se voi sisältää ja niiden ominaisuuksiin, pääsee käsiksi dataCardSearch-verkkopalvelun kautta malleihin kohdistuvalla EQL-kyselyllä. Seuraavassa on esimerkki EQL-kyselystä, joka valitsee kaikki mallit:

SELECT template FROM template

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

Tietoturva

Salaus

HTTP-perustodennus lähettää tunnistetiedot selkotekstinä, joten HTTPS:n käyttö on välttämätöntä.

Todennus


Efecten web API -palvelut todennetaan HTTP-perustodennuksella. Verkkopalvelujen käyttöä varten Efecteen on luotava tunnistetiedot. (Luo käyttöoikeuspuussa rooli, jolla on oikeus käyttää Efecte Web API -palveluita, ja lisää rooliin yksi tai useampi käyttäjä.) Kaikki toiminnot suoritetaan todennetun Efecte-käyttäjän käyttöoikeuksilla. Nämä käyttöoikeudet määrittävät, mihin malleihin, attribuutteihin ja kansioihin verkkopalvelun käyttäjällä on pääsy.

Root-käyttäjää ei tulisi käyttää Web API -käyttäjänä, koska sillä on pääsy kaikkeen, minkä vuoksi rootin käyttö voi olla vaarallista. Web API -ongelmia selvitettäessä Web API -käyttäjän nostaminen väliaikaisesti root-tasolle voi kuitenkin auttaa tarkistamaan, johtuvatko ongelmat käyttöoikeuksista vai itse Web API -pyynnöstä.

Web API -käyttäjän luominen

  • Luo rooli ja valitse Web API -tuoteoikeus.
  • Lisää roolille kansio-oikeudet.
  • Lisää roolille malliin liittyvät oikeudet.
  • Luo web API -käyttäjä.
  • Lisää käyttäjä aiemmin luotuun rooliin.
  • Testaa, että pystyt suorittamaan halutut toiminnot web API:n kautta. Tämän voi tehdä selaimessa osoitteella /search.ws?query=select count(id) from entity
     

 

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Related Articles

  • Efecte-kyselykielen kuvaus
  • Web API -virheet
  • Web API: vianmääritys ja testiesimerkit

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand