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

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.

  • Palvelunhallinta
    Matrix42 Professional -ratkaisu Matrix42 Core ydinratkaisu Yrityspalveluiden hallinta Matrix42 älykkyys
  • Identiteetin hallinta ja ylläpito ( IGA )
    IGA yleiskatsaus IGA ratkaisukirjasto
  • Alusta
    ESM ESS2 ESS Efecte Chat palvelunhallintaan Efecte-integraatiot Lisäosat
  • M42 Core & Pro julkaisutiedot, IGA , keskustelupohjainen tekoäly
    2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Julkaisutiedot ja käytännöt
  • Muu materiaali
    Käyttöehdot ja dokumentaatio- uid Saavutettavuusselosteet
  • Palvelut
+ More
    • Palvelunhallinta

    • Identiteetin hallinta ja ylläpito ( IGA )

    • Alusta

    • M42 Core & Pro julkaisutiedot, IGA , keskustelupohjainen tekoäly

    • Muu materiaali

    • Palvelut

Web- API kuvaus

Tässä osiossa kuvataan Efecte Web API ja ulkoisia sovelluksia, joita käytetään integroitumaan Efecten. API perustuu HTTP-protokollan standardiin. Efecte Web API -metodit kutsutaan Efecten URL-osoitteesta + /palvelunNimi, jossa palvelunNimi 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 kirjautumiseen.

Jotkin operaatiot voivat olla hitaita käsitellä. Esimerkiksi moniarvoisten viittausten tuontioperaatiot vievät yleensä enemmän aikaa kuin tuontioperaatiot ilman viittauksia. Myös monimutkaiset lausekkeet template-tiedostossa voivat olla hitaita tuonnin käsittelyssä. Tulokset tulisi aina suodattaa pois käyttämällä where-operaattoria ja esim. templateCode-operaattoria search.ws-tiedostossa.

DataCardImport-palvelu

Luodakseen uuden datakortin Efecteen käyttäjän on käynnistettävä dataCardImport-palvelu. Palvelu ottaa datakortin XML:n HTTP BODY -muodossa, joten kutsujan on tiedettävä luodun datakortin XML-syntaksi ja Efecte-skeema. Tässä dokumentissa ei määritellä XML-skeemaa, joten katso lisätietoja Efecte XML -skeeman kuvauksesta . createDataCards- parametrin arvoksi on asetettava true, kun uusia datakortteja luodaan.

Jotta voit muokata olemassa olevaa datakorttia, lähetetyssä XML-tiedostossa on oltava vähintään yksi datakorttikenttä, joka on määritelty Efectessä yksilölliseksi. Efecte yrittää sitten yhdistää saapuvat tiedot datakorttiin ja päivittää vastaavan kortin. updateDataCards -parametrin arvoksi on asetettava true, kun olemassa olevia datakortteja muokataan.

Kun datakortteja päivitetään, XML-attribuuttiarvot korvaavat olemassa olevat arvot ja ne kentät, joita ei ole XML:ssä, säilytetään sellaisina kuin ne ovat Efectessä. Jos haluat poistaa attribuuttiarvoja Efectestä, jätä XML:n value-elementti tyhjäksi ja käytä removeEmptyValues-parametria.
Huomaa, että integrointitarkoituksiin hyvä tapa käsitellä tuontia on tuoda vain yksi datakortti kerrallaan ja pitää liikenne kohtuullisella tasolla seuraavista syistä:

  • Virheiden tarkastus on helpompaa, tällä tavoin tuonnin virheelliset yksiköt voidaan tunnistaa heti.
  • Suurien tietokorttien tuonti voi aiheuttaa aikakatkaisuja.

HTTP-parametrit

Tässä on luettelo mahdollisista HTTP-parametreista, joita voidaan käyttää (DataCardImport-palvelun HTTP-parametrit):

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

päivitäTietokortit

 

{tosi, epätosi}

totta

Päivitetäänkö täsmätyt datakortit

createDataCards

 

{tosi, epätosi}

totta

Luodaanko yhteensopimattomia datakortteja?

luoStaticAttribuutit

 

{tosi, epätosi}

väärä

Luodaanko uusia staattisia arvoja

luoTyhjätViitteet

 

{tosi, epätosi}

väärä

Luodaanko täsmäämättömät viitteet tyhjinä datakortteina?

OhitaUniqueCheck

 

