spec:thorr_api_felulet
Tartalomjegyzék
THORR Kommunikációs API
Paraméterek
Paraméter | Leírás |
---|---|
ido | (opcionális) idő típusú adat megadásának dátum formátuma ISO 8601 YYYY-MM-DD HH:mm:ss.ppp (Postgresql-ben használt timestamp formátum) |
b64_xml | Base64 kódolásban egy XML adatstruktúra. Az XML-ben a <DATA_TRANSFER>…</DATA_TRANSFER> kulcsok között kell lennie az átadott adatnak. |
bizszam | (opcionális) Tágabb értelemben vett bizonylatszám. Használata a legtöbb esetben opcionális. Ha megadásra kerül lekérdezés esetén, abban az esetben csak a bizonylatszámmal rendelkező rekord (rendelés, stb.) kerül visszaadásra. |
művelet | eVIR-ben ezeket dok kulcsoknak nevezzük. Ezzel adható meg a kívánt funkcionalitás. |
token | A feéhasználó, illetve jelen esetben a kommunikáló eszköz azonosítására szolgál. A token létrehozásával és használatával kapcsolatban lásd api_altalanos |
A paramétereket POST és GET metódussal is át lehet adni. Egyszerűbb esetekben célszerű lehet magában sz URL-ben megadni, pl:
https://........./cgi-bin/index.cgi?token=A1B2C3D4&dok=thorr_api_get_material_change&ido=2020-03-01%2012:34
Implementált funkciók
Változott cikkek
- dok: thorr_api_get_material
- Paraméter: ido
- Leírás: A paraméterként megadott idő óta változott vagy létrejött cikkek adatai
- Thorr dokumentum:
- Adatok:
MATERIAL_CODE => Cikkszám, MATERIAL_NAME => Cikk megnevezése, MATERIAL_TYPE => 'T', M_ACTIVE => Termék aktív-e, '1' vagy '0',
Új cikkek
- dok: thorr_api_get_material_new
- paraméter: ido
- Leírás: A paraméterként megadott idő óta létrehozott új cikkek adatai.
Már nincs használatban. - Thorr dokumentum:
- Adatok:
ld: 'Változott cikkek'
Változott partnerek
- dok: thorr_api_get_shipto
- Paraméter: ido
- Leírás: A paraméterként megadott idő óta változott vagy létrejött partnerek adatai
- Thorr dokumentum:
- Adatok:
SHIPTO_CODE => Partner id, SHIPTO_NAME => Partner név, Partner cím: SHIPTO_COUNTRY => Országkód, SHIPTO_CITY => Város, SHIPTO_STREET => Közterület, SHIPTO_POST_CODE => Irányítószám, Jelenleg a CUST adatok megegyeznek a SHIPTO adatokkal: CUST_CODE => Partner id, CUST_NAME => Partner név, Partner cím: CUST_COUNTRY => Országkód, CUST_CITY => Város, CUST_STREET => Közterület, CUST_POST_CODE => Irányítószám,
Új partnerek
- dok: thorr_api_get_shipto_new
- Paraméter: ido
- Leírás: A paraméterként megadott idő óta létrejött új partnerek adatai
Nincs használatban - Thorr dokumentum:
- Adatok:
lsd. Változott partnerek
Szállítói megrendelések
- dok: thorr_api_get_inbound
- Paraméter: ido
- Leírás: A paraméterként megadott időpont után létrejött Szállítói megrendelések adatai, melyeknek az állapota:„szállítandó”.
Fontos: Egy szállítói megrendelésen egy cikkszám csak egyszer szerepeljen. - Thorr dokumentum:
- Adatok:
PO_HEAD => PO_NUMBER => Berendelésszám, SUPPLIER_CODE => Rendelésen szereplő Partner id, PO_ITEM => MATERIAL_CODE => Cikkszám, EXPECTED_QUANTITY => Mennyiség, PO_ITEM_ID => Tétel id: eviren belüli unique azonosító a berendelés tételéhez,
Betárolás szállítói megrendelés alapján
- dok: thorr_api_po_itemupdate
- Paraméter: b64_xml
- Leírás: A kapott XML alapján az eVIR készít egy Raktári bevételezést, pontosabban egy „Bevételezés szállítólevélről” műveletet hajt végre, ahol a tételek a visszakapott szállítói rendelés tételei lesznek.
Egy betárolás visszaigazolás API hívás csak egyetlen szállítói megrendelésre hivatkozhat.
A kapott XML-ben szereplő termékek mennyisége nem haladhatja meg a szállítói rendelésben szeplő mennyiséget. Kevesebb lehet, ekkor az eVIR-ben a rendelés állapota részteljesített lesz. A részteljesített megrendeléshez további betárolásokat lehet indítani egészen addig, ameddig szerepel rajta nem teljesített termék. A részteljesített megrendelést az eVIR felületen lehet lezárni, ha további beszállítások nem várhatóak hozzá. - Thorr dokumentum:
- Adatok:
...
Betárolás szállítói rendelés nélkül
- dok: thorr_api_inbound_itemupdate
- Paraméter: b64_xml
- Leírás: A kapott XML alapján az eVIR készít egy Raktári bevételezést, pontosabban egy „Bevételezés szállítólevélről” műveletet hajt végre, ahol a tételek az xml-ben felsorolt tételek lesznek.
A beszállítónak szerepelnie kell az evirben, mint partner, a cikkszámoknak szerepelnie kell a cikktörzsben, ezen kívül más megkötés nincs a bevételezendőkre vonatkozóan. - Thorr dokumentum:
- Adatok:
<?xml version="1.0" encoding="iso-8859-2"?> <DATA_TRANSFER> <HEADER> <FILE_ID>Mint az eddigi</FILE_ID> <TIMESTAMP>20210611113852821</TIMESTAMP> <SENDER>THORR</SENDER> <FUNCTION>INBOUND</FUNCTION> <SUBFUNCTION>ITEMUPDATE</SUBFUNCTION> </HEADER> <DETAIL> <INBOUND_HEAD> <INBOUND_ID>Bevételezés egyedi azonosító</INBOUND_ID> <VENDOR_ID>111111</VENDOR_ID> <VENDOR_SHIPMENT_NO>EVR1</VENDOR_SHIPMENT_NO> </INBOUND_HEAD> <INBOUND_DETAIL> <INBOUND_ITEM> <INBOUND_ITEM_ID>1</INBOUND_ITEM_ID> <MATERIAL_CODE>XXXXXXX</MATERIAL_CODE> <STORED_QUANTITY>20</STORED_QUANTITY> </INBOUND_ITEM> <INBOUND_ITEM> <INBOUND_ITEM_ID>2</INBOUND_ITEM_ID> <MATERIAL_CODE>YYYYYYY</MATERIAL_CODE> <STORED_QUANTITY>30</STORED_QUANTITY> </INBOUND_ITEM> </INBOUND_DETAIL> </DETAIL> </DATA_TRANSFER>
Teljesíthető vevői rendelés
- dok: thorr_api_get_order
- Paraméterek: bizszam
- Leírás: A „teljesíthető” állapotban levő Vevői rendelés adatainak lekérése.
Ha abizszam
paraméter megadásra kerül, akkor kizárólag a paraméterként megadott bizonylatszámú rendelés adatai kerülnek átadásra.
Szűrés nélkül valamennyi olyan megrendelés adatai szerepelnek a válasz XML-ben, amelyeknek az átvétele még nem került visszaigazolásra. A megrendelés tételei közül kizárólag a termékek kerülnek átadásra, minden más (pl. szolgáltatások) kiszűrésre kerülnek belőlük. - Thorr dokumentum:
- Adatok:
ORDER_HEAD=> ORDER_NUMBER => Rendelésszám, DELIVERY_DATE => Szállítási határidő, SHIPTO_CODE => Rendelésen szereplő Partner Id, CUST_CODE => Rendelésen szereplő Partner Id, megegyezik a SHIPTO_CODE-al, CUSTOMER_PICKUP => 'N', ORDER_NOTE => Megjegyzés, ORDER_ITEM => MATERIAL_CODE => Cikkszám, QUANTITY => Mennyiség, ITEM_ID => Tétel id, Eviren belüli unique azonosító a rendelés tételéhez ST_LOC_CODE => Az Eviren beállított Főraktárának az azonosítója,
Letöltött vevői rendelések visszaigazolása
- dok: thorr_api_order_confirmed
- Paraméter: b64_xml
- Leírás: Az eVIR-ből sikeresen letöltött és Thorr által feldolgozott vevői rendelések visszaigazolása. A funkció célja, hogy a
thorr_api_get_order
API hívással csak olyan megrendelés adatai kerüljenek átadásra, amelyekkel még Thorr még nem rendelkezik. - Thorr dokumentum:
- Adatok:
<DETAIL> <ORDER_HEAD> <ORDER_NUMBER> Rendelés száma </ORDER_NUMBER> </ORDER_HEAD> </DETAIL> <DETAIL> ... </DETAIL>
Összekészített rendelés visszaigazolás
- dok: thorr_api_order_picked
- Paraméter: b64_xml
- Leírás: Az eVIR-ből sikeresen letöltött és Thorr által feldolgozott vevői rendelés raktári összekészítettségének visszaigazolása. Az API hívásakor az eVIR-ben szereplő rendelés alapján egy szállítólevelet készítünk. A szállítólevél számát a *bizszam* mezőben adjuk vissza. A rendelés folyamat állapotát „Szállítónak átadva”-ra állítjuk.
- Thorr dokumentum: 4.1, PICKED
- Adatok:
<DETAIL> <ORDER_HEAD> <ORDER_NUMBER>Rendelésszám</ORDER_NUMBER> <DELIVERY_NOTE_NR>Megjegyzés</DELIVERY_NOTE_NR> <RECEIPT_DATE>Teljesítési dátum</RECEIPT_DATE> </ORDER_HEAD> <ORDER_DETAIL> <ORDER_ITEM> <PICKED_QUANTITY>Darabszám</PICKED_QUANTITY> <ITEM_ID> Tétel id </ITEM_ID> </ORDER_ITEM> <ORDER_ITEM> ... </ORDER_ITEM> </ORDER_DETAIL> </DETAIL>
Kiszállított rendelés visszaigazolás
- dok: thorr_api_order_delivered
- Paraméter: b64_xml
- Leírás: Az eVIR-ből sikeresen letöltött és Thorr által feldolgozott vevői rendelés kiszállításának visszaigazolása. A rendelés folyamat állapotát „Teljesítve”-re állítjuk. Ha a paraméterként kapott XML-ben az összes mennyiség 0, akkor úgy értelmezzük, hogy a rendelés nem lett kiszállítva, így sztornózzuk a kiállított szállítólevelet, a rajta szereplő tételek visszakerülnek készletre.
- Thorr dokumentum: 4.1, DELIVERED
- Adatok:
...
Aktuális készlet, leltárív
- dok: thorr_api_actual_stock
- Paraméter: b64_xml
- Leírás: Az XML-ből kapott adatokból készítünk egy vak leltárt a főraktárra nézve.
- Thorr dokumentum: 8.0, ACTUAL STOCK
- Adatok:
<DETAIL> <STOCK> <MATERIAL_CODE> cikkszám </MATERIAL_CODE> <QUANTITY> mennyiség </QUANTITY> <ST_LOC_CODE> evir raktárkód </ST_LOC_CODE> </STOCK> </DETAIL> <DETAIL> ... </DETAIL>
Általános információk
- Azoknál az API hívásoknál, amelyeknél lehetőség van paraméterként
ido
-t megadni, csak a megadott időpontnál újabb adatok kerülnek visszaadásra. Idő megadása nélkül a szűrés nélküli, azaz az összes adat kérdezhető le egyszerre. - Sikeres lekérdezés esetén XML fájl kerül visszaadásra
- Az XML file névében, valamint a HEADER TIMESTAMP mezőben visszaadásra kerül a lekérdezéskori eVIR oldali timestamp, ami a következő lekérdezések
ido
paramétereként folytatólagos lekérdezéshez használható. Ilyen módon nem kritikus a küldő és fogadó rendszer órájának szinkronban tartása. - A visszaadott adatok szerkezete és tartalma a jövőben változhat az specifikáció és az üzleti igényeknek megfelelően.
Limitációk, problémák, defektek
- A SHIPTO és CUST adatok a partner elsődleges címadataiból jönnek, függetlenül attól, hogy esetleg van a partnernek külön szállítási, számlázási, vagy bármilyen más címe
Fejlesztési segédlet, jogosultság
Az API használathoz a felhasználónak a Rendszer→API→Thorr→API Form
menüponthoz kell jogosultságot adni, ami jelenleg a th01 és th02 jogokat takarja.
Fejlesztési segédletként ezen a menüponton elérhető egy form, ahol megadható az idő és a megfelelő gomb megnyomásával lekérdezhetők az adatok. Ez a használat a fejlesztést segítendően létezik. A paraméterezése kicsit eltér az itt dokumentálttól, de a visszaadott eredmény megegyezik.
A dokumentáció alapján használható eVIR verzió: 18179
A fejlesztéshez használt Thorr specifikáció: thorr_xpertrade_interface.pdf
spec/thorr_api_felulet.txt · Utolsó módosítás: szerkesztette: 114.119.135.196