A Universal függvény 1. bemeneti paramétere a FelhasznaloAzonosito.
A Universal függvény 2. bemeneti paramétere (Request) és kimenete (Response)
is egy olyan xml, aminek a formázását a Universal.xsd írja le. Az xml gyökéreleme (UniversalDocument)
alatt négyféle elem található:
HEAD
A HEAD-ben lehet meghatározni, hogy milyen (biztosítási) termékekkel
szeretnénk a lekérdezésben dolgozni, és itt kapjuk vissza az xml-struktúrát érintő hibakódokat, hibaüzeneteket. Ez a
dokumentáció a KGFB, azaz a kötelező felelősség biztosítás termékkel
foglalkozik, ezt kell megadnunk a HEAD tagben,
mint PRODUCTNAME.
<HEAD>
<PRODUCTNAME>KGFB</PRODUCTNAME>
<ERROR>
<CODE></CODE>
<SOURCEVARIABLEID></SOURCEVARIABLEID>
<REFVARIABLEID></REFVARIABLEID>
<MESSAGE></MESSAGE>
<WARNING></WARNING>
</ERROR>
</HEAD>
ERROR
Itt, ahogy a példában is látszik, vagy egy ERROR struktúra. A struktúra
felépítése a következő:
Példa hibára:
<ERROR>
<CODE>1002</CODE>
<SOURCEVARIABLEID>ETAGKod</SOURCEVARIABLEID>
<REFVARIABLEID>TarifaDatum</REFVARIABLEID>
<MESSAGE>Számítási hiba!</MESSAGE>
</ERROR>
A hibaüzenet jelentése:
Az ETAGKod függ a tarifa dátumtól. A tarifa dátumtól
szinte minden függ (néhány konstans táblától eltekintve) ezért érdemes ezt
megadni, különben a fenti hibaüzenetet kapjuk.
A számításkor fellépő (lokális) hibák az adott OUTPUTS blokk ERRORS
eleme alá kerülnek. Létrejön ott egy vagy több ugyanolyan ERROR
struktúra, mint amilyen a HEAD-ben is van. (Vagyis a számítás végső
sikeressége nem csak azon múlik, hogy a HEAD/ERROR/CODE értéke 0-e vagy
sem, hanem, hogy van-e még bárhol /OUTPUTS/ERRORS/ERROR
elem! Hiba esetén az adott OUTPUTS blokk feldolgozása befejeződik.
INPUTS, OUTPUTS
Az INPUTS-ban adhatjuk meg a bemeneti változók értékét, az OUTPUTS-ban pedig
azt sorolhatjuk fel, hogy mit akarunk kiszámoltatni a webszolgáltatással. Ez a
két elem tetszőleges számban (de csak váltakozva) lehet jelen az xml-ben.
A bemeneti változók a tarifáláshoz szükséges
változók.
<INPUTS>
<VARIABLE id="JarmuFajtaKod">
<VALUE>1</VALUE>
</VARIABLE>
<VARIABLE id="GyartmanyKod">
<VALUE>11</VALUE>
</VARIABLE>
<VARIABLE id="Hengerurtartalom">
<VALUE>2599</VALUE>
</VARIABLE>
...
</INPUTS>
<OUTPUTS>
<VARIABLE id="EvesDij" function="VALUE">
<VALUE></VALUE>
</VARIABLE>
</OUTPUTS>
A függvény az xml-ben lévő sorrendben dolgozza fel a VARIABLE
elemeket. Ha egy bemeneti változónak értéket adtunk, az a feldolgozás legvégéig
megmarad. Természetesen egy újabb VARIABLE, ugyanazzal az id-vel,
felülírhatja az eddigi értéket.
Ha egyszerre több termékkel dolgozunk (több PRODUCTNAME van), akkor a product attribútummal választhatjuk ki, hogy az adott
értékadás melyik termékre vonatkozik. Ha nincs ilyen attribútum, akkor az
összes termék (amelyik rendelkezik ilyen paraméterrel), megkapja az adott
bemeneti értéket. Ilyen több termékes kalkuláció esetén egyébként egyfajta együttkötésről (további kedvezményről) is szó van,
valamint ilyenkor a product attribútum kitöltése
kötelező az OUTPUTS/ VARIABLE -ekben!
OFFERDATA
Végül, ha az OFFERDATA elem is szerepel az xml-ben,
akkor PDF ajánlati dokumentumotis generál a
webszolgáltatás, amit a benne lévő DOCUMENT-ben ad vissza base64-es
kódolással.
Itt kerül visszaadásra az elkészített ajánlat sorszáma is (OFFERNUMBER),
tehát ezt nem kell küldeni. Viszont mindezek előtt még sok-sok olyan adatot
kell megadni, ami a kalkulációhoz még nem volt szükséges, de az
ajánlatkészítéshez már igen.
Itt lehetőség van aláírás megadására is (SIGNATURE), ebben az elemben az
aláírás képét (.bmp) kell szintén egy base64-es
kódolással átadni, illetve azt az információt, hogy az aláírás csak a
közvetítő aláírása az ajánlaton, vagy az ügyfél helyett/helyén is ő írja alá.
Az ajánlati adatok ajánlatkészítés
nélküli ellenőrzésére több lehetőség is kínálkozik:
Ha a hívó saját maga szeretné az ajánlati nyomtatványt elkészíteni, akkor
elhagyhatja a DOCUMENT elemet. Ekkor nem töltjük az időt a pdf
generálásával, viszont amennyiben az adatok megfelelnek az ajánlatkészítés
követelményeinek az OFFERNUMBER-be (ha az szerepel az xmlben!) beteszünk egy ajánlati sorszámot.
Ennek az ajánlati sorszámnak a felhasználásával kapcsolatban követelményünk,
hogy az elektronikus beküldésnél az így visszakapott xml-t
is csatolni kell a hívó által készített dokumentum mellé!
1. csak adatellenőrzés, kalkuláció
§ nem jön létre kötés, de minden ellenőrzés lefut
§ a kérésben nem lehet <OFFERNUMBER/>, és a
válaszban nem lesz ajánlatszám. Az <OFFERNUMBER/> szabályozza,
hogy csak ellenőrzés, vagy valódi ajánlat készítés történik.
§ Ha csak kalkulációt szeretnénk készíteni, ami valójábvan nem egy konkrét gépjárműre volantkozik
(azaz nem kell pl. személygépkocsinál rendszám), akkor elhagyhatjuk az egész <OFFERDATA/> részt.
§ Kérhetünk minta pdf-et is, ekkor
az xml-ben szerepeljen a <DOCUMENT type="PDF" /> vagy ha pdf-re nincs szükségünk,
akkor elhagyhatjuk a <DOCUMENT type="PDF" /> elemet. PDF-et, csak akkor lehet
kérni, ha még nem jeleztük, hogy az ügyfél aláírta az ajánlatot.
2. minta tanúsítvány (PDF) készítése
§ nem jön létre kötés, de minden ellenőrzés lefut és ha
rendben, akkor elkészül egy minta tanúsítvány
§ mindegy, hogy van-e a kérésben <OFFERNUMBER /> , a válaszban nem lesz ajánlatszám
§ <DOCUMENT type="PDF_SAMPLE" />
3. biztosítás megkötése
§ minden ellenőrzés lefut és ha rendben, akkor létrejön a
kötés
§ legyen a kérésben <OFFERNUMBER/>, és <VARIABLE id="UgyfelAlairasDatum"><VALUE>20100105</VALUE></VARIABLE>, a válaszban lesz egy konkrét új
ajánlatszám(=kötvényszám)
§ ha a <DOCUMENT type="PDF" /> szerepel, akkor lesz a válaszban egy valós pdf.
Másképp megfogalmazva:
Universal függvény formátuma (a
tag-ek sorrendje is számít!)
<UNIVERSALDOCUMENT xmlns="Calculate/UniversalDocument">
<HEAD>
<PRODUCTNAME>KGFB</PRODUCTNAME>
<ERROR>
<CODE></CODE>
<SOURCEVARIABLEID></SOURCEVARIABLEID>
<REFVARIABLEID></REFVARIABLEID>
<MESSAGE></MESSAGE>
<WARNING></WARNING>
</ERROR>
</HEAD>
<INPUTS>
<VARIABLE id="">
<VALUE></VALUE>
</VARIABLE>
</INPUTS>
<OUTPUTS>
<VARIABLE id="" function="">
<VALUE></VALUE>
</VARIABLE>
</OUTPUTS>
<OFFERDATA>
<VARIABLE id="">
<VALUE></VALUE>
</VARIABLE>
</OFFERDATA>
<OFFERNUMBER></OFFERNUMBER>
<DOCUMENT></DOCUMENT>
</UNIVERSALDOCUMENT>
* Error.Code lehetséges
értékei:
* -1 még nem definiált hiba
**********************************************************************************
* 1-
adathibák
* 1 jogosulatlan felhasználó (pl. még nem
regisztrált)
* 2 alapvető adatellenőrzésen bukott meg
(pl. rossz a tarifadátum éve)
* 3 hibás vagy hiányos adatok (csak ajánlat
készítéskor; felsorolás)
* 4 technikai okok miatt nem elérhető a fv.
* 5 keresés eredménytelen volt (pl.
indexdíjnál)
* 6 hibás az adatstruktúra (a
felhasználó-azonosító null)
* 7 hibás az xml-struktúra
(Universal.xsd)
* 8 nem létezik az adott paraméternév
* 9 Attachment
validációs hiba
* 10 Nem létező ajánlatszámra hivatkozik.
**********************************************************************************
* 100-
programhibák
* 100 SQL-hiba
* 101 elfogytak az ajánlati vagy vonalkód
sorszámok
* 102 Nem definiált modell-változó
* 103 Várakozni kell az ajánlatkészítésre!
* 104 a teszrendszer
korlátozott elérhetőségű!
* 105 CarInsToUniversal-hiba
* 106 CarInsToUniversal-hiba
**********************************************************************************
* 1000- számítási hibák
* 1001 modell-megnyitási hiba
* 1002 számítási hiba
* 1003 modelltől jövő (hiba)üzenet vagy nem
definiált modellváltozó
* 1004 sikertelen értékadás
**********************************************************************************
* 4000 Az adott ajánlati számmal nem
található ajánlat.
* 4001 Az ajánlat nem olyan állapotban
van, hogy PDF kérhető legyen. PDF csak WaitForCustomerSign
állpotban kérhető le ismételten.
* 4002 Az ajánlat nem olyan állapotban
van, hogy aláírási dátum megadható lenne.
* 4003 Az ajánlat nem olyan állapotban
van, hogy hiányzó adat megadható lenne.
* 4004 Az adott ajánlati számmal már
küldtek be ajánlatot.
* 4005 Az adott rendszámra, ezzel a
kockázatviselési kezdettel ez az üzletkötő már küldött be ajánlatot.
* 4006 Az ajánlat nem olyan állapotban
van, hogy PDF generálható legyen. PDF csak WaitForCustomerSign
állpotban gyártható le.
* 4007 Az adott ajánlati számmal már
rögzítettek ajánlatot a háttérrendszerekben.
* 4008 Az ajánlatot már papíron beküldték,
emiatt az elektronikus beküldés nem lehetséges.
* 4009 Az ajánlatot törölték, nem nyitható
meg.
* 4011 w Attachment warning
* 4012 0 csatolmány érkezett a Calculate/OfferAttachments névtérben
* 4019 Az ajánlatot már törölték. Belső állapot:{0}.
* 4020 A
kockázat viselés kezdete nem lehet korábbi az aláírási
dátumnál.
* 4021 Az
ajánlatnak az aláírási dátumot követően {0} nappal be kell érkezni.
* 4022 A
kért ajánlatnak hiányzik az ajánlati törzse. A kért ajánlati PDF nem gyártható
le.
* 4023 A
kért ajánlati adatok törlésre kerültek.
* 4024 A
kért ajánlati PDF archiválva lett. Keresse a Digitális Archívum alkalmazásban.
* 4025 A
kért ajánlati PDF legyártása során hiba keletkezett.
* 4026 Email-küldés
ellenőrzése során hibát észleltünk. {0}
* 4027 w Email-küldés ellenőrzése során problémába
ütköztünk. {0}
* 4100 Az ajánlat belső állapota nem
határozható meg.
* 4400 Nem várt hiba.
* 5000 Application_Verification
error.
* 5001 w Application_Verification warning.
* 6000 MessageBroker
hiba. Ajánlat nem küldhető be.
* 6001 w MessageBroker hiba. Az ajánlat beküldése első próbálkozásra
nem sikerült.
* 6200 w A zöldkártya dokumentum ki lett küldve a
következő címre: {0}
* 6100 MessageBroker hiba a KgfIndex szolgáltatás
használata közben.
* 70** BM
ellenőrzési figyelmeztetések
* 7100 w TEAOR kód módosult! Régi érték: \"{0}\", javított: \"{1}\".
* 8001 w GEOX címellenőrzés során a cím nem
található.
* 8098 w Megszűnt szerződés évforduló dátum
ellenőrzése nem lehetséges. {0}
* 8099 w MegszuntSzerzodesEvforduloDatum
ellenőrzési hiba. {0}
* 8104 w Többszerződéses kedvezmény visszavonva az
előzményellenőrzés során. Szerződés nem található: {0}!.
* 8120 w Családi kedvezmény visszavonva az
előzményellenőrzés során. Szerződés nem található: {0}!.
* 8121 w A háttérrendszeri ellenőrzés során nem
találtunk a {0} rendszámra és {1} szerződéskezdetre szerződést..
* 8122 w A háttérrendszeri ellenőrzés során
találtunk a {0} rendszámra és {1} szerződéskezdetre szerződést..
* 8123 w A háttérrendszeri ellenőrzés során többgépjárműves pótdíj alkalmazása szükséges.
* 8124 w A duplikált kockázatviselési hely
ellenőrzés eredménye: {0}.
* 8200-8300 Generali.Product mismatch usage warning. {0}
* 8100 w GetCarInsXml
hiba a KGFB előzményvizsgálta során. {0}
* 9000 A
szerződés felmondása közben hiba lépett fel.
* 9006 Üres AttachmentXML
paraméter.
* 9007 Schema validation error
* 9100 A felmondáshoz túl kevés adat lett
megadva. Az irányítószám (ZipCode), szerződésszám (ContractNumber) és rendszám (PlateNumber)
hármasból kettő megadása kötelező.