Az OTRS általános felülete egy többrétegű keretrendszerből áll, amely az OTRS-t kommunikálni hagyja más rendszerekkel egy webszolgáltatáson keresztül. Ez a kommunikáció lehet kétirányú is:
OTRS mint szolgáltató: az OTRS kiszolgálóként működik, figyel a külső rendszerből érkező kérésekre, feldolgozza az információkat, végrehajtja a kért műveletet, és válaszol a kérésre.
OTRS mint kérelmező: az OTRS kliensként működik, információkat gyűjt, elküldi a kérést a távoli rendszernek, és várakozik a válaszra.
Az általános felület egy rétegmodell alapján épül fel, hogy rugalmas és könnyen személyre szabható legyen.
Egy réteg olyan fájlok halmaza, amelyek azt vezérlik, hogy az általános felület hogyan hajtsa végre egy webszolgáltatás különböző részeit. A megfelelő beállítás használatával egyesek különböző webszolgáltatásokat tudnak felépíteni különböző külső rendszerekhez új modulok létrehozása nélkül.
Ha a távoli rendszer nem támogatja az általános felület jelenleg csomagolt moduljait, akkor speciális modulok fejlesztése szükséges az adott webszolgáltatáshoz.
Az OTRS-sel szállított szolgáltatott általános felület modulok listája idővel frissítve és növelve lesz.
Ez a réteg felelős a távoli rendszerrel való megfelelő kommunikációért. Fogadja a kéréseket és válaszokat állít elő, amikor szolgáltatóként működik, és kéréseket állít elő és válaszokat fogad, amikor kérelmezőként működik.
A szolgáltató kommunikációját egy új „nph-genericinterface.pl” nevű webszolgáltatás kezelő kezeli.
A kérelmező kommunikációja kezdeményezhető egy általános felület modul vagy bármely egyéb OTRS modul által aktivált esemény közben. Ezt az eseményt az eseménykezelő kapja el, és a beállítástól függően az eseményt közvetlenül a kérelmező objektum fogja feldolgozni, vagy delegálja az ütemezőnek (egy különálló démon, amelyet feladatok aszinkron módon történő feldolgozására terveztek).
Ez a réteg felelős az adatszerkezetek átfordításáért az OTRS és a távoli rendszer között (belső adatok és külső adatok rétegek). Általában a távoli rendszereknek eltérő adatszerkezetük van az OTRS adatszerkezetétől (beleértve a különböző értékeket és neveket azoknál az értékeknél), és itt rejlik a réteg fontossága, hogy a fogadott információkat valami olyanná változtassa meg, amelyet az OTRS meg tud érteni, és ellenkező módon, az információkat minden egyes távoli rendszerhez a saját adatszótáruk használatával küldje el.
Példa: a „Prioritást” (OTRS) nevezhetnék „Prio”-nak a távoli rendszeren, és lehet, hogy az „1 alacsony” (OTRS) értéket „Információra” kell leképezni a távoli rendszeren.
A vezérlők hasonló műveletek és meghívók gyűjteményei. Például egy jegyvezérlő számos szabványos jegyműveletet tartalmazhat. Egyéni vezérlők is megvalósíthatók, például egy „TicketExternalCompany” vezérlő, amely hasonló függvényeket tartalmazhat mint a szabványos jegyvezérlő, de eltérő adatfelülettel vagy függvénynevekkel (a távoli rendszer függvényneveihez alkalmazkodva) vagy teljesen eltérő kóddal.
Egy alkalmazás az általános felületnél lehet, hogy információkat szinkronizál egy olyan távoli rendszerrel, amely csak egy másik ugyanolyan távoli rendszerrel tud beszélgetni. Ebben az esetben új vezérlőket kell fejleszteni, és a műveleteknek és a meghívóknak a távoli rendszer viselkedését kell emulálniuk oly módon, hogy az a felület, amelyet az OTRS kitesz, hasonló legyen a távoli rendszer felületéhez.
Egy művelet egy olyan önálló tevékenység, amely az OTRS-en belül hajtható végre. Az összes műveletnek ugyanolyan programozási felülete van. Fogadják az adatokat egy speciális paraméterbe, és egy adatszerkezetet adnak vissza egy sikeres állapottal, egy lehetséges hibaüzenettel és a visszaadott adatokkal.
Normális esetben a műveletek a már leképezett (belső) adatokat használják a központi modulok meghívásához és a tevékenységek végrehajtásához az OTRS-ben, mint például: egy jegy létrehozása, egy felhasználó frissítése, egy várólista érvénytelenítése, egy értesítés küldése, stb. Egy műveletnek teljes hozzáférése van az OTRS API-hoz egy tevékenység végrehajtásához.
Egy meghívó egy olyan tevékenység, amelyet az OTRS egy távoli rendszerrel szemben hajt végre. A meghívók az OTRS központi moduljait használják a kérés létrehozásához szükséges információk feldolgozásához és összegyűjtéséhez. Amikor az információk készen állnak, akkor le kell képezni azokat a távoli rendszer formátumára azért, hogy elküldhetők legyenek a távoli rendszernek, amely fel fogja dolgozni az információkat, végre fogja hajtani a tevékenységet, és vissza fogja küldeni a választ a siker feldolgozásához vagy a hibák kezeléséhez.
Az általános felületnek meghatározott folyamata van a tevékenységek végrehajtásához szolgáltatóként és kérelmezőként.
Ezek a folyamatok vannak alább leírva:
HTTP-kérés
Az OTRS fogadja a HTTP-kérést és továbbadja a rétegeken keresztül.
A szolgáltató modul felelős ezen tevékenységek végrehajtásáért és vezérléséért.
Hálózati átvitel
A hálózati átvitel modul dekódolja az adat hasznos terhét, és elválasztja a művelet nevét az adat többi részétől.
A művelet neve és a művelet adatai visszakerülnek a szolgáltatóhoz.
Külső adatok
Az adatok, ahogy a távoli rendszer elküldte (ez nem egy modul alapú réteg).
Leképezés
Az adatok átalakításra kerülnek a külső rendszer formátumáról az OTRS belső formátumára, ahogy a leképezési beállításban meg van adva ennél a műveletnél (leképezés a bejövő kérés adataihoz).
A már átalakított adatok visszakerülnek a szolgáltatóhoz.
Belső adatok
Az adatok, ahogy át lettek alakítva és elő lettek készítve a műveletnek való átadáshoz (ez nem egy modul alapú réteg).
Művelet
Fogadja és ellenőrzi az adatokat.
Felhasználói hozzáférés-vezérlést hajt végre.
Végrehajtja a műveletet.
Művelet
Visszaadja az eredmény adatait a szolgáltatónak.
Belső adatok
Az adatok, ahogy visszaadásra kerültek a műveletből.
Leképezés
Az adatok visszaalakításra kerülnek a távoli rendszer formátumára, ahogy a leképezési beállításban meg van adva (leképezés a kimenő válasz adataihoz).
A már átalakított adatok visszakerülnek a szolgáltatóhoz.
Külső adatok
Az adatok, ahogy át lettek alakítva és elő lettek készítve a hálózati átvitelhez való átadáshoz válaszként.
Hálózati átvitel
Fogadja a már a távoli rendszer formátumában lévő adatokat.
Felépít egy érvényes választ ehhez a hálózati átviteltípushoz.
HTTP-válasz
A válasz visszaküldésre kerül a webszolgáltatás kliensének.
Egy hiba esetén hibaválasz kerül elküldésre a távoli rendszernek (például SOAP-hiba, HTTP-hiba, stb.).
Esemény-aktiváló kezelő
A webszolgáltatás beállítása alapján meghatározza, hogy a kérés szinkron vagy aszinkron lesz-e.
Szinkron
Egy közvetlen hívás készül a kérelmezőhöz azért, hogy létrehozzon egy új kérést és továbbadja a rétegeken keresztül.
Aszinkron
Egy új általános felület (kérelmező) feladat létrehozása az OTRS démonhoz (a kérés végrehajtását az ütemező démonra delegálva a felhasználói élmény erősen növelhető, egyébként a kérés előkészítéséhez szükséges összes idő és a távoli végrehajtás hozzáadásra kerül az OTRS eseményekhez, amely aktiválja azokat a kéréseket).
A következő ciklusában az OTRS démonfolyamat beolvassa az új feladatot, és létrehoz egy hívást a kérelmezőhöz, amely létre fog hozni egy új kérést, és azután továbbadja azt a rétegeken keresztül.
Meghívó
Fogadja az adatokat az eseményből.
Ellenőrzi a fogadott adatokat (ha szükséges).
Meghívja a központi modulokat az adatok kiegészítéséhez (ha szükséges).
Visszaadja a kért adatszerkezetet, vagy egy kommunikáció leállítása jelet küld a kérelmezőnek a kérés elegáns megszakításához.
Belső adatok
Az adatok, ahogy a meghívó átadta (ez nem egy modul alapú réteg).
Leképezés
Az adatok átalakításra kerülnek a távoli rendszer formátumára, ahogy a leképezési beállításban meg van adva (leképezés a kimenő válasz adataihoz).
A már átalakított adatok visszakerülnek a kérelmezőhöz.
Külső adatok
Az adatok, ahogy át lettek alakítva és elő lettek készítve a távoli rendszernek való küldéshez.
Hálózati átvitel
Fogadja a távoli művelet nevét és a már a távoli rendszer formátumára átalakított adatokat a kérelmezőtől.
Felépít egy érvényes kérést a hálózati átvitelhez.
Elküldi a kérést a távoli rendszernek, és várakozik a válaszra.
Hálózati átvitel
Fogadja a választ és dekódolja az adat hasznos terhét.
Visszaadja az adatokat a kérelmezőnek.
Külső adatok
Az adatok, ahogy a távoli rendszerről érkeztek.
Leképezés
Az adatok átalakításra kerülnek a külső rendszer formátumáról az OTRS belső formátumára, ahogy a leképezési beállításban meg van adva ennél a műveletnél (leképezés a bejövő válasz adataihoz).
A már átalakított adatok visszakerülnek a kérelmezőhöz.
Belső adatok
Az adatok, ahogy át lettek alakítva és elkészültek visszaadásra a kérelmezőnek.
Meghívó
Fogadja a visszaadott adatokat.
Kezeli az adatokat, ahogy minden egyes meghívónál speciálisan szükséges (beleértve a hibakezelést, ha van).
Visszaadja a meghívó eredményét és adatait a kérelmezőnek.
Eseménykezelő vagy OTRS démon
Fogadja az adatokat a kérelmezőtől. Az OTRS démon esetében ezek az adatok információkat tartalmazhatnak egy feladat jövőbeli létrehozásához.
A webszolgáltatás egy kommunikációs módszer két rendszer között, a mi esetünkben az OTRS és egy távoli rendszer között.
A webszolgáltatás szíve annak beállítása, ahol az van meghatározva, hogy a webszolgáltatás milyen műveleteket hajthat végre belsőleg (művelet), az OTRS kérés milyen műveleteket hajthat végre a távoli rendszeren (meghívók), az adatok hogyan lesznek átalakítva az egyik rendszerről a másikra (leképezés), és mely protokollon keresztül kerüljön sor a kommunikációra (átvitel).
Az általános felület az a keretrendszer, amely lehetővé teszi webszolgáltatások létrehozását az OTRS-hez egy előre meghatározott módon a már elkészített építőkockák használatával, amelyek egymástól függetlenek és kicserélhetők.
A webszolgáltatások grafikus felhasználói felülete (GUI) egy olyan eszköz, amely egy felhasználóbarát és kényelmes felületen teszi lehetővé összetett webszolgáltatás beállítások felépítését. Lehetővé teszi:
Webszolgáltatások létrehozását és törlését.
Beállítások importálását és exportálását (YAML fájlformátumban) meglévő webszolgáltatásokhoz.
Régi beállítások megtekintését, visszaállítását és exportálását a meglévő webszolgáltatásokhoz a webszolgáltatás előzmények képernyőn.
Az összes kommunikációs napló követését minden webszolgáltatásnál a hibakereső képernyőn.
Az adminisztrációs felület fő képernyőjén (a Rendszeradminisztráció dobozban) lévő Webszolgáltatások hivatkozás vezet a webszolgáltatások áttekintő képernyőjéhez, ahol lehetősége van a webszolgáltatások beállításainak kezelésére. Hozzáadhat új webszolgáltatásokat vagy megváltoztathatja a meglévők beállításait erről a képernyőről.
Minden egyes webszolgáltatás beállítási képernyőnek egy kenyérmorzsa stílusú navigációs útvonala van a képernyő felső részén. Ez a navigációs útvonal azért hasznos, hogy pontosan tudjuk, hogy a webszolgáltatás beállításainak mely részén vagyunk, valamint bármikor lehetővé teszi a felhasználónak a beállítási folyamat bármely részére történő visszalépést (ez a művelet nem fog elmenteni semmilyen változtatást).
Egy új webszolgáltatás létrehozásához nyomja meg a Webszolgáltatás hozzáadása gombot, és adja meg a szükséges információkat.
Az egyetlen kötelező mező ezen a részen a webszolgáltatás Név mezője, amelynek egyedinek kell lennie a rendszeren, és nem lehet üresen hagyni. A többi mezők is szükségesek a beállításhoz, mint például a Hibakereséséi küszöbszint és az Érvényesség, de ezek a mezők már ki vannak töltve az alapértelmezett értékkel minden listánál.
A Hibakeresési küszöbszint alapértelmezett értéke a Hibakeresés. Ha ilyen módon állítjuk be, akkor az összes kommunikációs napló regisztrálva lesz az adatbázisban. Minden későbbi Hibakeresési küszöbszint érték korlátozóbb és eldobja az annál alacsonyabb rendű kommunikációs naplókat, mint amely a rendszeren be van állítva.
A hibakeresési küszöbszint szintjei (az alacsonyabbtól a magasabbig)
Hibakeresés
Információ
Értesítés
Hiba
Lehetséges a hálózati átviteli protokoll meghatározása is az OTRS mint szolgáltató és az OTRS mint kérelmező szakaszoknál.
Kattintson a Mentés gombra az új webszolgáltatás regisztrálásához az adatbázisba, vagy kattintson a Mégse gombra a művelet eldobásához. Most vissza fog térni a webszolgáltatás áttekintő képernyőjéhez.
Ha már rendelkezik egy YAML-formátumú webszolgáltatás beállítófájllal, akkor rákattinthat a Webszolgáltatás importálása gombra a képernyő bal oldalán. A webszolgáltatások importálásával kapcsolatos további információkért nézze meg a következő Webszolgáltatás megváltoztatása szakaszt.
Egy webszolgáltatás megváltoztatásához vagy további részletek hozzáadásához kattintson a webszolgáltatás nevére a webszolgáltatás áttekintő képernyőjén.
Tudta, hogy léteznek elérhető példa webszolgáltatások az OTRS Business Solution™ csomagban?
Ezen a képernyőn függvények teljes készlete van egy webszolgáltatás minden részének kezeléséhez. A bal oldalon a művelet oszlopban néhány gombot találhat, amelyek lehetővé teszik az összes lehetséges művelet végrehajtását egy webszolgáltatáson:
Webszolgáltatás klónozása.
Webszolgáltatás exportálása.
Webszolgáltatás importálása.
Beállítási előzmények.
Webszolgáltatás törlése.
Hibakereső.
A Beállítási előzmények és a Hibakereső különböző képernyőkre fogja vezetni.
Egy webszolgáltatás klónozásához a Webszolgáltatás klónozása gombra kell kattintania. Egy párbeszédablak fog megjelenni, ahol használhatja az alapértelmezett nevet vagy beállíthat egy új nevet a (klónozott) webszolgáltatáshoz.
Ne feledje, hogy a webszolgáltatás nevének egyedinek kell lennie a rendszeren belül.
Kattintson a Klónozás gombra a webszolgáltatás klónjának létrehozásához vagy a Mégse gombra a párbeszédablak bezárásához.
A Webszolgáltatás exportálása gomb lehetőséget ad a jelenlegi webszolgáltatás beállításainak kiírására egy YAML-fájlba, annak letöltésére és eltárolására a fájlrendszerén. Ez különösen akkor lehet hasznos, ha át szeretné költöztetni a webszolgáltatást az egyik kiszolgálóról a másikra, például a tesztkörnyezetből a produktív rendszerre.
A webszolgáltatás beállításaiban tárolt összes jelszó egyszerű szöveges formátumban lesz exportálva.
Közvetlenül a Webszolgáltatás exportálása gombra kattintás után a böngészője mentési párbeszédablaka fog megjelenni, akárcsak amikor egy fájl letöltési hivatkozására kattint egy weboldalon.
Az egyes operációs rendszereken minden böngészőnek saját mentési párbeszédablak képernyője és stílusa van. A böngészőtől és annak beállításától függően lehetséges, hogy nem jelenik meg párbeszédablak, és a fájl az alapértelmezett könyvtárba lesz elmentve a fájlrendszeren. Nézze meg a böngészője dokumentációját a konkrétabb utasításokért, ha szükséges.
Egy érvényes webszolgáltatás beállító YAML-fájl szükséges a webszolgáltatás importálása funkció használatához. Kattintson a Webszolgáltatás importálása gombra, és tallózzon rá a beállítófájlra vagy adja meg a teljes útvonalat a beviteli dobozban.
Kattintson az Importálás gombra egy új webszolgáltatás létrehozásához egy fájlból vagy a Mégse gombra a párbeszédablak bezárásához.
A webszolgáltatás neve a beállítófájl nevéből lesz átvéve (például ha a fájl
neve SajátWebszolgáltatás.yml
, akkor a kapott
webszolgáltatás SajátWebszolgáltatás elnevezésű
lesz). Ha egy ugyanolyan nevű webszolgáltatás van regisztrálva a rendszeren,
mint amilyet importálni szeretne, akkor a rendszer a webszolgáltatás
megváltoztatása képernyőre fogja vezetni, hogy megváltoztathassa az
importált webszolgáltatás nevét.
A webszolgáltatás beállításain végzett minden változtatás új bejegyzést hoz létre a webszolgáltatás előzményeiben (mint egy napló). A webszolgáltatás előzmények képernyő egy webszolgáltatás összes beállítási verziójának listáját jeleníti meg. A Beállítási előzmények listája részen lévő minden egyes sor (verzió) egy önálló módosítást képvisel a webszolgáltatás előzményeiben.
Kattintson a sorok egyikére a teljes beállítás megjelenítéséhez, ahogy az egy adott dátumkor vagy időpontban volt. A beállítás ennek a képernyőnek az Előzményrészletek szakaszában lesz megjelenítve. Itt is lehetősége van a kijelölt webszolgáltatás-beállítás verziójának exportálására vagy annak a verziónak a visszaállítására a jelenlegi webszolgáltatás beállításaiba.
A Webszolgáltatás-beállítás exportálása pontosan úgy viselkedik mint a webszolgáltatás megváltoztatásának képernyőjén lévő Webszolgáltatás exportálása funkció. További információkért nézze meg azt a szakaszt.
Ha a jelenlegi webszolgáltatásra történő váltás nem az elvárt módon működik, és nem könnyű a változtatásokat kézzel visszaállítani, akkor rákattinthat a Webszolgáltatás-beállítás visszaállítása gombra. Ez meg fog nyitni egy párbeszédablakot azt kérdezve, hogy biztos-e a webszolgáltatás-beállítás visszaállításában. Kattintson a Webszolgáltatás-beállítás visszaállítása gombra ezen a párbeszédablakon a jelenlegi beállítás lecseréléséhez a kijelölt verzióra, vagy kattintson a Mégse gombra a párbeszédablak bezárásához.
Ne feledje, hogy a webszolgáltatás beállításaiban tárolt összes jelszó egyszerű szöveges formátumban lesz exportálva.
Legyen óvatos egy beállítás visszaállításakor, mert ez a folyamat visszafordíthatatlan.
Néha szükséges egy webszolgáltatást teljesen törölni. Ennek elvégzéséhez kattintson a Webszolgáltatás törlése gombra, és egy új párbeszédablak fog megjelenni egy megerősítés kéréséhez.
Kattintson a Törlés gombra a webszolgáltatás eltávolításának megerősítéséhez vagy a Mégse gombra a párbeszédablak bezárásához.
Egy webszolgáltatás törlése nem vonható vissza, ezért legyen óvatos egy webszolgáltatás törlésekor.
A hibakereső tárolja egy webszolgáltatás naplóját. A hibakereső ablakban nyomon követheti az összes webszolgáltatás kommunikációt, mind a szolgáltató, mind a kérelmező típusokat.
Amikor ez a képernyő megjelenik, akkor a kéréslista elkezd betölteni. Miután a lista teljesen ki van töltve, akkor kiválaszthatja a sorok egyikét (amely egy kommunikációs sorozatot jelent) annak részleteinek ellenőrzéséhez. Ezek a részletek fognak megjelenni egy lenti dobozban.
A képernyő jobb oldalán lévő szűrő használatával szűkítheti a kommunikációs listát. A következőkre szűrhet:
Kommunikáció típusa (szolgáltató vagy kérelmező)
Dátum: egy bizonyos dátum előtt és/vagy után
A távoli IP-cím
Ezek bármilyen kombinációja
Miután a szűrőbeállítások beállításra kerültek, nyomja meg a Frissítés gombot, és egy új lista lesz megjelenítve a keresési feltétek szerint.
A szűrőknél a keresési feltételektől függően az új lista eredmények nélkül is visszatérhet.
A képernyő bal oldalán a művelet oszlop alatt kiválaszthatja a Vissza a webszolgáltatáshoz lehetőséget, vagy törölheti a hibakereső naplóját a Törlés gomb megnyomásával. Ez egy párbeszédablakot fog megnyitni, amely arra kéri, hogy erősítse meg a napló törlését. Kattintson a Törlés gombra a párbeszédablakon a művelet végrehajtásához, vagy kattintson a Mégse gombra a párbeszédablak bezárásához.
A Kérésrészletek szakaszban láthatja a kijelölt kommunikáció összes részletét. Itt nyomon követheti a teljes folyamatot, és ellenőrizheti a lehetséges hibákat vagy jóváhagyhatja a sikeres válaszokat.
A webszolgáltatás megváltoztatása képernyőre visszatérve most át fogjuk tekinteni annak jobb oldalát. Itt lehetőségünk van a webszolgáltatás összes általános adatának módosítására, mint például név, leírás, hibakeresési küszöbszint, stb. Van itt további két szakasz is lent, amely lehetővé teszi számunkra bizonyos paraméterek módosítását az OTRS mint szolgáltató és az OTRS mint kérelmező kommunikációs típusoknál.
A webszolgáltatás beállítását el kell menteni minden egyes szinten. Ez azt jelenti, hogy ha egy beállítás megváltozik, akkor az egyéb, a beállítás mélyebb részeire mutató hivatkozások le lesznek tiltva arra kényszerítve Önt, hogy elmentse a jelenlegi beállítási szintet. A mentés után a letiltott hivatkozások ismét újra engedélyezve lesznek, lehetővé téve a beállítás folytatását.
Az OTRS mint szolgáltató szakasznál lehetséges a hálózati átviteli protokoll megadása vagy beállítása. Csak azok a hálózati átviteli háttérprogramok vannak megjelenítve a listában, amelyek regisztrálva vannak. A hálózati átvitel beállításához kattintson a Beállítás gombra. Lehetőség van új műveletek hozzáadásához is ebben a dobozban. Ehhez válassza ki az elérhető műveletek egyikét a Művelet hozzáadása listából. Ez a művelet beállítása képernyőre fogja vezetni. Az új művelet mentése után az a fenti táblázatban lesz felsorolva.
Az OTRS mint kérelmező nagyon hasonló az előzőhöz, de a műveletek helyett itt meghívókat adhat hozzá.
Kattintson a Mentés gombra a webszolgáltatás mentéséhez és a beállítás folytatásához, a Mentés és befejezés gombra a mentéshez és a webszolgáltatás áttekintő képernyőjéhez való visszatéréshez, vagy a Mégse gombra a jelenlegi beállítási szint változtatásainak eldobásához és a webszolgáltatás áttekintő képernyőjéhez való visszatéréshez.
A többi általános felület beállítási képernyőhöz hasonlóan - mint például a hálózati átvitel, művelet, meghívó és leképezés - a kezdeti beállítás (hozzáadás) képernyő csak két lehetőséget fog megjeleníteni: Mentés és Mégse. Ha a beállítást újra meglátogatja, akkor egy új Mentés és befejezés lehetőség fog megjelenni. Ennek a funkciónak a viselkedése lentebb van meghatározva.
A Mentés el fogja tárolni a jelenlegi beállítási szintet az adatbázisban, és vissza fog térni az előző képernyőre a változtatások áttekintéséhez vagy a mélyebb beállítások konfigurálásához.
A Mentés és befejezés el fogja tárolni a jelenlegi beállítási szintet az adatbázisban, és vissza fog térni az előző képernyőre a beállítási hierarchiában (a közvetlenül fölötte lévő beállítási szintre).
A Mégse el fog dobni minden beállítási változtatást a jelenlegi beállítási szintnél, és vissza fog térni az előző képernyőre a beállítási hierarchiában.
A jövőben az elérhető hálózati átvitelek listája meg lesz növelve. Jelenleg csak a HTTP::SOAP és a HTTP::REST átvitelek érhetők el. Minden átvitelnek különböző beállítási lehetőségei vannak a beállításhoz, és különböző előtétprogram modulokat használhatnak azok beállításához.
Nagyon egyszerű a HTTP::SOAP protokoll szolgáltatóként történő beállítása. Csak két beállítás van: Névtér és Legnagyobb üzenethossz. Ezek a mezők kötelezők. Az első egy URI a SOAP metódusokhoz történő környezet adásához csökkentve a félreérthetőséget, és a második egy olyan mező, ahol megadhatja a SOAP üzenetek legnagyobb méretét (bájtban), amelyet az OTRS fel fog dolgozni.
Adott esetben meghatározhat további válaszfejléceket is. Ezek használhatók statikus fejlécértékek hozzáadásához az egyes válaszokhoz. Egyszerűen kattintson a Válaszfejléc hozzáadása gombra, és töltse ki mind a kulcs, mind az érték mezőket. Nincs korlát a további fejlécsorok számára vonatkozóan.
A HTTP::REST esetén a beállítás egy kissé bonyolultabb lehet, mivel az dinamikusan nő minden beállított műveletnél az Útvonal leképezés a <Műveletnév> művelethez: és az Érvényes kérési módszerek a <Műveletnév> művelethez: beállítások hozzáadásával a Legnagyobb üzenethossz: és az Életben tartás küldése: alapértelmezett átviteli beállításokhoz.
Útvonal leképezés a „<Műveletnév>” művelethez:
Ebben a beállításban egy erőforrás útvonala van beállítva. Ezt az útvonalat a webszolgáltatás igényei szerint kell meghatározni figyelembe véve, hogy az útvonal a HTTP kérési módszerrel együtt határozza meg a végrehajtandó általános felületi műveletet.
Az útvonal tartalmazhat változókat „:<Változónév>” formájában. Minden útvonalszöveg, amely megfelel a változónév pozícióján, hozzá lesz adva a kérés hasznos terhéhez az ebben a beállításban meghatározott változónév használatával.
Példák:
Útvonal leképezés: /Eroforras
Érvényes kérések:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras?Param1=Egy
Érvénytelen kérések:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras?Param1=Egy
Útvonal leképezés: /Eroforras/:ID
Érvényes kérések:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/1
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/1?Param1=Egy
Mindkét esetben az ID = 1 lesz elküldve a műveletnek a hasznos teher részeként. A második esetben a Param1 = Egy is hozzá lesz adva. A HTTP kérési módszertől függően egyéb paraméterek is hozzá lesznek adva, ha azok JSON szövegként érkeznek a kérés fejlécében.
Érvénytelen kérések:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras?Param1=Egy
Útvonal leképezés: /Eroforras/EgyebEroforras/:ID/:Szin
Érvényes kérések:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/1/Piros
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/123/Kek?Param1=Egy
Az első példában ID = 1 és Szin = Piros, míg a másodikban ID = 123 és Szin = Kek.
Érvénytelen kérések:
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/1
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/1
http://localhost/otrs/nph-genericinterface.pl/Webservice/Proba/Eroforras/MasikEroforras/1?Param1=Egy
Az első példában a „/MasikEroforras” útvonal része, valamint a :Szin változó hiányzik. A második példában csak a :Szin változó hiányzik.
Érvényes kérési módszerek a „<Műveletnév>” művelethez:
A HTTP kérési módszerek az útvonal leképezéssel együtt használandó művelet meghatározásához. Lehetséges lehetőségek: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT és TRACE.
Teljesen különböző műveletek is megoszthatják pontosan ugyanazt a leképezési útvonalat, de a kérési módszernek egyedinek kell lennie minden egyes műveletnél azért, hogy minden kérésnél helyesen meghatározható legyen a használandó művelet.
Azokat a tevékenységeket, amelyeket akkor lehet végrehajtani, amikor az OTRS-t szolgáltatóként használja, Művelteknek hívják. Minden művelet egy vezérlőhöz tartozik. A vezérlők műveletek vagy meghívók gyűjteményei. Normális esetben az azonos vezérlőtől származó műveleteknek hasonló beállításokra van szükségük, és ugyanazon a beállítási párbeszédablakon osztoznak. Azonban az egyes műveleteknek lehetnek független beállítási párbeszédablakaik is, ha szükséges.
A Név, a Leírás, a Háttérprogram és a Leképezések azok a mezők, amelyek normális esetben minden egyes műveletnél megjelennek, de egyéb speciális mezők jelenhetnek meg a nem alapértelmezett beállítási párbeszédablakokban, hogy teljesítsék a művelet különleges szükségleteit.
Normális esetben két leképezés-beállítási szakasz van minden egyes műveletnél: egy a bejövő adatokhoz, és egy másik a kimenő adatokhoz. Különböző leképezési típusokat (háttérprogramokat) választhat minden egyes leképezési irányhoz, mivel a beállításaik függetlenek egymástól, valamint függetlenek a művelet háttérprogramjától is. A normál és leggyakoribb gyakorlat az, hogy a művelet ugyanazt a leképezési típust használja mindkét esetben (fordított beállítással). A teljes leképezési beállítás külön képernyőn végezhető el, amely a leképezési típustól függ.
A művelet háttérprogramja előre ki van töltve és nem szerkeszthető. Akkor fogja látni ezt a paramétert, amikor kiválasztja a műveletet a webszolgáltatás szerkesztési képernyőjén. Ez a mező csak tájékoztató.
A képernyő bal oldalán lévő művelet oszlopban a következő lehetőségei vannak: Vissza a webszolgáltatáshoz (az összes változtatás eldobása a legutóbbi mentés óta) és Törlés. Ha az utóbbira kattint, akkor egy párbeszédablak fog megnyílni, és azt fogja kérdezni, hogy el szeretné-e távolítani a műveletet. Kattintson a Törlés gombra a művelet és annak beállításai eltávolításának megerősítéséhez, vagy a Mégse gombra a törlés párbeszédablak bezárásához.
A hálózati átvitel beállítása a kérelmezőnél hasonló a szolgáltatónál lévő beállításhoz. A kérelmező HTTP::SOAP hálózati átvitelénél több beállítandó mező található.
A Végpont (a távoli rendszer webszolgáltatás felületének URI-ja a kérések fogadásához) és a Névtér mezőktől eltekintve, amelyek kötelező mezők, a következőket is megadhatja:
Kódolás (mint például utf-8, latin1, iso-8859-1, cp1250, stb.) a SOAP üzeneteknél.
SOAPAction fejléc: ezt egy üres vagy kitöltött SOAPAction fejléc küldéséhez használhatja. Állítsa Nem értékre, és a SOAPAction fejléc a SOAP üzenetnél egy üres szöveg lesz, vagy állítsa Igen értékre a SOAP művelet Névtér#Művelet formában történő elküldéséhez, és határozza meg az elválasztót (tipikusan „/” a .Net webszolgáltatásoknál és „#” REST esetén).
Hitelesítés: a hitelesítési mechanizmus beállításához. Állítsa „-” értékre, hogy semmilyen hitelesítést se használjon, vagy válasszon egyet a listából, és meg fog jelenni a részletek mező.
Jelenleg csak a BasicAuth (HTTP) hitelesítési mechanizmus van megvalósítva. A távoli rendszer beállításától függően eldöntheti, hogy használja-e vagy sem. Ha használja, akkor meg kell adnia a felhasználónevet és jelszót a távoli rendszerhez való hozzáféréshez.
Ha a hitelesítéshez megad egy jelszót, akkor miután exportálja a webszolgáltatást egy YAML-fájlba, ez a jelszó fel lesz fedve, és egyszerű szöveges formátumban lesz kiírva a YAML-fájlon belül. Legyen tudatában ennek, és tegye meg az óvintézkedéseket, ha szükséges.
A HTTP::REST esetén ez a beállítás is dinamikusan nő a Vezérlő leképezés a <Meghívónév> meghívóhoz: és az Érvényes kérési parancsok a <Meghívónév> meghívóhoz: beállításoknak az egyes meghívásokhoz való hozzáadásától függően. A hitelesítés és az SSL beállítások hasonlóak a HTTP::SOAP szakaszban lévőkhöz.
Gép
A távoli rendszer gépneve vagy IP-címe és portja. Ha nincs port megadva, akkor a 80-as portot használja alapértelmezetten.
Vezérlő leképezés a „<Meghívónév>” meghívóhoz:
Ebben a beállításban egy erőforrás útvonala van beállítva. Ezt az útvonalat a távoli webszolgáltatás igényei szerint kell meghatározni, és követni kell annak meghatározását.
Az útvonal tartalmazhat változókat „:<Változónév>” formájában. Minden változónév, amely illeszkedik az (elküldendő) jelenlegi adatokra, ki lesz cserélve a megfelelő adatértékkel. Ezek az illesztett változónevek és értékek el lesznek távolítva a jelenlegi adatokból. A HTTP kérési parancstól függően a megmaradó adatok elküldhetők JSON-szövegként a kérés törzsében, vagy lekérdezési paraméterekként az URI-n belül.
Példák:
A következő adatoknál: Valtozo1 = Egy, Valtozo2 = Kettő, Valtozo3 = Három és Valtozo4 = Négy.
Vezérlő leképezés: /Eroforras
A cserék után:
/Eroforras
Megmaradó adatok:
Valtozo1 = Egy, Valtozo2 = Kettő, Valtozo3 = Három és Valtozo4 = Négy
Vezérlő leképezés: /Eroforras/:Valtozo1
A cserék után:
/Eroforras/Egy
Megmaradó adatok:
Valtozo2 = Kettő, Valtozo3 = Három és Valtozo4 = Négy
Vezérlő leképezés: /Eroforras/:Valtozo1?Param1=:Valtozo2&Valtozo3=:Valtozo3
A cserék után:
/Eroforras/Egy?Param1=Kettő&Valtozo3=Három
Megmaradó adatok:
Valtozo4 = Négy
Érvényes kérési parancsok a „<Meghívónév>” meghívóhoz:
Ez határozza meg a használandó HTTP kérési módszert, a lehetséges lehetőségek: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT és TRACE. Ha nincs parancs kiválasztva, akkor az alapértelmezett parancsot használja.
Alapértelmezett parancs
Tartalékként van használva a meghatározott kérési parancs nélküli összes meghívónál.
Azokat a tevékenységeket, amelyeket akkor lehet végrehajtani, amikor az OTRS-t kérelmezőként használja, Meghívóknak hívják. Minden meghívó egy vezérlőhöz tartozik (a vezérlők műveletek vagy meghívók gyűjteményei). Általában az azonos vezérlőtől származó meghívóknak hasonló beállításokra van szükségük, és ugyanazon a beállítási párbeszédablakokon osztoznak. Az egyes meghívóknak lehetnek független beállítási párbeszédablakaik is, ha szükséges.
A Név, a Leírás, a Háttérprogram és a Leképezések azok a mezők, amelyek normális esetben minden egyes meghívónál megjelennek. Továbbá az eseményaktiválók listája és egyéb speciális mezők jelenhetnek meg a nem alapértelmezett beállítási párbeszédablakokban, hogy teljesítsék a meghívó speciális szükségleteit.
Normális esetben két leképezés-beállítási szakasz van minden egyes meghívónál: egy a bejövő adatokhoz, és egy másik a kimenő adatokhoz. Különböző leképezési típusokat (háttérprogramokat) választhat minden egyes leképezési irányhoz, mivel a beállításaik függetlenek egymástól, valamint függetlenek a meghívó háttérprogramjától is. A normál és leggyakoribb gyakorlat az, hogy a meghívó ugyanazt a leképezési típust használja mindkét esetben, fordított beállítással. A teljes leképezési beállítás külön képernyőn végezhető el, amely a leképezési típustól függ.
A meghívó háttérprogramja előre ki van töltve és nem szerkeszthető. Akkor fogja látni ezt a paramétert, amikor kiválasztja a meghívót a webszolgáltatás szerkesztési képernyőjén. Ez a mező csak tájékoztató.
Az eseményaktiválók olyan események az OTRS-en belül, mint például a
TicketCreate
, ArticleSend
, stb. Ezek
viselkedhetnek aktiválókként a meghívó végrehajtásához. Minden egyes
meghívónak rendelkeznie kell legalább egy regisztrált eseményaktiválóval,
különben a meghívó használhatatlan lesz, mert soha sem kerül
meghívásra. Ezen kívül az egyes eseményekhez szabályok halmaza (feltételek)
is meghatározható, hogy nagyobb irányítása legyen az események aktiválása
felett. Ezek a szabályok az eseményhez rendelt objektum adataitól
függenek. Az eseményaktiválók aszinkron tulajdonsága határozza meg, hogy az
OTRS folyamatot a meghívó fogja-e kezelni, vagy az OTRS démon lesz-e
megbízva vele.
Az OTRS démon egy külön folyamatkészlet, amely feladatokat hajt végre a háttérben. Ennek használatával maga az OTRS folyamat nem lesz érintett, ha a távoli rendszernek hosszú ideig tart válaszolni, ha nem érhető el, vagy hálózati problémák vannak. Ha nem használja az OTRS démont, akkor a webszolgáltatások használata lelassíthatja vagy válaszképtelenné teheti az OTRS keretrendszert. Ezért erősen ajánlott az aszinkron eseményaktiválók használata, amilyen gyakran csak lehetséges.
Egy eseményaktiváló hozzáadásához először válassza ki az eseménycsaládot az első listából, majd az eseménynevet a második listából, ezután állítsa be az aszinkron tulajdonságot (ha nincs bejelölve, akkor az azt jelenti, hogy az eseményaktiváló nem lesz aszinkron), és végül kattintson a plusz gombra. Egy új eseményaktiváló lesz létrehozva, és figyelni fog a meghívó Eseményaktiválók listáján.
Az Eseményaktiválók listájáról minden egyes esemény megjeleníti, hogy tartalmaz-e feltételeket vagy sem. A feltétel tulajdonság mellett lévő szerkesztés gomb lehetővé teszi az esemény aktuális feltételeinek hozzáadását vagy szerkesztését.
Egy eseményaktiváló törléséhez egyszerűen keresse meg a törlendő eseményaktiválót az Eseményaktiválók listájában, és kattintson a kuka ikonra a sor végén. Ez meg fog nyitni egy párbeszédablakot, amely azt kérdezi, hogy biztosan törölni szeretné-e az eseményaktiválót. Kattintson a Törlés gombra az eseményaktiváló eltávolításához a listából, vagy a Mégse gombra a párbeszédablak bezárásához.
A képernyő bal oldalán lévő művelet oszlopban a következő lehetőségei vannak: Vissza a webszolgáltatáshoz (az összes változtatás eldobása a legutóbbi mentés óta) és Törlés. Ha az utóbbira kattint, akkor egy párbeszédablak fog felbukkanni, és azt fogja kérdezni, hogy el szeretné-e távolítani a meghívót. Kattintson a Törlés gombra a meghívó és annak beállításai eltávolításának megerősítéséhez, vagy a Mégse gombra a törlés párbeszédablak bezárásához.
Néha egy meghívó aktiválásához meghatározott esemény sok szükségtelen vagy rossz kérést eredményezhet egy távoli kiszolgáló felé. Ilyen esetekben az esemény feltételei beállíthatók a meghívó aktiválásának korlátozásához.
Az esemény beállításai képernyő eléréséhez – ahol a feltételek meghatározhatók – az szükséges, hogy a meghívó képernyőn legyen, és onnan kattintson a feltétel állapota melletti szerkesztés ikonra annál az eseménynél, ahol a feltételnek hatással kell lennie.
Az esemény beállításai képernyőn belül a műveletsávban van egy gomb a meghívó képernyőre való visszatéréshez, valamint egy gomb az esemény összes feltételének eltávolításához. Alapértelmezetten a képernyő előre ki van töltve az első feltétellel. Frissítse a kapcsolódás típusát a feltételek között, ha egynél több feltételt terveznek, majd változtassa meg a kapcsolódás típusát az 1. feltételről, ha egynél több mezőt terveznek. Mindkét kapcsolódási mező elfogadja és, vagy, illetve kizáró vagy értékekként.
Töltse ki a Mező nevét, állítsa be az illesztés típusát
(Szöveg a pontos egyezéshez, Reguláris
kifejezés a reguláris kifejezés használatához vagy
Ellenőrző modul), és állítsa be az értéket az
illesztéshez (Ellenőrző modul esetén a teljes
osztálynevet, mint például:
Kernel::GenericInterface::Event::Validation::ValidateDemo
).
A feltételhez történő további mezők hozzáadásához kattintson a + gombra a mezők fejlécében. Egy mező eltávolításához kattintson a - gombra a mező sorában. Feltételenként legalább egy mező megtartása szükséges.
Több feltétel hozzáadásához kattintson az utolsó feltétel doboza alatti gombra. Egy feltétel eltávolításához kattintson a - gombra a feltétel fejlécében. Legalább egy feltétel megtartása szükséges a beállításban. Az összes feltétel eltávolításához használja az oldalsávon lévő gombot.
Vannak olyan esetek, ahol át kell alakítania az adatokat az egyik formátumról egy másik (adatszerkezet leképezése vagy megváltoztatása), mert normális esetben egy webszolgáltatást arra használnak, hogy kölcsönhatásba lépjen egy távoli rendszerrel, amely nagyon valószínű, hogy nem egy másik OTRS rendszer és/vagy nem tudja megérteni az OTRS adatszerkezeteit és értékeit. Ezekben az esetekben néhány vagy az összes adatot meg kell változtatni, és néha még az értékek (kulcsok) neveit is, vagy akár a teljes szerkezetet annak érdekében, hogy egyezzen a másik végen elvárt adatokkal. A feladat végrehajtásához van jelen az általános felület leképező rétege.
Minden egyes távoli rendszernek saját adatszerkezete van, valamint
lehetséges új leképezőmodulok létrehozása minden esetre (például van egy
személyre szabott leképezőmodul az OTRS keretrendszerrel szállított SAP
megoldáskezelőhöz), de ez nem mindig szükséges. A
Mapping::Simple
modulnak le kell fednie a leképezési
szükségletek legtöbbjét.
Amikor a Mapping::Simple
nem fedi le egy webszolgáltatás
összes leképezési szükségletét, akkor létre kell hozni egy új
leképezőmodult. Ha többet szeretne megtudni arról, hogy hogyan hozhatók
létre új leképezőmodulok, akkor nézzen utána az OTRS fejlesztői
kézikönyvében.
Ez a modul alkalmat ad arra, hogy alapértelmezett értékeket állítson be az egyes kulcsok vagy értékek leképezéséhez a teljes kommunikációs adatoknál.
A képernyő elején egy általános szakaszt fog látni, ahol azokat az alapértelmezett szabályokat állíthatja be, amelyeket alkalmazni kell az összes leképezetlen kulcsnál és értéknél. Három lehetőség érhető el, ezek a lehetőségek vannak alább felsorolva:
Megtartás (változatlanul hagyás): semmilyen módon sem nyúl a kulcsokhoz vagy értékekhez.
Mellőzés (kulcs/érték pár eldobása): amikor ezt a kulcson alkalmazzák, akkor törli a kulcsot és az értéket, mert amikor egy kulcs törlődik, akkor annak következtében a hozzárendelt érték is törölve lesz. Amikor ezt az értéken alkalmazzák, akkor csak az érték törlődik megtartva a kulcsot, amely most már egy üres értékhez lesz hozzárendelve.
Leképezés (a megadott kulcs vagy érték használata alapértelmezettként): egy meghatározott leképezési szabály nélküli összes kulcs és/vagy érték ezt fogja alapértelmezettként használni. Amikor ezt a lehetőséget választja, akkor egy új szövegmező fog megjelenni az alapértelmezett beállításához.
A + gombra kattintva az új kulcstérképnél egy új dobozt fog megjeleníteni egy egyedülálló leképezési beállításhoz. Annyi kulcsleképezést adhat hozzá, amennyi szükséges. Egyszerűen kattintson ismét a + gombra, és egy új leképezési doboz fog megjelenni a meglévő alatt. A leképezési dobozokból határozhat meg egy leképezést egy egyedüli kulcshoz a következő lehetőségekkel:
Pontos érték(ek): a régi kulcsszöveg meg lesz változtatva egy újra, ha a régi kulcs pontosan egyezik.
Reguláris kifejezés: a kulcsszöveg le lesz cserélve egy reguláris kifejezési szabályt követve.
Az új értékleképezés + gombjának megnyomása egy új sort fog megjeleníteni egy értékleképezéshez. Itt is ugyanazokkal a lehetőségekkel lehetséges szabályok meghatározása az egyes leképezendő értékekhez mint a kulcsleképezésnél (pontos érték vagy reguláris kifejezés). Annyi értéket adhat a leképezéshez, amennyi szükséges, és ha törölni szeretné az egyiküket, akkor kattintson a - gombra az egyes leképezési értékek sorában.
A teljes kulcsleképezési szakasz (doboz) törlése is lehetséges. Egyszerűen nyomja meg az egyes dobozok jobb felső sarkában található - gombot annál a doboznál, amelyet törölni szeretne.
Ha egy teljes leképezési beállítás törlésére van szüksége: menjen vissza a megfelelő művelet vagy meghívó képernyőjére, keresse meg azt a leképezési irányt, amelyet korábban kiválasztott, és állítsa az értékét - értékre, majd mentse el a beállítást a változtatások alkalmazásához.
A bin/otrs.Console.pl Admin::WebService::*
parancsokat
azért fejlesztették ki, hogy alapvető, de gyors és hatékony eszközöket
hozzanak létre a webszolgáltatás beállításaival végzett munkához. A
következő műveletek végrehajtásához adnak képességet:
Hozzáadás: webszolgáltatások létrehozásához egy YAML-fájl használatával beállítási forrásként.
Frissítés: egy meglévő webszolgáltatás megváltoztatásához. A beállítások egy eltérő vagy módosított YAML-fájl használatával változtathatók meg.
Kiírás: a jelenlegi webszolgáltatás beállításainak mentése egy fájlba.
Listázás: a rendszeren regisztrált összes webszolgáltatás teljes listájának lekéréséhez.
Törlés: egy webszolgáltatás törléséhez a rendszerről. Legyen óvatos, amikor használja, mert ez a művelet nem vonható vissza.
Példa: Egy új webszolgáltatás-beállítás létrehozása:
shell> bin/otrs.Console.pl Admin::WebService::Add --name <webservice_name> --source-path /útvonal/a/yaml/fájlhoz
A tervezésétől kezdve úgy gondolták ki a webszolgáltatásokat, hogy hordozhatók legyenek az egyik OTRS rendszerről a másikra, például egy teszt vagy fejlesztői környezetből egy produktív rendszerre. Ezért szükség volt arra, hogy egyszerű módja legyen a webszolgáltatás beállításának kinyeréséhez az adatbázisból, és annak importálásához egy másikba. A feladat végrehajtásához az általános felület YAML-fájlokat használ a webszolgáltatások beállításainak alapjaként.
Miért YAML? A YAML egy olyan jelölőnyelv, amelyet úgy terveztek, hogy emberbarát módon legyen olvasható és írható (könnyebb megérteni a JSON formátumnál), nem rendelkezik az XML-szerű numerikus címkék néhány korlátozásával, nyílt, szabványosított, és teljesen elegendő a teljes webszolgáltatás beállításának eltárolásához.
Ha többet szeretne megtudni a YAML formátumról, akkor látogassa meg a http://www.yaml.org/ oldalt.
A következő egy webszolgáltatás beállítófájl példája YAML-formátumban:
--- Debugger: DebugThreshold: debug Description: Ez egy példa egy webszolgáltatás beállítására Provider: Operation: CloseIncident: Description: Ez egy próba művelet MappingInbound: {} MappingOutbound: {} RemoteSystemGuid: '' Type: Test::Test Test: Description: Ez egy próba művelet MappingInbound: Config: KeyMapDefault: MapTo: '' MapType: Keep KeyMapExact: Prio: Priority ValueMap: Priority: ValueMapExact: Critical: 5 Very High Information: 1 Very Low Warning: 3 Normal ValueMapDefault: MapTo: 3 Normal MapType: MapTo Type: Simple MappingOutbound: Config: KeyMapDefault: MapTo: '' MapType: Ignore KeyMapExact: Priority: Prio ValueMap: Prio: ValueMapExact: 1 Very Low: Information 3 Normal: Warning 5 Very High: Critical ValueMapDefault: MapTo: '' MapType: Ignore Type: Simple Type: Test::Test Transport: Config: MaxLength: 10000000 NameSpace: http://www.example.com/actions Type: HTTP::SOAP RemoteSystem: remote.system.description.example.com Requester: Invoker: Test: Description: Ez egy próba meghívó Events: - Asynchronous: 1 Condition: Condition: '1': Fields: Queue: Match: Raw Type: String Type: and ConditionLinking: and Event: TicketCreate - Asynchronous: 0 Event: ArticleUpdate MappingInbound: Type: Simple MappingOutbound: Type: Simple Type: Test::Test Transport: Config: Authentication: Password: '*******' Type: BasicAuth User: otrs Encoding: utf-8 Endpoint: http://www.example.com:8080/endpoint NameSpace: http://www.example.com/actions SOAPAction: Yes SOAPActionSeparator: '#' Type: HTTP::SOAP
Description
: egy rövid szöveg, amely leírja a
webszolgáltatást.
RemoteSystem
: a távoli rendszer rövid leírása.
Debugger
: egy konténer a hibakereső beállításaihoz.
Provider
: egy konténer a szolgáltató beállításaihoz.
Requester
: egy konténer a kérelmező beállításaihoz.
DebugThreshold
: a hibakereső szintje.
Lehetséges értékek
debug
: az összes napló eltárolásra kerül az adatbázisban.
info
: az információ, az értesítés és a hiba szintek
naplói kerülnek eltárolásra az adatbázisban.
notice
: az értesítés és a hiba szintek naplói kerülnek
eltárolásra az adatbázisban.
error
: csak a hiba szintek naplói kerülnek eltárolásra az
adatbázisban.
Operation
: egy konténer az egyes műveleti beállításokhoz.
Transport
: egy konténer a szolgáltató hálózati
átvitelének beállításaihoz.
<Műveletnév>
: egyedi név a művelethez, egy konténer
a saját műveletének beállításaihoz (0..n számosságú, de nem kettőzött).
Ez a szakasz a Test::Test
típusból való műveleteken
alapul. Az egyéb műveletek több vagy különböző beállításokat
tartalmazhatnak.
Description
: egy rövid szöveg, amely leírja a műveletet.
MappingInbound
: egy konténer a bejövő kérésadatok
leképezési beállításaihoz.
MappingOutbound
: egy konténer a kimenő válaszadatok
leképezési beállításaihoz.
Type
: a művelet háttérprogramja Vezérlő::Művelet
formátumban.
Ez a szakasz a Simple
típusból való leképezéseken
alapul. Az egyéb leképezések több vagy különböző beállításokat
tartalmazhatnak.
Config
: egy konténer ezekhez a leképezési beállításokhoz.
Type
: a leképező háttérprogram.
KeyMapDefault
: egy konténer az összes nem leképezett
kulcs beállításaihoz.
ValueMapDefault
: egy konténer az összes nem leképezett
érték beállításaihoz.
KeyMapExact
: egy konténer az összes pontos
kulcsleképezéshez (0..1 számosságú).
KeyMapRegEx
: egy konténer az összes reguláris kifejezéses
kulcsleképezéshez (0..1 számosságú).
ValueMap
: egy konténer az összes értékleképezéshez (0..1
számosságú).
MapTo
: a használandó új érték (csak akkor alkalmazható,
ha a MapType
tulajdonság MapTo
értékre
van állítva).
MapType
: a leképezés szabálya.
Lehetséges értékek
Keep
: változatlanul hagyás.
Ignore
: eldobás.
MapTo
: megváltoztatás a MapTo
értékére.
<újkulcs>
: egy konténer ennek az új kulcsnak az
értékleképezéséhez (a számosság a KeyMapExact
és a
KeyMapRegEx
tulajdonságból származó új kulcsoktól függ).
ValueMapExact
: egy konténer az összes pontos
értékleképezéshez (0..1 számosságú).
ValueMapRegEx
: egy konténer az összes reguláris
kifejezéses értékleképezéshez (0..1 számosságú).
Ez a szakasz a szolgáltató HTTP::SOAP hálózati átvitelén alapul. Az egyéb átvitelek több vagy különböző beállításokat tartalmazhatnak.
Config
: egy konténer az adott hálózati átvitel
konfigurációs beállításaihoz.
Type
: a szolgáltató hálózati átviteli háttérprogramja.
Invoker
: egy konténer az egyes kérelmezők beállításaihoz.
Transport
: egy konténer a kérelmező hálózati átvitelének
beállításaihoz.
<Meghívónév>
: Egyedi név a meghívóhoz, egy konténer
a saját meghívójának beállításaihoz (0..n számosságú, de nem kettőzött).
Ez a szakasz a Test::Test
típusból való meghívókon
alapul. Az egyéb meghívók több vagy különböző beállításokat tartalmazhatnak.
Description
: egy rövid szöveg, amely leírja a meghívót.
Events
: egy konténer az eseményaktiváló beállításainak
névtelen listájához.
MappingInbound
: egy konténer a bejövő válaszadatok
leképezési beállításaihoz.
MappingOutbound
: egy konténer a kimenő kérésadatok
leképezési beállításaihoz.
Type
: a meghívó háttérprogramja
Vezérlő::Meghívó
formátumban.
Listaelem: (0..n számosságú).
Asynchronous
: annak beállításához, hogy a meghívó
végrehajtása delegálásra kerüljön-e az OTRS démonhoz.
Lehetséges értékek
0: nem kezeli az OTRS démon.
1: az OTRS démon kezeli.
Condition
: eseményfeltételek konténere a meghívó
aktiválásához; ha nincsenek feltételek, akkor az esemény mindig aktiválni
fogja a meghívót.
Event
: az eseményaktiváló neve.
Lehetséges értékek (a jegyeseményeknél)
TicketCreate
TicketDelete
TicketTitleUpdate
TicketUnlockTimeoutUpdate
TicketQueueUpdate
TicketTypeUpdate
TicketServiceUpdate
TicketSLAUpdate
TicketCustomerUpdate
TicketPendingTimeUpdate
TicketLockUpdate
TicketArchiveFlagUpdate
TicketStateUpdate
TicketOwnerUpdate
TicketResponsibleUpdate
TicketPriorityUpdate
HistoryAdd
HistoryDelete
TicketAccountTime
TicketMerge
TicketSubscribe
TicketUnsubscribe
TicketFlagSet
TicketFlagDelete
TicketSlaveLinkAdd
TicketSlaveLinkDelete
TicketMasterLinkDelete
Lehetséges értékek (a bejegyzéseseményeknél)
ArticleCreate
ArticleUpdate
ArticleSend
ArticleBounce
ArticleAgentNotification
ArticleCustomerNotification
ArticleAutoResponse
ArticleFlagSet
ArticleFlagDelete
Condition
: konténer a tényleges eseményfeltételekhez.
ConditionLinking
: azt határozza meg, hogy több feltétel
hogyan álljon egymással kölcsönhatásban.
Lehetséges értékek (a feltételkapcsolásánál)
and
or
xor
<Feltételnév>
: konténer a feltétel elemeihez.
Egyedi név a feltételhez a meghívón és az eseményen belül. A grafikus felhasználói felület folyamatosan növekvő egész számot rendel a feltétel neveihez 1-től kezdve.
Fields
: konténer a mező feltételeihez.
Type
: annak meghatározása, hogy több mező milyen
kölcsönhatásban legyen egymással a feltételén belül.
Lehetséges értékek (a feltételkapcsolásánál)
and
or
xor
<Mezőnév>
: konténermező attribútumok.
Egy mező neve az eseményobjektumból (például a jegyeseményeknél a mezők a
következők lehetnek: Queue
, Priority
,
Type
, stb.).
Match
: az érték a kiválasztottból az eseményobjektummal
való illesztéshez a Type
módosító használatával.
Type
: módosító a Match
értékhez.
Lehetséges értékek (a típusmódosítónál)
String
: közvetlen összehasonlítás az objektummező értéke
és a Match
értéke között.
Regexp
: az objektummező értékének összehasonlítása a
Match
értékében meghatározott reguláris kifejezéssel.
Module
: a Match
tulajdonságban
meghatározott modul használata az objektum adataival.
Ez a szakasz a kérelmező HTTP::SOAP hálózati átvitelén alapul. Az egyéb átvitelek több vagy különböző beállításokat tartalmazhatnak.
Config
: egy konténer az adott hálózati átvitel
konfigurációs beállításaihoz.
Type
: a kérelmező hálózati átviteli háttérprogramja.
Authentication
: egy konténer a hitelesítés
beállításaihoz.
Encoding
: a SOAP üzenetkérés kódolása.
Endpoint
: a távoli kiszolgáló webszolgáltatásának URI-ja
az OTRS kérések elfogadásához.
NameSpace
: egy URI, amely egy környezetet ad az összes
olyan meghívóhoz, amely ehhez a webszolgáltatáshoz tartozik.
SOAPAction
: egy üres vagy kitöltött
SOAPAction
fejléc küldéséhez a SOAP üzenetben
(<Névtér> <Elválasztó> <Művelet>
formátumban).
Lehetséges értékek
Yes
: egy kitöltött SOAPAction
fejléc
küldéséhez.
No
: egy üres SOAPAction
fejléc
küldéséhez.
SOAPActionSeparator
: egy kitöltött
SOAPAction
fejléc <Elválasztó>
beállításához.
Lehetséges értékek
'/'
: a .net webszolgáltatásoknál használják.
'#'
: az összes többi webszolgáltatásnál ezt használják.
Egy csatlakozó lényegében olyan tevékenységek halmaza, amelyeket vagy műveleteknek hívnak, ha az OTRS egy webszolgáltatás szolgáltatójaként működik, vagy meghívóknak hívnak, ha az OTRS egy webszolgáltatás kérelmezőjeként működik. De tartalmazhat speciális leképezéseket vagy átviteleket is.
Egy csatlakozónak lehetnek csak műveletei, csak meghívói vagy mindkettő. Egy csatlakozó akár más csatlakozók részeit is használhatja, mint például a leképezések vagy átvitelek, ha azok nem sajátosak annál a csatlakozónál, amely megpróbálja megvalósítani azokat.
Más szavakkal egy csatlakozó nincs korlátozva csak a vezérlő rétegére, hanem kiterjeszthető az adatleképezés vagy a hálózati átvitel rétegekre is, ha szükséges.
Az általános felület moduláris tervezésének köszönhetően egy csatlakozó bővítményként látható. Ez azt jelenti, hogy csatlakozók hozzáadásával az általános felület képességei kiterjeszthetők a következők használatával: OTRS funkcióbővítmények, egyéni OTRS modulok, harmadik féltől származó modulok, és így tovább.
Az OTRS ezen verziója a következő csatlakozókat tartalmazza használatra készen:
Munkamenet
Jegy
Ez a csatlakozó képes egy olyan érvényes munkamenet-azonosító létrehozására, amely bármely egyéb műveletben használható.
Biztosítja:
Műveletek:
SessionCreate
SessionGet
Egy új érvényes munkamenet-azonosítót hoz létre egyéb műveletekben történő használatra más csatlakozókból, mint például TicketCreate.
A munkamenet-azonosító használatához egyéb műveletekben más csatlakozókból az szükséges, hogy a művelet megvalósítsa a munkamenet-azonosító szerinti hitelesítést. Az összes többi csomagolt művelet képes egy érvényes munkamenet-azonosító elfogadására hitelesítési módszerként.
Lehetséges jellemzők:
<SessionCreate> <!--Ezen a szinten a következő 2 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <UserLogin>?</UserLogin> <!--Választható:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Választható:--> <Password>?</Password> </SessionCreate>
Adatokat gyűjt egy érvényes munkamenetből, kivéve az érzékeny információkat, mint például a felhasználó jelszava vagy a kihívási token.
Ha az értékei bármelyike összetett szerkezet, akkor automatikusan átalakításra kerül egy JSON karakterlánccá.
Lehetséges jellemzők:
<SessionGet> <SessionID>?</SessionID> </SessionGet>
Ez a csatlakozó látja el az alapvető funkcionalitást a jegyekkel való kölcsönhatáshoz.
Biztosítja:
Műveletek:
TicketCreate
TicketUpdate
TicketGet
TicketSearch
TicketHistoryGet
Egy felületet biztosít egy jegy létrehozásához az OTRS-ben. Egy jegynek tartalmaznia kell egy bejegyzést, és tartalmazhat néhány mellékletet, valamint az összes meghatározott dinamikus mező is beállítható a TicketCreate műveletnél.
Lehetséges jellemzők:
<TicketCreate> <!--Ezen a szinten a következő 3 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <UserLogin>?</UserLogin> <!--Választható:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Választható:--> <SessionID>?</SessionID> <!--Választható:--> <Password>?</Password> <Ticket> <Title>?</Title> <!--Ezen a szinten a következő 2 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <QueueID>?</QueueID> <!--Választható:--> <Queue>?</Queue> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <TypeID>?</TypeID> <!--Választható:--> <Type>?</Type> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <ServiceID>?</ServiceID> <!--Választható:--> <Service>?</Service> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <SLAID>?</SLAID> <!--Választható:--> <SLA>?</SLA> <!--Ezen a szinten a következő 2 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <StateID>?</StateID> <!--Választható:--> <State>?</State> <!--Ezen a szinten a következő 2 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <PriorityID>?</PriorityID> <!--Választható:--> <Priority>?</Priority> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <OwnerID>?</OwnerID> <!--Választható:--> <Owner>?</Owner> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <ResponsibleID>?</ResponsibleID> <!--Választható:--> <Responsible>?</Responsible> <CustomerUser>?</CustomerUser> <!--Választható:--> <CustomerID>?</CustomerID> <!--Választható:--> <PendingTime> <!--Ezen a szinten a következő és a többi 5 elemből lehet VÁLASZTANI--> <Diff>?</Diff> <Year>?</Year> <Month>?</Month> <Day>?</Day> <Hour>?</Hour> <Minute>?</Minute> </PendingTime> </Ticket> <Article> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <CommunicationChannelID>?</CommunicationChannelID> <!--Választható: a lehetséges értékek: Email, Internal vagy Phone--> <CommunicationChannel>?</CommunicationChannel> <IsVisibleForCustomer>?</IsVisibleForCustomer> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <SenderTypeID>?</SenderTypeID> <!--Választható:--> <SenderType>?</SenderType> <!--Választható:--> <From>?</From> <Subject>?</Subject> <Body>?</Body> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <ContentType>?</ContentType> <Charset>?</Charset> <MimeType>?</MimeType> <!--Választható:--> <HistoryType>?</HistoryType> <!--Választható:--> <HistoryComment>?</HistoryComment> <!--Választható:--> <AutoResponseType>?</AutoResponseType> <!--Választható:--> <TimeUnit>?</TimeUnit> <!--Választható:--> <NoAgentNotify>?</NoAgentNotify> <!--Nulla vagy több ismétlődés:--> <ForceNotificationToUserID>?</ForceNotificationToUserID> <!--Nulla vagy több ismétlődés:--> <ExcludeNotificationToUserID>?</ExcludeNotificationToUserID> <!--Nulla vagy több ismétlődés:--> <ExcludeMuteNotificationToUserID>?</ExcludeMuteNotificationToUserID> </Article> <!--Nulla vagy több ismétlődés:--> <DynamicField> <Name>?</Name> <!--1 vagy több ismétlődés:--> <Value>?</Value> </DynamicField> <!--Nulla vagy több ismétlődés:--> <Attachment> <Content>cid:61886944659</Content> <ContentType>?</ContentType> <Filename>?</Filename> </Attachment> </TicketCreate>
A TicketUpdate művelet egy meglévő jegyből történő jellemzők módosításának vagy egy új bejegyzés hozzáadásának a képességét adja hozzá, beleértve a mellékleteket és minden dinamikus mezőt a jegynél és az új bejegyzésnél.
Nem szükséges egy új bejegyzést létrehozni egy jegyjellemző módosításához.
Lehetséges jellemzők:
<TicketUpdate> <!--Ezen a szinten a következő 3 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <UserLogin>?</UserLogin> <!--Választható:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Választható:--> <SessionID>?</SessionID> <!--Választható:--> <Password>?</Password> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <TicketID>?</TicketID> <TicketNumber>?</TicketNumber> <!--Választható:--> <Ticket> <!--Választható:--> <Title>?</Title> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <QueueID>?</QueueID> <!--Választható:--> <Queue>?</Queue> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <TypeID>?</TypeID> <!--Választható:--> <Type>?</Type> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <ServiceID>?</ServiceID> <!--Választható:--> <Service>?</Service> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <SLAID>?</SLAID> <!--Választható:--> <SLA>?</SLA> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <StateID>?</StateID> <!--Választható:--> <State>?</State> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <PriorityID>?</PriorityID> <!--Választható:--> <Priority>?</Priority> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <OwnerID>?</OwnerID> <!--Választható:--> <Owner>?</Owner> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <ResponsibleID>?</ResponsibleID> <!--Választható:--> <Responsible>?</Responsible> <!--Választható:--> <CustomerUser>?</CustomerUser> <!--Választható:--> <CustomerID>?</CustomerID> <!--Választható:--> <PendingTime> <!--Ezen a szinten a következő és a többi 5 elemből lehet VÁLASZTANI--> <Diff>?</Diff> <Year>?</Year> <Month>?</Month> <Day>?</Day> <Hour>?</Hour> <Minute>?</Minute> </PendingTime> </Ticket> <!--Választható:--> <Article> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <CommunicationChannelID>?</CommunicationChannelID> <!--Választható: lehetséges értékek: Email, Internal vagy Phone--> <CommunicationChannel>?</CommunicationChannel> <IsVisibleForCustomer>?</IsVisibleForCustomer> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <SenderTypeID>?</SenderTypeID> <!--Választható:--> <SenderType>?</SenderType> <!--Választható:--> <From>?</From> <Subject>?</Subject> <Body>?</Body> <!--Ezen a szinten a következő 2 elemből lehet VÁLASZTANI--> <!--Választható:--> <ContentType>?</ContentType> <Charset>?</Charset> <MimeType>?</MimeType> <!--Választható:--> <HistoryType>?</HistoryType> <!--Választható:--> <HistoryComment>?</HistoryComment> <!--Választható:--> <AutoResponseType>?</AutoResponseType> <!--Választható:--> <TimeUnit>?</TimeUnit> <!--Választható:--> <NoAgentNotify>?</NoAgentNotify> <!--Nulla vagy több ismétlődés:--> <ForceNotificationToUserID>?</ForceNotificationToUserID> <!--Nulla vagy több ismétlődés:--> <ExcludeNotificationToUserID>?</ExcludeNotificationToUserID> <!--Nulla vagy több ismétlődés:--> <ExcludeMuteNotificationToUserID>?</ExcludeMuteNotificationToUserID> </Article> <!--Nulla vagy több ismétlődés:--> <DynamicField> <Name>?</Name> <!--1 vagy több ismétlődés:--> <Value>?</Value> </DynamicField> <!--Nulla vagy több ismétlődés:--> <Attachment> <Content>cid:166861569966</Content> <ContentType>?</ContentType> <Filename>?</Filename> </Attachment> </TicketUpdate>
Ez a művelet egy jegy összes jellemzőjének lekéréséhez használható, beleértve a dinamikus mezőket, az összes bejegyzést és az összes mellékletet, amelyek a jegyhez tartoznak.
Lehetséges jellemzők:
<TicketGet> <!--Ezen a szinten a következő 3 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <UserLogin>?</UserLogin> <!--Választható:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Választható:--> <SessionID>?</SessionID> <!--Választható:--> <Password>?</Password> <!--1 vagy több ismétlődés:--> <TicketID>?</TicketID> <!--Választható:--> <DynamicFields>?</DynamicFields> <!--Választható:--> <Extended>?</Extended> <!--Választható:--> <AllArticles>?</AllArticles> <!--Választható:--> <ArticleSenderType>?</ArticleSenderType> <!--Választható:--> <ArticleOrder>?</ArticleOrder> <!--Választható:--> <ArticleLimit>?</ArticleLimit> <!--Választható:--> <Attachments>?</Attachments> <!--Választható:--> <GetAttachmentContents>?</GetAttachmentContents> <!--Választható:--> <HTMLBodyAsAttachment>?</HTMLBodyAsAttachment> </TicketGet>
A TicketSearch művelet azon jegyazonosítók listáját adja vissza, amelyek illeszkednek az előre meghatározott feltételekre.
Lehetséges jellemzők:
<TicketSearch> <!--Ezen a szinten a következő 3 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <UserLogin>?</UserLogin> <!--Választható:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Választható:--> <SessionID>?</SessionID> <!--Választható:--> <Password>?</Password> <!--Választható:--> <Limit>?</Limit> <!--Nulla vagy több ismétlődés:--> <TicketNumber>?</TicketNumber> <!--Nulla vagy több ismétlődés:--> <Title>?</Title> <!--Nulla vagy több ismétlődés:--> <Queues>?</Queues> <!--Nulla vagy több ismétlődés:--> <QueueIDs>?</QueueIDs> <!--Választható:--> <UseSubQueues>?</UseSubQueues> <!--Nulla vagy több ismétlődés:--> <Types>?</Types> <!--Nulla vagy több ismétlődés:--> <TypeIDs>?</TypeIDs> <!--Nulla vagy több ismétlődés:--> <States>?</States> <!--Nulla vagy több ismétlődés:--> <StateIDs>?</StateIDs> <!--Nulla vagy több ismétlődés:--> <StateType>?</StateType> <!--Nulla vagy több ismétlődés:--> <StateTypeIDs>?</StateTypeIDs> <!--Nulla vagy több ismétlődés:--> <Priorities>?</Priorities> <!--Nulla vagy több ismétlődés:--> <PriorityIDs>?</PriorityIDs> <!--Nulla vagy több ismétlődés:--> <Services>?</Services> <!--Nulla vagy több ismétlődés:--> <ServiceIDs>?</ServiceIDs> <!--Nulla vagy több ismétlődés:--> <SLAs>?</SLAs> <!--Nulla vagy több ismétlődés:--> <SLAIDs>?</SLAIDs> <!--Nulla vagy több ismétlődés:--> <Locks>?</Locks> <!--Nulla vagy több ismétlődés:--> <LockIDs>?</LockIDs> <!--Nulla vagy több ismétlődés:--> <OwnerIDs>?</OwnerIDs> <!--Nulla vagy több ismétlődés:--> <ResponsibleIDs>?</ResponsibleIDs> <!--Nulla vagy több ismétlődés:--> <WatchUserIDs>?</WatchUserIDs> <!--Nulla vagy több ismétlődés:--> <CustomerID>?</CustomerID> <!--Nulla vagy több ismétlődés:--> <CustomerUserLogin>?</CustomerUserLogin> <!--Nulla vagy több ismétlődés:--> <CreatedUserIDs>?</CreatedUserIDs> <!--Nulla vagy több ismétlődés:--> <CreatedTypes>?</CreatedTypes> <!--Nulla vagy több ismétlődés:--> <CreatedTypeIDs>?</CreatedTypeIDs> <!--Nulla vagy több ismétlődés:--> <CreatedPriorities>?</CreatedPriorities> <!--Nulla vagy több ismétlődés:--> <CreatedPriorityIDs>?</CreatedPriorityIDs> <!--Nulla vagy több ismétlődés:--> <CreatedStates>?</CreatedStates> <!--Nulla vagy több ismétlődés:--> <CreatedStateIDs>?</CreatedStateIDs> <!--Nulla vagy több ismétlődés:--> <CreatedQueues>?</CreatedQueues> <!--Nulla vagy több ismétlődés:--> <CreatedQueueIDs>?</CreatedQueueIDs> <!--Nulla vagy több ismétlődés:--> <DynamicField> <Name>?<Name> <!--Ezen a szinten a következő 6 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <Equals>?</Equals> <!--Választható:--> <Like>?</Like> <!--Választható:--> <GreaterThan>?</GreaterThan> <!--Választható:--> <GreaterThanEquals>?</GreaterThanEquals> <!--Választható:--> <SmallerThan>?</SmallerThan> <!--Választható:--> <SmallerThanEquals>?</SmallerThanEquals> </DynamicField> <!--Választható:--> <Ticketflag> <!--Választható:--> <Seen>?</Seen> </Ticketflag> <!--Választható:--> <From>?</From> <!--Választható:--> <To>?</To> <!--Választható:--> <Cc>?</Cc> <!--Választható:--> <Subject>?</Subject> <!--Választható:--> <Body>?</Body> <!--Választható:--> <FullTextIndex>?</FullTextIndex> <!--Választható:--> <ContentSearch>?</ContentSearch> <!--Választható:--> <ConditionInline>?</ConditionInline> <!--Választható:--> <ArticleCreateTimeOlderMinutes>?</ArticleCreateTimeOlderMinutes> <!--Választható:--> <ArticleCreateTimeNewerMinutes>?</ArticleCreateTimeNewerMinutes> <!--Választható:--> <ArticleCreateTimeNewerDate>?</ArticleCreateTimeNewerDate> <!--Választható:--> <ArticleCreateTimeOlderDate>?</ArticleCreateTimeOlderDate> <!--Választható:--> <TicketCreateTimeOlderMinutes>?</TicketCreateTimeOlderMinutes> <!--Választható:--> <ATicketCreateTimeNewerMinutes>?</ATicketCreateTimeNewerMinutes> <!--Választható:--> <TicketCreateTimeNewerDate>?</TicketCreateTimeNewerDate> <!--Választható:--> <TicketCreateTimeOlderDate>?</TicketCreateTimeOlderDate> <!--Választható:--> <TicketLastChangeTimeOlderMinutes>?</TicketLastChangeTimeOlderMinutes> <!--Választható:--> <TicketLastChangeTimeNewerMinutes>?</TicketLastChangeTimeNewerMinutes> <!--Választható:--> <TicketLastChangeTimeNewerDate>?</TicketLastChangeTimeNewerDate> <!--Választható:--> <TicketLastChangeTimeOlderDate>?</TicketLastChangeTimeOlderDate> <!--Választható:--> <TicketChangeTimeOlderMinutes>?</TicketChangeTimeOlderMinutes> <!--Választható:--> <TicketChangeTimeNewerMinutes>?</TicketChangeTimeNewerMinutes> <!--Választható:--> <TicketChangeTimeNewerDate>?</TicketChangeTimeNewerDate> <!--Választható:--> <TicketChangeTimeOlderDate>?</TicketChangeTimeOlderDate> <!--Választható:--> <TicketCloseTimeOlderMinutes>?</TicketCloseTimeOlderMinutes> <!--Választható:--> <TicketCloseTimeNewerMinutes>?</TicketCloseTimeNewerMinutes> <!--Választható:--> <TicketCloseTimeNewerDate>?</TicketCloseTimeNewerDate> <!--Választható:--> <TicketCloseTimeOlderDate>?</TicketCloseTimeOlderDate> <!--Választható:--> <TicketPendingTimeOlderMinutes>?</TicketPendingTimeOlderMinutes> <!--Választható:--> <TicketPendingTimeNewerMinutes>?</TicketPendingTimeNewerMinutes> <!--Választható:--> <TicketPendingTimeNewerDate>?</TicketPendingTimeNewerDate> <!--Választható:--> <TicketPendingTimeOlderDate>?</TicketPendingTimeOlderDate> <!--Választható:--> <TicketEscalationTimeOlderMinutes>?</TicketEscalationTimeOlderMinutes> <!--Választható:--> <TTicketEscalationTimeNewerMinutes>?</TTicketEscalationTimeNewerMinutes> <!--Választható:--> <TicketEscalationTimeNewerDate>?</TicketEscalationTimeNewerDate> <!--Választható:--> <TicketEscalationTimeOlderDate>?</TicketEscalationTimeOlderDate> <!--Választható:--> <ArchiveFlags>?</ArchiveFlags> <!--Nulla vagy több ismétlődés:--> <OrderBy>?</OrderBy> <!--Nulla vagy több ismétlődés:--> <SortBy>?</SortBy> <!--Nulla vagy több ismétlődés:--> <CustomerUserID>?</CustomerUserID> </TicketSearch>
Ez a művelet az összes előzménybejegyzés lekéréséhez használható egy jegyből vagy jegyekből.
Lehetséges jellemzők:
<TicketHistoryGet> <!--Ezen a szinten a következő 2 elemből kell KÖTELEZŐEN VÁLASZTANI--> <!--Választható:--> <UserLogin>?</UserLogin> <!--Választható:--> <SessionID>?</SessionID> <!--Választható:--> <Password>?</Password> <!--1 vagy több ismétlődés:--> <TicketID>?</TicketID> </TicketHistoryGet>
A következő egy alap, de teljes webszolgáltatás beállítófájl YAML
formátumban az összes jegy csatlakozó művelet használatához SOAP hálózati
átvitellel. Azért, hogy használhassa az OTRS-ben, ki kell másolnia a
tartalmát, el kell mentenie egy
GenericTicketConnectorSOAP.yml
nevű fájlba, és
importálnia kell az OTRS-be az adminisztrációs panelen lévő
Webszolgáltatások képernyőn a „Webszolgáltatás hozzáadása” gombra kattintva
az áttekintő képernyőről, majd ezután a „Webszolgáltatás importálása” gombra
kattintva a hozzáadás képernyőn.
--- Debugger: DebugThreshold: debug TestMode: 0 Description: Jegycsatlakozó SOAP minta FrameworkVersion: 3.4.x git Provider: Operation: SessionCreate: Description: Létrehoz egy munkamenetet MappingInbound: {} MappingOutbound: {} Type: Session::SessionCreate TicketCreate: Description: Létrehoz egy jegyet MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketCreate TicketUpdate: Description: Frissít egy jegyet MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketUpdate TicketGet: Description: Lekéri a jegyadatokat MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketGet TicketSearch: Description: Jegyek keresése MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketSearch TicketHistoryGet: Description: Lekéri egy jegy előzményeit MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketHistoryGet Transport: Config: MaxLength: 100000000 NameSpace: http://www.otrs.org/TicketConnector/ Type: HTTP::SOAP RemoteSystem: '' Requester: Transport: Type: ''
Hasonló példát lehet készíteni a REST hálózati átvitelhez. A REST webszolgáltatások olyan HTTP műveleteket használnak, mint például „POST”, „GET”, „PUT”, „PATCH”, stb. Ezek a műveletek egy erőforrásnak hívott URI-útvonallal együtt határoznak meg egy OTRS általános felület műveletet vagy meghívót (a kommunikációs módszertől függően).
A következő példa a /Session erőforrást használja a SessionCreate
műveletnél, a /Ticket erőforrást a TicketSearch és a TicketCreate
műveleteknél, valamint a /Ticket/{TicketID} erőforrást a TicketGet és a
TicketUpdate műveleteknél (ahol a {TicketID} egy jegy aktuális jegyazonosító
értéke, például /Ticket/123). Azért, hogy használhassa az OTRS-ben, ki kell
másolnia a tartalmát, el kell mentenie egy
GenericTicketConnectorREST.yml
nevű fájlba, és
importálnia kell az OTRS-be az adminisztrációs panelen lévő
Webszolgáltatások képernyőn a „Webszolgáltatás hozzáadása” gombra kattintva
az áttekintő képernyőről, majd ezután a „Webszolgáltatás importálása” gombra
kattintva a hozzáadás képernyőn.
--- Debugger: DebugThreshold: debug TestMode: '0' Description: Jegycsatlakozó REST minta FrameworkVersion: 3.4.x git Provider: Operation: SessionCreate: Description: Létrehoz egy munkamenetet MappingInbound: {} MappingOutbound: {} Type: Session::SessionCreate TicketCreate: Description: Létrehoz egy jegyet MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketCreate TicketGet: Description: Lekéri a jegyadatokat MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketGet TicketSearch: Description: Jegyek keresése MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketSearch TicketUpdate: Description: Frissít egy jegyet MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketUpdate TicketHistoryGet: Description: Lekéri egy jegy előzményeit MappingInbound: {} MappingOutbound: {} Type: Ticket::TicketHistoryGet Transport: Config: KeepAlive: '' MaxLength: '100000000' RouteOperationMapping: SessionCreate: RequestMethod: - POST Route: /Session TicketCreate: RequestMethod: - POST Route: /Ticket TicketGet: RequestMethod: - GET Route: /Ticket/:TicketID TicketSearch: RequestMethod: - GET Route: /Ticket TicketUpdate: RequestMethod: - PATCH Route: /Ticket/:TicketID TicketHistoryGet: RequestMethod: - GET Route: /TicketHistory/:TicketID Type: HTTP::REST RemoteSystem: '' Requester: Transport: Type: ''
A következő kód egy Perl-parancsfájl, amely képes kapcsolódni az OTRS-hez az általános felületen keresztül. Azért, hogy a jegy csatlakozó által biztosított műveleteket végrehajtsa, két Perl CPAN modult használ: SOAP::Lite és Data::Dumper. Győződjön meg arról, hogy a környezete képes ezen modulokat használni, mielőtt megpróbálná a parancsfájlt futtatni.
#!/usr/bin/perl -w # -- # otrs.SOAPRequest.pl - sample to send a SOAP request to OTRS Generic Interface Ticket Connector # Copyright (C) 2001-2020 OTRS AG, https://otrs.com/ # -- # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- use strict; use warnings; # use ../ as lib location use File::Basename; use FindBin qw($RealBin); use lib dirname($RealBin); use SOAP::Lite; use Data::Dumper; # --- # Variables to be defined. # this is the URL for the web service # the format is # <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl/Webservice/<WEB_SERVICE_NAME> # or # <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl/WebserviceID/<WEB_SERVICE_ID> my $URL = 'http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnector'; # this name space should match the specified name space in the SOAP transport for the web service. my $NameSpace = 'http://www.otrs.org/TicketConnector/'; # this is operation to execute, it could be TicketCreate, TicketUpdate, TicketGet, TicketSearch # or SessionCreate. and they must to be defined in the web service. my $Operation = 'TicketCreate'; # this variable is used to store all the parameters to be included on a request in XML format. Each # operation has a determined set of mandatory and non mandatory parameters to work correctly. Please # check the OTRS Admin Manual in order to get a complete list of parameters. my $XMLData = ' <UserLogin>some user login</UserLogin> <Password>some password</Password> <Ticket> <Title>some title</Title> <CustomerUser>some customer user login</CustomerUser> <Queue>some queue</Queue> <State>some state</State> <Priority>some priority</Priority> </Ticket> <Article> <Subject>some subject</Subject> <Body>some body</Body> <ContentType>text/plain; charset=utf8</ContentType> </Article> '; # --- # create a SOAP::Lite data structure from the provided XML data structure. my $SOAPData = SOAP::Data ->type( 'xml' => $XMLData ); my $SOAPObject = SOAP::Lite ->uri($NameSpace) ->proxy($URL) ->$Operation($SOAPData); # check for a fault in the soap code. if ( $SOAPObject->fault ) { print $SOAPObject->faultcode, " ", $SOAPObject->faultstring, "\n"; } # otherwise print the results. else { # get the XML response part from the SOAP message. my $XMLResponse = $SOAPObject->context()->transport()->proxy()->http_response()->content(); # deserialize response (convert it into a perl structure). my $Deserialized = eval { SOAP::Deserializer->deserialize($XMLResponse); }; # remove all the headers and other not needed parts of the SOAP message. my $Body = $Deserialized->body(); # just output relevant data and no the operation name key (like TicketCreateResponse). for my $ResponseKey ( keys %{$Body} ) { print Dumper( $Body->{$ResponseKey} ); } }
A következő kód egy Perl-parancsfájl, amely képes kapcsolódni az OTRS-hez az általános felületen keresztül. Azért, hogy a jegy csatlakozó által biztosított műveleteket végrehajtsa, három Perl CPAN modult használ: JSON, REST::Client::Lite és Data::Dumper. Győződjön meg arról, hogy a környezete képes ezen modulokat használni, mielőtt megpróbálná a parancsfájlt futtatni.
#!/usr/bin/perl # -- # Copyright (C) 2001-2020 OTRS AG, https://otrs.com/ # -- # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt. # -- use strict; use warnings; use utf8; ## nofilter(TidyAll::Plugin::OTRS::Perl::Dumper) # use ../ as lib location use File::Basename; use FindBin qw($RealBin); use lib dirname($RealBin); use JSON; use REST::Client; # This is the HOST for the web service the format is: # <HTTP_TYPE>:://<OTRS_FQDN>/nph-genericinterface.pl my $Host = 'http://localhost/otrs/nph-genericinterface.pl'; my $RestClient = REST::Client->new( { host => $Host, } ); # These are the Controllers and Providers the format is: # /Webservice/<WEB_SERVICE_NAME>/<RESOURCE>/<REQUEST_VALUE> # or # /WebserviceID/<WEB_SERVICE_ID>/<RESOURCE>/<REQUEST_VALUE> # # See the documentation on how to setup Providers. # # This example will retrieve the Ticket with the TicketID = 1 (<REQUEST_VALUE>) my $GetControllerAndRequest = '/Webservice/GenericTicketConnectorREST/Ticket/1'; # This example is the base URL for Ticket Create my $CreateControllerAndRequest = '/Webservice/GenericTicketConnectorREST/Ticket'; # This example will update the Ticket with the TicketID = 1 (<REQUEST_VALUE>) my $UpdateControllerAndRequest = '/Webservice/GenericTicketConnectorREST/Ticket/1'; # This is the base URL for Ticket Search my $SearchControllerAndRequest = '/Webservice/GenericTicketConnectorREST/Ticket'; # This is the base URL for Ticket history with the TicketID = 1 (<REQUEST_VALUE>) my $HistoryControllerAndRequest = '/Webservice/GenericTicketConnectorREST/TicketHistory/1'; # TicketGet Example # See the documentation of OTRSGenericInterfaceREST on how to setup # - webservice # - transport # - operations my $GetParams = { UserLogin => "some agent user login", # to be filled with valid agent login Password => "some agent user password", # to be filled with valid agent password }; # Build GetParams as part of the URL for REST-GET requests my $QueryParams = $RestClient->buildQuery( %{$GetParams} ); $GetControllerAndRequest .= $QueryParams; $RestClient->GET($GetControllerAndRequest); my $GetResponseCode = $RestClient->responseCode(); if ( $GetResponseCode ne '200' ) { print "Get request failed, response code was: $GetResponseCode\n"; } else { # If the request was answered correctly, we receive a JSON string here. my $ResponseContent = $RestClient->responseContent(); my $Data = decode_json $ResponseContent; # Just to print out the returned Data structure: use Data::Dumper; print "Get response was:\n"; print Dumper($Data); } # TicketSearch Example # See the documentation of OTRSGenericInterfaceREST on how to setup # - webservice # - transport # - operations my $SearchParams = { UserLogin => "some agent user login", # to be filled with valid agent login Password => "some agent user password", # to be filled with valid agent password Queues => ['Raw'], }; # Build SearchParams as part of the URL for REST-GET requests $QueryParams = $RestClient->buildQuery( %{$SearchParams} ); $SearchControllerAndRequest .= $QueryParams; $RestClient->GET($SearchControllerAndRequest); # If the host isn't reachable, wrong configured or couldn't serve the requested page: my $SearchResponseCode = $RestClient->responseCode(); if ( $SearchResponseCode ne '200' ) { print "Search request failed, response code was: $SearchResponseCode\n"; } else { # If the request was answered correctly, we receive a JSON string here. my $ResponseContent = $RestClient->responseContent(); my $Data = decode_json $ResponseContent; # Just to print out the returned Data structure: use Data::Dumper; print "Search Response was:\n"; print Dumper($Data); } # TicketCreate Example # See the documentation of OTRSGenericInterfaceREST on how to setup # - webservice # - transport # - operations my $CreateOrUpdateParams = { UserLogin => "some agent user login", # to be filled with valid agent login Password => "some agent user password", # to be filled with valid agent password Ticket => { Title => 'some ticket title', Queue => 'Raw', Lock => 'unlock', Type => 'Unclassified', State => 'new', Priority => '3 normal', Owner => 'some agent user login', CustomerUser => 'customer-1', }, Article => { Subject => 'some subject', Body => 'some body', ContentType => 'text/plain; charset=utf8', }, }; my $CreateJSONParams = encode_json $CreateOrUpdateParams; my @CreateRequestParam = ( $CreateControllerAndRequest, $CreateJSONParams ); # We have to use REST-POST requests in order to send UserLogin and Password correctly # though other REST methods would fit better. $RestClient->POST(@CreateRequestParam); # If the host isn't reachable, wrong configured or couldn't serve the requested page: my $CreateResponseCode = $RestClient->responseCode(); if ( $CreateResponseCode ne '200' ) { print "Create request failed, response code was: $CreateResponseCode\n"; } else { # If the request was answered correctly, we receive a JSON string here. my $ResponseContent = $RestClient->responseContent(); my $Data = decode_json $ResponseContent; # Just to print out the returned Data structure: use Data::Dumper; print "Create Response was:\n"; print Dumper($Data); } # TicketUpdate Example # See the documentation of OTRSGenericInterfaceREST on how to setup # - webservice # - transport # - operations my $UpdateJSONParams = encode_json $CreateOrUpdateParams; my @UpdateRequestParam = ( $UpdateControllerAndRequest, $UpdateJSONParams ); # We have to use REST-PATCH requests in order to send UserLogin and Password correctly # though other REST methods would fit better. $RestClient->PATCH(@UpdateRequestParam); # If the host isn't reachable, wrong configured or couldn't serve the requested page: my $UpdateResponseCode = $RestClient->responseCode(); if ( $UpdateResponseCode ne '200' ) { print "Update request failed, response code was: $UpdateResponseCode\n"; } else { # If the request was answered correctly, we receive a JSON string here. my $ResponseContent = $RestClient->responseContent(); my $Data = decode_json $ResponseContent; # Just to print out the returned Data structure: use Data::Dumper; print "Update response was:\n"; print Dumper($Data); } # TicketHistoryGet Example # See the documentation of OTRSGenericInterfaceREST on how to setup # - webservice # - transport # - operations my $HistoryParams = { UserLogin => "some agent user login", # to be filled with valid agent login Password => "some agent user password", # to be filled with valid agent password TicketID => [1], }; # Build SearchParams as part of the URL for REST-GET requests $QueryParams = $RestClient->buildQuery( %{$HistoryParams} ); $HistoryControllerAndRequest .= $QueryParams; $RestClient->GET($HistoryControllerAndRequest); # If the host isn't reachable, wrong configured or couldn't serve the requested page: my $HistoryResponseCode = $RestClient->responseCode(); if ( $HistoryResponseCode ne '200' ) { print "History request failed, response code was: $HistoryResponseCode\n"; } else { # If the request was answered correctly, we receive a JSON string here. my $ResponseContent = $RestClient->responseContent(); my $Data = decode_json $ResponseContent; # Just to print out the returned Data structure: use Data::Dumper; print "History Response was:\n"; print Dumper($Data); }
A fenti példára tekintettel egy REST beállításnál az általános jegy csatlakozóhoz a következőkkel rendelkezünk:
A jegy létrehozásához: POST metódus használata a /Ticket útvonalon.
A jegy kereséséhez: GET metódus használata a /Ticket útvonalon.
A jegy frissítéséhez: PATCH metódus használata a /Ticket/{TicketID} útvonalon (ahol a {TicketID} egy :TicketID által ábrázolt sablon az átvitel beállításában)
A jegy lekéréséhez: GET metódus használata a /Ticket/{TicketID} útvonalon (ahol a {TicketID} egy :TicketID által ábrázolt sablon az átvitel beállításában)
A jegy előzményeinek lekéréséhez: GET metódus használata a /TicketHistory/{TicketID} útvonalon (ahol a {TicketID} egy :TicketID által ábrázolt sablon az átvitel beállításában)
cURL parancs:
shell> curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123" -H "Content-Type: application/json" -d "{\"Ticket\":{\"Title\":\"REST létrehozás próba\", \"Type\": \"Unclassified\", \"Queue\":\"Raw\",\"State\":\"open\",\"Priority\":\"3 normal\",\"CustomerUser\":\"customer\"},\"Article\":{\"Subject\":\"Rest létrehozás próba\",\"Body\":\"Ez csak egy próba\",\"ContentType\":\"text/plain; charset=utf8\"}}" -X POST
Válasz:
{ "ArticleID":5484, "TicketNumber":"1001936", "TicketID":"1686" }
cURL parancs:
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/1686?UserLogin=agent&Password=123"
Válasz:
{ "Ticket": [ { "Age": 777, "PriorityID": 3, "ServiceID": "", "Type": "Unclassified", "Responsible": "root@localhost", "StateID": 4, "ResponsibleID": 1, "ChangeBy": 2, "EscalationTime": 0, "Changed": "2014-06-30 19:08:14", "OwnerID": 2, "RealTillTimeNotUsed": 0, "GroupID": 1, "Owner": "agent", "CustomerID": "OTRS", "TypeID": 1, "Created": "2014-06-30 19:08:12", "Priority": "3 normal", "UntilTime": 0, "EscalationUpdateTime": 0, "QueueID": 2, "Queue": "Raw", "State": "open", "Title": "REST létrehozás próba", "CreateBy": 2, "TicketID": 1686, "StateType": "open", "EscalationResponseTime": 0, "UnlockTimeout": 0, "EscalationSolutionTime": 0, "LockID": 1, "TicketNumber": "1001936", "ArchiveFlag": "n", "Lock": "unlock", "CreateTimeUnix": 1404173292, "SLAID": "", "CustomerUserID": "customer" } ] }
cURL parancs:
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket/1686?UserLogin=agent&Password=123" -H "Content-Type: application/json" -d "{\"Ticket\":{\"Queues\":\"Postmaster\"}}" -X PATCH
Válasz:
{ "TicketNumber":"1001936", "TicketID":"1686" }
cURL parancs:
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/Ticket?UserLogin=agent&Password=123&Queue=Postmaster"
Válasz:
{ "TicketID": [ "1686", "102", "100", "1" ] }
cURL parancs:
curl "http://localhost/otrs/nph-genericinterface.pl/Webservice/GenericTicketConnectorREST/TicketHistory/1686?UserLogin=agent&Password=123"
Válasz:
{ "TicketHistory":[ { "History":[ { "CreateBy":1, "HistoryType":"NewTicket", "TicketID":"1", "CreateTime":"2017-06-08 22:44:48", "TypeID":1, "OwnerID":1, "QueueID":1, "Name":"Az új [2015071510123456] jegy létrejött.", "StateID":1, "PriorityID":3, "ArticleID":"1", "HistoryTypeID":1 } ], "TicketID":"1" } ] }