{tosi, epätosi}

väärä

Ohitetaanko datakorttien kenttien yksilöllisyystarkistukset?

rajoitettuPäivitysKansionId

 

Efecten datakorttikansion voimassa oleva tunniste

 

Määrittää kansion, johon datakortin päivitykset on rajoitettu. Tätä parametria voidaan lisätä useita kertoja. restrictUpdateToFolderCode-parametrin käyttö ei ole sallittua, kun restrictUpdateToFolderId on käytössä.

rajoitettuPäivitysKansioonKoodi

 

Efecten datakorttikansion voimassa oleva koodi

 

Määrittää kansion, johon datakortin päivitykset on rajoitettu. Tätä parametria voidaan lisätä useita kertoja. restrictUpdateToFolderId-parametrin käyttö ei ole sallittua, kun restrictUpdateToFolderCo-parametri on käytössä.

kansiotunnus

Kyllä*

Efecten datakorttikansion voimassa oleva tunniste

 

Asettaa kansion ja folderId:n, johon uudet tuodut datakortit luodaan.

kansiokoodi

Kyllä*

Efecten datakorttikansion voimassa oleva koodi

 

Määrittää kansion folderCode-arvolla, johon uudet tuodut datakortit luodaan.

poistaTyhjätArvot

 

{tosi, epätosi}

väärä

Jos arvoksi on asetettu true, Efecte poistaa datakorttiarvot, jotka on merkitty XML:ssä tyhjällä arvoelementillä.

versio

 

Mitä DataCardImport-palvelun versiota tulisi käyttää vastauksessa

 

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

* Parametreihin on sisällytettävä joko folderId tai folderCode

Virheet DataCardImportissa

Yleisesti ottaen, jos jokin pakollisista parametreista (lueteltu taulukossa 7) puuttuu tai sisältää virheellisiä arvoja, palautetaan Web API -virhe. Tämä pätee myös Web API todennus- ja valtuutusvirheisiin. (Lisätietoja Web API -virheistä on luvussa 5 Web API -virheet.)

Jos joidenkin datakorttien tuonnin aikana kuitenkin tapahtuu jotain muuta vikaa (esim. tuotujen korttien malli on konfiguroitu väärin), DataCardImport-palvelu palauttaa joka sisältää tietoja käsitellyistä datakorteista ja tuonnin aikana tapahtuneista virheistä.

Tuotavien arvojen tulee olla <value>-elementin sisällä. Jos arvoja tuodaan <reference>-elementtien sisällä, se luo virheellisiä viittauksia itse datakorttiin. Jos viittauksia tarvitaan, varmista, että web API käyttäjällä on pääsy viittaamaasi mallipohjaan, muuten viittausta ei luoda. Viittausten on oltava kohdistettuina mallipohjan ensisijaiseen arvoon.

Esimerkki pyynnöstä ja vastauksesta

Pyytää

Palvelu: dataCardImport.ws

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

Viestin runko:

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

Poista palvelu

Poistaakseen olemassa olevan datakortin Efectestä käyttäjän on käynnistettävä poistopalvelu. Palvelu voi poistaa datakortteja kahden eri kriteerin perusteella:

  • Sisäisen datakortin tunnus (yksikkötunnus).
  • Hakukysely; kyselyä vastaavat datakortit poistetaan.

HTTP-parametrit

Poista palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

tunnukset

Kyllä*

 

 

Pilkuilla erotettu luettelo sisäisten datakorttien (yksiköiden) tunnuksista, jotka tunnistavat poistettavat datakortit

kysely

Kyllä*

 

 

EQL kysely, joka määrittää poistettavat datakortit. Kyselyn on oltava sellainen, että Search-verkkopalvelulle annettuna se palauttaisi tiedot Efecte-datakorttien XML (entiteettien XML) -muodossa, eli kyselyn on oltava muotoa "select entity from entity [...]".

käytäRoskakoria

 

{tosi, epätosi}

väärä

Oletusarvoisesti datakortit poistetaan pysyvästi; toisin sanoen niitä ei vain siirretä roskakoriin. Tämän parametrin asettaminen arvoon "true" tarkoittaa, että roskakoria käytetään samalla tavalla kuin datakorttien poistamisessa normaalisti Efecten web-käyttöliittymän kautta. Tässä tilassa datakortit 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 otetaan huomioon palvelun yhdellä kutsukerralla. Jos sekä ids- että query-parametrit on määritetty, palvelu jättää query-parametrin huomiotta ja yrittää poistaa datakortteja vain ids-parametrin perusteella.

