Az eVIR rendszer képes más rendszerekkel való kommunikációra. A kommunikáció http(s) csatornán keresztül történik.
Amire szükség van a beállításhoz:
Létre kell hozni azt a felhasználót, akinek a nevében a kommunikáció történik. A Rendszer→Felhasználók
menüpontban ugyan olyan módon kell hozzáadni, mint bármilyen más normál felhasználót. Biztonsági okokból csak azokhoz a műveletekhez kapjon jogosultságot, amelyekre szüksége van a kommunikációnál.
Amikor a felhasználó rögzítése megtörtént, a rendszer generál egy tokent a névből és a jelszóból. Fontos tudni, hogy a jogosultság utólagos módosítása nem befolyásolja a tokent, de a felhasználói név vagy jelszó változtatása igen.
Biztonsági okokból a tokent kizárólag létrehozáskor, vagy jelszócsere alkalmával írja ki a rendszer, ilyenkor kell kimásolni és biztonságba helyezni.
Tipp: a kommunikáció céljából létrehozott felhasználó nevével és jelszavával be lehet jelentkezni a rendszerbe, és ki lehet próbálni a felületen a funkciókat mielőtt azok automatizálásra kerülnek.
Az összes kommunikációs folyamatban az URL egyformán kezdődik. Felépítése
Például:
https://evir.hu/cegnev/cgi-bin/index.cgi?token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
A továbbiakban ezt az URL-t kell kiegészíteni a kívánt kommunikációs forma (JSON, XML, CSV, stb.) és a modulok paraméterezésének megfelelően. A funkció legegyszerűbben a menüpontok linkjeiben illetve az oldalak egyéb linkjeiben található „dok” kulcsok értékeiből lehet meghatározni.
Míg lekérdezések esetében az URL tartalmazza a kiválasztott a kommunikációs formát, adatok küldése esetén különböző programrészeket kell meghívni. Régebben XML alapon történt a kommunikáció, de az utóbbi időben a JSON már sokkal népszerűbb, kezelése egyszerűbb, ezért mi is azt preferáljuk.
Természetesen továbbra is támogatjuk az XML alapú megoldásokat is, de új rendszereknél javasoljuk a JSON alapú kommunikációt. Az általános XML interface leírása: XML Interface version 0.3. A partner és rendszer specifikus XML megoldások leírásai publikusan nem érhetőek el.
JSON kommunikációs forma esetén a kliens JSON formátumban küldi az adatokat a szervernek:
json
névre hallgató form mező adatként is elfogadja,token
: a klienst azonosító eVIR felhasználó tokenjedok
: a művelet Példa egy tartalmilag hiányos, de egyébként helyes json hívásra GET metódus esetén:
https://evir.hu/cegnev/cgi-bin/index.cgi?json={"token":"jMuPFcKJdyKYqMZ7iGiLpxF/32k","dok":"api_szamla"}
Részletesebb leírás például a számlázásról: Számla API
Az esetek túlnyomó többségében kizárólag listák lekérdezésére van szükség, ezért a továbbiakban ezek a leegyszerűsített verziók szerepelnek konkrét URL-ekkel, ahol csak a rendszer címét és a tokent kell kicserélni a működő állapot eléréséhez.
Az alap URL-t kell kiegészíteni a dok kulccsal, melynek paramétereként a funkciót kell megadni, pl:
https://evir.hu/cegnev/cgi-bin/index.cgi?token=jMuPFcKJdyKYqMZ7iGiLpxF/32k&dok=lista_partnerek
Ennek hatására HTML listát kapunk vissza.
Ugyan ezt a listát CSV formában úgy kaphatjuk meg, ha további paraméterként a dokop=csv,,
is belekerül az URL-be:
https://evir.hu/cegnev/cgi-bin/index.cgi?token=jMuPFcKJdyKYqMZ7iGiLpxF/32k&dok=lista_partnerek&dokop=csv,,
Ennek analógiájára ugyan ez a lista JSON formátumban úgy érhető el, ha a dokop=json,,
kerül az URL-be:
https://evir.hu/cegnev/cgi-bin/index.cgi?token=jMuPFcKJdyKYqMZ7iGiLpxF/32k&dok=lista_partnerek&dokop=csv,,
Az XML alapú kommunikáció teljesen más módon működik, arról teljesen külön dokumentáció szól, de az összehasonlíthatóság kedvéért álljon itt ugyan ennek a partnerlistának az XML alapú lekérése is:
https://evir.hu/cegnev/cgi-bin/index.cgi?xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cesystem%3E%3Cclick%3E%3Cdata%3E%3Crecord%3E<field><name>dok</name><value>lista_partnerek</value></field><field><name>token</name><value>jMuPFcKJdyKYqMZ7iGiLpxF%2B32k</value></field><field><name>lang</name><value>HU</value></field>%3C%2Frecord%3E%3C%2Fdata%3E%3C%2Fclick%3E%3C%2Fesystem%3E
A fenti HTML / CSV / JSON listák esetében természetesen nem csak a teljes listákat lehet lekérni, hanem szűrt listákat is. A szűrések már teljesen modul/lista specifikusak, ezekhez tartozó egyedi paraméterek meghatározásában egyedileg segítünk.
A rendszer lehetőséget biztosít a listák testre szabásához (oszlopok törlése, hozzáadása, szűrések beállítása, stb.). Az ilyen módon elmentett listákra is lehet hivatkozni az API-n keresztül.
A szerkesztett lista azonosítóját a Rendszer→Felhasználói fiók→Testreszabott listák
menüpontjában lehet megtalálni. Ha pl. a lista azonosítója 1, akkor a linkhez a param=nosave_list_stat_id,1
-t kell hozzáfűzni. Pl:
https://evir.hu/cegnev/cgi-bin/index.cgi?token=jMuPFcKJdyKYqMZ7iGiLpxF/32k&dok=lista_partnerek&dokop=csv,,¶m=nosave_list_stat_id,1
Természetesen ehhez szükséges, hogy a lista vagy publikus
jogosultságú legyen, vagy a tokennel azonosított felhasználó legyen a tulajdonosa.
Természetesen nem csak lekérdezni lehet, hanem adatokat bevinni is. Leggyakoribb ilyen adatátvitel a webshopokkal való kapcsolattartás, amikor a webshopban leadott rendelések alapján az eVIR rendszer vevői rendelést készít, vagy akár azonnal számlát állít ki. Erről egy általánosabb leírás itt található: szamla_xml_felulet
https://evir.hu/cegnev/cgi-bin/index.cgi?xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cesystem%3E%3Cclick%3E%3Cdata%3E%3Cre cord%3E<field><name>dok</name><value>torzs_cikk_aktiv_termekek_lista</value></field><field><name>token</name><value>jMuPFcKJdyKYqMZ7iGiLpxF/32k</valu e></field><field><name>lang</name><value>HU</value></field>%3C%2Frecord%3E%3C%2Fdata%3E%3C%2Fclick%3E%3C%2Fesystem%3E
https://evir.hu/cegnev/cgi-bin/index.cgi?xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cesystem%3E%3Cclick%3E%3Cdata%3E%3Cre cord%3E<field><name>dok</name><value>torzs_cikk_aktiv_termekek_lista</value></field><field><name>param</name><value>nosave_list_stat_id,1</value></fi eld><field><name>token</name><value>jMuPFcKJdyKYqMZ7iGiLpxF/32k</value></field><field><name>lang</name><value>HU</value></field>%3C%2Frecord%3E%3C%2F data%3E%3C%2Fclick%3E%3C%2Fesystem%3E
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=torzs_cikk_aktiv_termekek_lista&dokop=csv,3&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=torzs_cikk_aktiv_termekek_lista¶m=nosave_list_stat_id,1&dokop=csv,3&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=torzs_cikk_aktiv_termekek_lista&dokop=json,1&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=torzs_cikk_aktiv_termekek_lista¶m=nosave_list_stat_id,1&dokop=json,1&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cesystem%3E%3Cclick%3E%3Cdata%3E%3Cre cord%3E<field><name>dok</name><value>raktar_lista_osszesitett</value></field><field><name>token</name><value>jMuPFcKJdyKYqMZ7iGiLpxF/32k</value></fie ld><field><name>lang</name><value>HU</value></field>%3C%2Frecord%3E%3C%2Fdata%3E%3C%2Fclick%3E%3C%2Fesystem%3E
https://evir.hu/cegnev/cgi-bin/index.cgi?xml=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3Cesystem%3E%3Cclick%3E%3Cdata%3E%3Cre cord%3E<field><name>dok</name><value>raktar_lista_osszesitett</value></field><field><name>param</name><value>nosave_list_stat_id,2</value></field><fi eld><name>token</name><value>jMuPFcKJdyKYqMZ7iGiLpxF/32k</value></field><field><name>lang</name><value>HU</value></field>%3C%2Frecord%3E%3C%2Fdata%3E %3C%2Fclick%3E%3C%2Fesystem%3E
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=raktar_lista_osszesitett&dokop=csv,3&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=raktar_lista_osszesitett¶m=nosave_list_stat_id,2&dokop=csv,3&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=raktar_lista_osszesitett&dokop=json,1&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
https://evir.hu/cegnev/cgi-bin/index.cgi?dok=raktar_lista_osszesitett¶m=nosave_list_stat_id,2&dokop=json,1&token=jMuPFcKJdyKYqMZ7iGiLpxF/32k
Egyedi rendszerek és/vagy a fentiektől eltérő igények esetében szívesen segítünk a konkrét rendszer-, és ügyfélspecifikus URL-ek létrehozásában.
Kapcsolódó oldalak: