GeneralDescriptionsSecurity megoldások
Az Universal leírása, és elemeinek (UniversalDocument), valamint használatának magyarázata

Universal függvény leírása

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

Universal függvény hívásának módjai összefoglalva

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

 

Universal függvény lehetséges hibaüzentei (Error.Code lehetséges értékei)

* 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ő.

 


KGFB HHK 2016