Esimerkki pyynnöstä ja vastauksesta, datakortin ja yksikkötunnuksen poistaminen

Pyytää

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>

Esimerkki pyynnöstä ja vastauksesta, datakortin poistaminen EQL llä

Pyytää

Palvelu: delete.ws

EQL : SELECT $efecte_id$, $subject$, $status$ FROM entity WHERE entity.template.code = 'tapaus' 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>

Hakupalvelu

Datakorttien hakemiseen Efecte tarjoaa dataCardSearch-verkkopalvelun, joka vastaanottaa EQL (Efecte Query Language) -kyselyn ja palauttaa tulokset XML-muodossa. Lisätietoja EQL -kyselyiden muodostamisesta on luvussa 2.

Hakupalvelun palauttama XML on jossakin seuraavista kolmesta muodosta:

  • Entiteetti-XML
  • XML-malli
  • "Yleinen" XML

Entity XML ja Template XML on kuvattu Efecte XML Schema Description -dokumentissa . "Yleinen" XML-muoto on kuvattu esimerkkien avulla alla. Huomaa, että yleinen muoto voi sisältää kokonaisia Entity XML- ja Template XML -esiintymiä EQL kyselystä riippuen.

Päivämääräarvot palautetaan aina muodossa vvvv-KK-pp HH:mm:ss z ISO 8601 -standardin mukaisesti. Huomaa, että aikavyöhykkeen nimi lisätään loppuun. Käytetty aikavyöhyke on aina JVM:n tai tietokannan oletusaikavyöhyke. Huomaa, että jos ”useiden aikavyöhykkeiden tuki” on käytössä, tämä voi poiketa Entity XML:stä, jossa päivämäärä- ja aika-arvot säädetään web-palvelun käyttäjän aikavyöhykeasetuksen mukaan.

Desimaaliluvuissa käytetään desimaalierottimena pistettä (.). Vastauksen XML:ssä käytetty merkistökoodaus riippuu webservice.response.encoding -kehyksen ominaisuudesta. Oletuskoodaus on UTF-8.

Jos poistettuja tai piilotettuja datakortteja ei tarvitse näyttää, käytä kyselyparametrissa entity.deleted=0 tai entity.hidden=0 .

Yleinen tulos XML

Mahdollisia tietotyyppielementtejä yleisille hakutuloksille:

Elementti

Muistiinpanoja

<päivämäärä>

Käytetty kuvio on aina vvvv-KK-pp HH:mm:ss z.

<desimaali>

Desimaaliluvut; desimaalierotin on aina "." (piste)

<kokonaisluku>

Kokonaisluvut

<merkkijono>

Monet Efecte-tietotyypit (ei vain "teksti" ja "merkkijono", vaan myös "ulkoiset viittaukset" jne.) tulostetaan merkkijonona

<tyhjä>

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

HTTP-parametrit

Hakupalvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

kysely

Kyllä

Mikä tahansa kelvollinen EQL kysely

 

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

attribuuttikoodit

 

Mikä tahansa kelvollinen attribuuttikoodi mallista

 

Palauttaa vain annetut mallineen attribuuttikoodit

Esimerkki pyynnöstä ja vastauksesta, palauttaa vain entiteettien nimet

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

Pyytää

Palvelu: search.ws

EQL : SELECT entity.name FROM entity WHERE entity.folder.name = 'Tapahtumien hallinta'

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

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>

Esimerkki pyynnöstä ja vastauksesta, mallineen attribuuttikoodien avulla

Kun valitset useita kenttiä, tulokset ryhmitellään seuraavasti: elementtejä. Huomaa, että merkkijonojen järjestys rivillä on sama kuin attribuuttien järjestys select-metodissa (paikat ovat sidotut).

Pyytää

Palvelu: search.ws

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

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>

Esimerkki pyynnöstä ja vastauksesta, palautuskansion nimi ja viitetietojen kohde

Tässä tapauksessa yleinen XML-tulos sisältää siihen "upotettuina" kokonaiset Entity XML -dokumentit sekä yksinkertaiset <string>-arvot:
Pyytää

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>

Esimerkki pyynnöstä ja vastauksesta, palauta annetut attribuutit käyttämällä attribuuttikoodeja

