Az API a szoftverfejlesztő barátja!

Dátum: 2025.07.29. Szerző: Mezei Gábor


Az API a szoftverfejlesztő barátja!

 

A száraz valóság.

Mi is az az API vagy angolosan "ÉjPíÁj" ? Bármelyiket is említjük a szoftverfejlesztőnknek ő tudni fogja, hogy mire is gondolunk. - Magam részéről ilyen téren régimódinak tartom magam. Az API Nekem nem "ÉjPíÁj" , a Java nem "Dzsava" és a JSON sem "Dzsézsön". Hajdan így szoktam meg, és ez megmaradt bennem.

Az API nem más mint az angol "Application Programming Interface" kifejezésből létrejött mozaikszó, amit "alkalmazásprogramozási interfésznek" fordítunk. Ez biztosítja a hozzáférést a szoftveres és hardveres erőforrások utasításkészletéhez. Az API segítségével lehetséges az, hogy használjuk egy rendszer szolgáltatásait anélkül, hogy ismernénk annak teljes belső működését. Programozási nyelvtől független, így bármilyen programozási nyelv segítségével használhatjuk, amennyiben birtokában vagyunk minden szükséges adattal a használatához - végpont(ok), felhasználónév, jelszó stb, stb stb.

 

És akkor most érthetőbben?!

Tehát az API két egymástól eltérő alkalmazás között teremti meg a kommunikációt. Ez azért fontos, mert az egyes alkalmazások nem látnak bele egymás kódjába így szükség van egy olyan közegre ami az egyik alkalmazás által biztosított adatokat információkat lefordítja/ átalakítja a másik alkalmazás számára azt érthető formára. Az API szabályozza azt, hogy az információk milyen módon cserélődnek ki az alkalmazások között. A mai online világban már szinte mindig szükséges valamilyen API használatára. Csak egy - életszagú - példa a sok közül. Van egy webshopunk amiben számtalan sok terméket forgalmazunk. Bejönnek a megrendelések és mi számlát szeretnénk hozzá készíteni. Na mármost ez rengeteg időt elvenne az tőlünk, hogy minden számlát egyenként elkészítsünk. DE szerencsére már minden korszerű számlázóhoz van API kapcsolat, így egy megfelelően megírt alkalmazás segítségével csupán pár kattintás és az elkészült számla már ott is van a megrendelő email fiókjában.

 

Hogyan is működik ez? Miért is jó dolog az API és miért is van rá szükség?

Egy konkrét életszagú példa segítségével szeretném ezt elmagyarázni. Azért is ezt a példát választottam, mert itt nem egy, hanem kapásból három rendszer API-ját is használjuk.

Egyik ügyfelünk számára kellett egy szoftvert fejleszteni, amivel képes a saját shoprenteres webshopjában kezelni az Emag piactérről érkező megrendeléseket, valamint ezekhez automatán fel kell tudnia tölteni a számlát és a garanciapapírokat és kezelnie kell a rendelés státuszát is.

Itt kapásból 3 API-ra is szükségünk lesz.

  • az Emagos rendelések letöltéséhez szükségünk lesz az Emag API-jára,
  • a Shoprenteres webshopba való betöltéshez szükségünk lesz az Shoprenter API-jára,
  • a számla lekéréséhez pedig szükségünk lesz az ügyfelünk által használt online számlázó API-jához.

Első lépésként elkészül a szoftver azon resze, ami az Emagos rendelések letöltéséért felel. A szoftver megfelelő időközönként lekéri az újonnan beérkezett Emagos rendeléseket. Megvan a lista, ami tartalmazza az elmúlt időszakba beérkezett új rendeléseket és minden hozzátartozó adatot. (azonosító, rendelés dátuma, megrendelő neve, címe elérhetőségei, szállításhoz és számlázáshoz szükséges címek, elérhetőségek, a megrendelt termék(ek) stb). Ezen lista adatait a szoftvernek át kell tudnia alakítani úgy, hogy azokat a Shoprenter API-ja, képes legyen feldolgozni és ezáltal látható legyen a webshop admin felületén.

Itt van benne egy kis csavar, mert az Emagon használt fizetési és szállítási módokat meg kell feleltetni az aktuális Shoprenteres webshopban használható fizetési módokkal. Szinte minden API használata esetén szükség van az adatok bizonyos mértékű konverziójára, átalakítására. Ez lehet a már fentebb említett szállítási és számlázási módok megfeleltetése két rendszer között, de lehet akár a vezetéknevek és keresztnevek összefűzése vagy éppen szétdarabolása, annak fényében, hogy milyen formában várja azt a cél rendszer a szoftvertől.

Elkészül az Emagról lekért adatok átalakítása és máris egy olyan felépítésű listánk van, amit a Shoprenter API-ja képes értelmezni és felhasználni.

A Shoprenter által értelmezhető formátum.

 

Az új listában szereplő rendelések beküldésre kerülnek a Shoprenter rendszerébe, és ha minden szükséges adat megfelel akkor eredményképpen ezek a rendelések is megjelennek az admin felületen.

[Megtörténik az ügyfelünk részéről a rendelésekkel kapcsolatos adminisztráció, számlakészítés, Stb.]

Következő lépésként a szoftver háttérben automatizált része megkeresi azokat a megrendeléseket amik Emagról érkeztek és kezelve lettek a Shoprenter rendszerében, a megrendelő által használt online számlázóból API-n keresztül kinyeri az elkészített számlát majd feltölti azt az Emag rendszerébe. Ezzel egy időben a rendelés státuszát is kezeljük.

Mi a helyzet az át nem vett, visszaküldött csomagokkal? - joggal vetődhet fel a kérdés az olvasóban. Erre is van már létező megoldás. Mivel a cél az volt hogy a Shoprenter felületén lehessen kezelni mindent így elegendő ott beállítani a visszajött csomagokra a megfelelő státuszt, majd a háttérben időszakosan lefutó programrész megkeresi ezeket a rendeléseket és kezeli azok státuszát az Emagon is.

 

Összegzés

Összegezvén a dolgokat egy megfelelően kitalált és kidolgozott API nagy segítségére van a szoftverfejlesztőnek. A fentebb leírt példa csak egy a sok közül, amit meg lehet valósítani az API-k használatával. Rendeléseket, ügyfeleket, termékeket tudunk kezelni velük. „A” rendszerből a „B” rendszerbe tudunk adatokat átvinni a megfelelő konverzió segítségével. Komplex feladatokat vagyunk képesek automatizálni annak érdekében, hogy a megrendelőnek csak annyi dolga legyen, hogy hátradől és időnként kattint néhányat.

Az API-k használatával létrejött szoftvereket képesek vagyunk automatizálni így azok mindenféle emberi beavatkozás nélkül időről időre - naponként, óránként akár percenként - lefutnak és elvégzik a beléjük kódolt feladatot.


A szerzőről:

Mezei Gábor senior programozó. - Mellékállásban lvl 80-as Paladin!

A weboldal és az azon megjelenő tartalmi, szöveges, grafikai és egyéb megoldások, szövegek, képek, adatok, információk és egyéb anyagok, illetve azok elrendezése szerzői jogvédelem alá esnek, azok felhasználására és minden egyes felhasználás engedélyezésére kizárólag a Szolgáltató jogosult. A Szolgáltató előzetes írásbeli engedélye nélkül tilos a weboldalak tartalmának egészét vagy részeit bármilyen formában felhasználni, reprodukálni, átruházni, terjeszteni, átdolgozni, vagy tárolni. Amennyiben oldalunk bármelyik tartalmát más személy, cég vagy szervezet honlapján bizonyíthatóan azonos vagy hasonló formában észleljük, másolt oldalanként (másolt oldalnak minősül legalább egy bekezdésnyi szöveg változatlan lemásolása) 280.000 Ft összegű kötbért számlázunk ki oldalanként a jogtalan felhasználónak.