Ugrás a fő tartalomhoz

Session cookie-k

Számla Agent arra van optimalizálva, hogy a hívó oldal gondoskodik a session cookie tárolásáról és a hívások során az Agent felé történő elküldésről. A webáruházak általában szerveren futó kliens/szerver felépítésű rendszerek, vagyis a vásárlóknál csak egy vékony "kliens" program fut (ami a böngésző), de minden egyéb folyamat a szerveren történik. Amikor a webáruház úgy dönt, hogy számlát készít akkor indít egy hívást az Agent felé. A webáruház az Agent felől nézve egyetlen egy "felhasználónak" kell, hogy látszódjon.

A folyamat részleteiben:

  1. Első hívás az Agent felé, nincs session cookie a webáruházban, XML fájl küldés, az Agent érzékeli, hogy nincs session cookie így létrehoz egy új sessiont, generál hozzá egy session cookie-t, beolvassa az XML-t, stb.

  2. Első válasz: egy PDF a response body-ban, továbbá adatok a response header-ben (pl. session cookie (JSESSIONID)). Mind a PDF fájlt, mind a sütit le kell menteni.

  3. Második hívás az Agent felé, küldeni kell az XML-t mint eddig, és a request header-ben küldeni kell a session cookie-t is.

  4. Második válasz: egy PDF a response body-ban, és jön vissza ugyanaz a session cookie, ezzel elvileg már nincs további teendő.

Ezután már a 3., 4. lépések ismétlődnek. 90 perc inaktivitás után, vagyis ha 90 percig nem történik adott session cookie-val Agent hívás, akkor a Számlázz.hu törli azt a sessiont. A következő Agent híváskor így egy új session cookie-t generál.

Mindezek figyelembevételével a következő működés javasolt az Agentet hívó kódok esetében:

  1. Agent híváshoz kell egy XML fájl és egy cookie fájl, ha nincs cookie fájl, nem baj hívjuk az Agentet, ha van cookie fájl, akkor betesszük a hívásba.
  2. Válasz megjött, szuper, akkor le kell menteni a PDF/XML-t, cookie mindig jön azt is le kell menteni egy fájlba, ha már van cookie fájl, nem gond felül lehet írni, hiszen a Számlázz.hu felé csak 1 felhasználónak látszik a webáruház.