attrbuteCodes määrittää, mitkä attribuutit palautetaan vastausviestissä. Tällä tavoin web- API ei palauta attribuutteja, joita käyttäjä ei tarvitse.

Pyytää

Palvelu: search.ws

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

Attribuuttikoodit: efecte_id, työaseman_malli, tila


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

Tiedostometatietopalvelua käytetään hakemaan tietoja datakorttiin liitetyistä tiedostoliitteistä. Jos datakortti sisältää useita liitteitä sisältäviä kenttiä, kaikkien liitteiden tiedot palautetaan samanaikaisesti. Tämä tekee API vähemmän yksityiskohtainen.

Efecte 4.2:sta lähtien metatietopalvelu palauttaa kullekin liitteelle nimen lisäksi myös näyttönimen. Nimi on sisäinen tiedostonimi (esim. ”20180717_1.xml”), jota käytetään tunnisteena tehtäessä pyyntöjä tiedostojen latauspalvelulle (katso seuraava osio). Näyttönimi on liitetiedoston alkuperäinen nimi, joka on yleensä helpommin luettava (esim. ”readme.txt”).

HTTP-parametrit

FileMetaData-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

entiteettitunnus

Kyllä

Järjestelmän minkä tahansa datakortin tunnus, siis kokonaisluku

 

Määrittää datakortin, jonka tiedostometatiedot noudetaan.

Esimerkki pyynnöstä ja vastauksesta

Pyytää

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>

Tiedostojen latauspalvelu

Tiedostonlatauspalvelua käytetään Efectessä oleviin datakortteihin liitettyjen tiedostojen lataamiseen. Tiedostot palautetaan HTTP-vastauksessa.

Asiakkaan tulisi aina ensin tarkistaa vastauksen HTTP-statuskoodi. Vastauksen runko voidaan tulkita pyydetyksi tiedostoksi vain, kun statuskoodi on ”200 OK”. Muita palvelun tyypillisesti asettamia statuskoodeja ovat:

  • 400 Virheellinen pyyntö – Jos jotkin pakollisista parametreista puuttuvat.
  • 403 Kielletty – Jos verkkopalvelun käyttäjällä ei ole käyttöoikeuksia määritettyyn kohteeseen.
  • Tietokortti tai attribuutti.
  • 404 Ei löydy – Jos pyydettyä tiedostoa ei löydy.

Näissä virhetilanteissa HTTP-vastauksen runko on XML-virheilmoitus, jossa on tarkempia tietoja.

HTTP-parametrit

FileDownload-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

entiteettitunnus

Kyllä

Kokonaisluku

 

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

attribuutin tunnus

Kyllä

Kokonaisluku

 

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

tiedostonimi

Kyllä

Jousi

 

Määrittää pyydetyn tiedoston nimen. Tämä vastaa liitteen nimielementtiä (ei näyttönimeä), jonka metatietopalvelu palauttaa.

Esimerkki pyynnöstä ja vastauksesta

Pyytää

Palvelu: tiedoston lataus.ws

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

Vastaus

Tässä tapauksessa vastaus näyttää tietoja tiedostosta

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

Tiedostonlatauspalvelu

Tiedoston lähetyspalvelua käytetään tiedostojen lataamiseen Efecte-datakortille. Tiedoston lähetyspalvelu jäsentää HTTP-pyyntöjä, jotka ovat RFC 1867:n "Form-based File Upload in HTML" -standardin mukaisia. Eli jos HTTP-pyyntö lähetetään POST-metodilla ja sisältötyypillä "multipart/form-data". Tarvittaessa on mahdollista lähettää useita tiedostoja kerralla.

Datakortti on luotava ennen kuin tiedosto voidaan ladata siihen! FileUpload-palvelu ei luo uutta datakorttia.

HTTP-parametrit

FileUpload-palvelun HTTP-parametrit:

Parametrin nimi

Pakollinen

Mahdolliset arvot

Oletus

Kuvaus

entiteettitunnus

Kyllä

Kokonaisluku

 

Määrittää datakortin, johon ladattu tiedosto liitetään.

attribuutin tunnus

Kyllä

Kokonaisluku

 

Määrittää datakortin kentän, johon ladattu tiedosto liitetään.

toimintotyyppi

 

Jousi

 

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

