INFX2

Kartago Tours INFX2 online foglalási rendszer dokumentáció

php kliens megvalósítás

Fejlesztői megjegyzés

Elnézést ha a php kód nem mindenhol a legprofibb, de jómagam korábban nem használtam a nyelvet, de igyekeztem olvasható, használható kódot írni.

Ez csak egy példa megvalósítás a dokumentáció alapján, nem törekedve minden részében az éles környezetben változtatás nélküli futtatásra, de használható és működik, szabadon felhasználható.

Ha hibát találtok, kérlek jelezzétek a Githubon.

letöltés

Githubon elérhető.

RuleBox API

Az api_infx2 mappában található az infxservice.php file.

Ez a file a RuleBox összes funkcióját kezeli.

A működéshez szüksége pár globális változót definiálni

$infxurl = 'http://swiss.kartagotours.hu:88/ws2.asmx/WS1RQ';
$swiss_user_id = 127;
$swiss_id = 'xxx';
$swiss_RBPwd = 'xxx';
$swiss_user_name = 'Lacika';
$swiss_rcpt = 'home.voxo.hu';

Ezek az adatok a RuleBox leírás alapján a SWISS programból nyerhetőek ki.

Kommunikáció

A megvalósítás curl POST hívásokat használ.

Az infx2post($request) függvény átírásával könnyedén lehet GET vagy SOAP hívásokara áttérni.

Statikus adatok letöltése

Statikus adatok letöltésére is van php kód, ezt a FileLoadService.php file betöltésével tudjuk használni.

Demó működés

Az előző függvényeket használva, könnyen tudják a rendszerükkel illeszeni a Kartago Tours Zrt árualapját.

Az infxDataSeed.php programmal a statikus fileokat tudjuk letölteni. Ez egy komplett megoldás, pár módosítással integrálható a rendszerünk mellé.

Futtatásával a következő adatok töltődnek le a params.php beállításai szerinti mappákba

pl_updt file kivételével a zip-el tömörített változat töltődik le.

Fontos, hogy csak megfelelően paraméterezve indítsuk a letöltéseket.

A Hotel információ és a képek nagyon nagy adatmennyiség viszont viszonylag ritkán módosulnak, ezért dátum szűréssel minimalizálni kell a letöltések mennyiségét. A program a Hotel és kép letöltését mindenképpen szabályozza egy dátum változóval, és csak a megadott dátumnál újabb fileokat tölti le. Ez a gyakorlatban azt jelenti, hogy legelső használatkor ezt a dátumot egy meglehetősen korai időre pl. 10 évvel ezelőttre kell állítani, hogy biztosan letöltsünk mindent.

Az infxDataSeed.php file módosításával tudjuk elérni. Az alábbi kód 1 nappal korábbra állítja a szűrő dátumát.

$dt = new DateTime();
$dt->sub(new DateInterval('P1D'));

Ha a P1D értéket P10Y értékre cseréljük, akkor a 10 évvel ezelőttre állítottuk a szűrőt. így csak egyszer futtassuk, utána állítsuk vissza az eredeti értékre. Persze lehet paraméterezni is, és programból állítani, de ez csak mintaprogram, nem éles megvalósítás.

A DataSeed.php program a dinamikusan (API) letölthető adatokat menti le. Futtatásával a következő adatok töltődnek le a params.php beállításai szerinti mappákba