”set” tarkoittaa, että ladattu tiedosto korvaa valitussa kentässä jo olevat tiedostot. Oletusarvoinen toiminto on ”set”.

Esimerkki pyynnöstä ja vastauksesta

Pyytää

Palvelu: fileUpload.ws

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

Sisältötyyppi: moniosainen/lomakedata

Vastaus

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

Vaiheittainen esimerkki datakortin luomisesta ja tiedoston lataamisesta siihen

Tämä vaiheittainen esimerkki näyttää kaikki tiedoston lataamiseen tyhjästä tarvittavat vaiheet. Tärkeimmät ominaisuudet on lihavoitu. Se koostuu seuraavista vaiheista:

  1. Datakortin tuonti (luonti).
  2. Tietokortin entityId-kysely.
  3. Tiedostoliiteattribuutin mallipohjien attribuutti-Id:n selvittäminen.
  4. Tiedostoa ladataan luotuun datakorttiin.

Ensimmäinen datakortti on luotava:

Pyytää

Palvelu: dataCardImport.ws

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

Viestin runko:

<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-tiedot on tiedettävä juuri luodun datakortin liitetiedostoille. Alla on kysely, jota voidaan käyttää entityId-arvon hakemiseen ja muiden tietojen validointiin:

Pyytää

Palvelu: search.ws

EQL : SELECT entity FROM entity WHERE template.code='incident' AND $created$>'NOW-1m' AND $created$<'NOW'
Attribuuttikoodit: efecte_id, tiedostoliitteet, tila, aihe, kuvaus, luotu

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

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

Hakupalvelun käyttäminen mallipohjan hakemiseen.

Kyselymallin kaava:

Pyytää

Palvelu: search.ws

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

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

Vastaus
Vastauksesta meidän on löydettävä <attribute> , jossa <code> on liitetiedoston attribuutin attribuuttikoodi, ja tästä attribuutista haluamme saada <class-attribute-id> :n arvon, kuten:

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

Pyytää

Palvelu: fileUpload.ws

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

Sisältötyyppi: moniosainen/lomakedata

Vastaus

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

Tietokortin kaavan hakeminen

Efecte-datakortin metatiedot eli tiedot siitä, mitä kenttiä se voi sisältää ja niiden ominaisuudet, ovat saatavilla dataCardSearch-verkkopalvelun kautta EQL -kyselyllä pohjiin. Tässä on esimerkki EQL -kyselystä, joka valitsee kaikki pohjat:

VALITSE mallipohja mallipohjasta

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

Turvallisuus

Salaus

HTTP-perustodennus lähettää tunnistetiedot selkokielisenä, joten HTTPS:n käyttö on olennaista.

Todennus


Efecte web API -palvelut todennetaan HTTP-perustodennuksella. Sinun on luotava Efectelle tunnistetiedot käyttääksesi web-palveluita. (Luo käyttöoikeuspuussa rooli, jolla on oikeudet käyttää Efecte Web API -palveluita, ja lisää yksi tai useampi käyttäjä kyseiseen rooliin.) Kaikki toiminnot suoritetaan todennetun Efecte-käyttäjän käyttöoikeuksilla. Nämä käyttöoikeudet määrittävät, mihin malleihin, määritteisiin ja kansioihin web-palvelun käyttäjä voi käyttää.

Root-käyttäjää ei tule käyttää Web API -käyttäjänä, koska hänellä on pääsy kaikkeen. Siksi rootin käyttö voi olla vaarallista. Web API -ongelmia tutkittaessa Web API -käyttäjän ylentäminen root-tasolle voi kuitenkin olla hyödyllistä vain sen tarkistamiseksi, onko käyttöoikeuksissa ongelmia vai johtuvatko ongelmat itse Web API -pyynnöstä.

Web API -käyttäjän luominen

  • Luo rooli ja valitse Web API -tuotteen käyttöoikeudet.
  • Lisää kansion käyttöoikeudet roolille.
  • Lisää roolille mallipohjan käyttöoikeudet.
  • Luo web API käyttäjä.
  • Lisää käyttäjä aiemmin luotuun rooliin.
  • Testaa, että pystyt suorittamaan halutut toiminnot web- API kautta. Voit tehdä tämän selaimessa komennolla /search.ws?query=select count(id) entiteetistä.
     

 

tehosteet api

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Related Articles

  • WebAPI virheet
  • Web API vianmääritys- ja testausesimerkkejä

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand