Vevői rendelés API

Az eVIR rendszer lehetőséget biztosít külső rendszer számára számla készítésére.

Az általános API leírásban szerepelnek az alapok, ezért itt már csak a specifikus részek szerepelnek.

A kommunikáció JSON alapkon zajlik, a követező módon:

https://evir.hu/cegnev/cgi-bin/index.cgi?json={"token":"jMuPFcKJdyKYqMZ7iGiLpxF/32k","dok":"api_rendeles_vevoi",...........}

a JSON adat egy hash, melynek kulcsai az alábbi jelentésekkel bírnak

API hívás paraméterei

mező	+	tipus/érték	jelentés
token	M	string	a klienst azonosító evir felhasználó tokenje (evir felhasználó jelszavának módosításakor kiíródik)
dok	M	„api_rendeles_vevoi”	az api hívást azonosítja
muvelet	*1	„0”, „M1”, „P1”, „M1P2”, „P1M2”, „P1M0”	hogyan jöjjön létre a bizonylat: bizonylat művelet
email_cim	string(100)	email cím „valami@example.com” formátumban

*1 Rendelés létrehozásakor hogyan készüljön bizonylat: bizonylat művelet

0 Csak a bizonylatszámot adja oda

M1 A bizonylatot email-ben elküldi, és odaadja a bizonylatszámot

P1 P1M0 A bizonylatból PDF-et készít.

M1P2 P1M2 A bizonylatból PDF-et készít és a bizonylatot email-ben el is küldi

Partner adatai

A vevő partner adatai. partner adatok

mező	+	tipus/érték	jelentés
partner_id	*1	szám	partner_id

*1 Lehet új partner adatokat megadni vagy meglévő partnerrel dolgozni

Ha a partner már rögzítve van az eVIR-ben, akkor elegendő az azonosítóját, a partner_id-t megadni. Semmilyen más partner adatot nem kell megadni.

Ha új partnernek készül a rendelés, akkor a partner_id mezőt ki kell hagyni, és minden egyéb partner adatot megfelelően ki kell tölteni.

mező	+	tipus/érték	jelentés
partner_tipus	M	„cég” vagy „személy”
partner_nev	M	string(90)	partner neve
partner_cim_orszag	M	string(2)	ország kétbetűs kódja, (pontosan 2 karakter)
partner_cim_orszag_nev	*1	string	ország megnevezése. Megegyezik az evir törzsadatai szerinti névvel (maximum 50 karakter)
partner_cim_irszam	M	string(10)	irányítószám
partner_cim_varos	M	string(40)
partner_cim_cim	M	string(60)	közterület neve. nem bontott cím esetén házszám stb. egyben
partner_cim_jelleg	*2	string(40)	közterület jellege
partner_cim_hazszam	*2	string(20)	házszám
partner_cim_epulet	*2	string(40)	épület
partner_cim_lepcsohaz	*2	string(20)	lépcsőház
partner_cim_ajto	*2	string(20)	ajtó
partner_adoszam	C	string(20)	adószám
partner_csoport_adoszam	C	string(20)	csoportazonosító szám
partner_kozadoszam	C	string(20)	Közösségi adószám
partner_third_adoszam	C	string(20)	Közösségen kívüli adószám

M kötelezően Meg kell adni (mandatory)

*1 Amennyiben az ország még nem szerepel az eVIR-ben, akkor kötelező megadni

*2 Bontott cím esetén a közterület jellege mezőt ki kell tölteni, és minden egyéb cím adatot a megfelelő mezőben kell szerepeltetni.

C Csak cég esetén adható meg

Szállítási cím

A szállítási címet NEM kötelező megadni. Ha megadja, akkor a szállítási cím adatait az alábbi módon kell megadni.

mező	+	tipus/érték	jelentés
szall_nev	M	string(90)	partner neve
szall_cim_orszag	M	string(2)	ország kétbetűs kódja, (pontosan 2 karakter)
szall_cim_orszag_nev	*1	string	ország megnevezése. Megegyezik az evir törzsadatai szerinti névvel (maximum 50 karakter)
szall_cim_irszam	M	string(10)	irányítószám
szall_cim_varos	M	string(40)
szall_cim_cim	M	string(60)	közterület neve. nem bontott cím esetén házszám stb. egyben
szall_cim_jelleg	*2	string(40)	közterület jellege
szall_cim_hazszam	*2	string(20)	házszám
szall_cim_epulet	*2	string(40)	épület
szall_cim_lepcsohaz	*2	string(20)	lépcsőház
szall_cim_ajto	*2	string(20)	ajtó

M kötelezően Meg kell adni (mandatory)

*1 Amennyiben az ország még nem szerepel az eVIR-ben, akkor kötelező megadni

*2 Bontott cím esetén a közterület jellege mezőt ki kell tölteni, és minden egyéb cím adatot a megfelelő mezőben kell szerepeltetni.

Számlázásiási cím

A számlázási címet NEM kötelező megadni. Ha megadja, akkor a számlázási cím adatait az alábbi módon kell megadni.

mező	+	tipus/érték	jelentés
szla_nev	M	string(90)	partner neve
szla_cim_orszag	M	string(2)	ország kétbetűs kódja, (pontosan 2 karakter)
szla_cim_orszag_nev	*1	string	ország megnevezése. Megegyezik az evir törzsadatai szerinti névvel (maximum 50 karakter)
szla_cim_irszam	M	string(10)	irányítószám
szla_cim_varos	M	string(40)
szla_cim_cim	M	string(60)	közterület neve. nem bontott cím esetén házszám stb. egyben
szla_cim_jelleg	*2	string(40)	közterület jellege
szla_cim_hazszam	*2	string(20)	házszám
szla_cim_epulet	*2	string(40)	épület
szla_cim_lepcsohaz	*2	string(20)	lépcsőház
szla_cim_ajto	*2	string(20)	ajtó

M kötelezően Meg kell adni (mandatory)

*1 Amennyiben az ország még nem szerepel az eVIR-ben, akkor kötelező megadni

*2 Bontott cím esetén a közterület jellege mezőt ki kell tölteni, és minden egyéb cím adatot a megfelelő mezőben kell szerepeltetni.

Rendelés általános paraméterei

Rendelés adatai

mező	+	tipus/érték	jelentés
arkat	*1	string(20)	árkategória (ha nincs megadva, akkor a partnerhez rendelt, vagy alapértelmezett árkategória lesz) ebből következik a számla pénzneme is
penznem	*1	string(3)	pénznem
fizmod	string(20)	fizetési mód, (beállítás szerinti hatással a teljdat, fizhat mezőkre) ha nincs megadva, alapértelmezett lesz)
rend_datum	dátum	rendelés dátuma
szallhat	dátum	szállítási határidő
hivatkozas	string (30)	hivatkozás
megjegyzes	string	Opcionális megjegyzés
nyelv	string	a bizonylat nyelve (ha nincs megadva, HU)
webshop_type	string	webshopot azonosító kód
webshop_id	string	webshopban használt id
tetel_mezok	tomb	tételsorokat tartalmazza. egy tételsor egy hash

*1 Az árkategória arkat és pénznem penznem mezők feldolgozásakor:

Ha az árkategória meg van adva, akkor abból számolja ki a pénznemet is

Ha az árkategória nincs megadva, akkor a pénznem alapján próbál egy árkategóriát meghatározni.

Rendelés tétel mezői

A következő mezők a tetel_mezok tömbön belül többszörösen is megadható hashek adatszerkezete

Részletes dokumentáció: tétel adatok

mező	+	tipus/érték	jelentés
tetel_tipusa	M *1	termék raktár szolgáltatás vegosszetgi_engedmeny raktar_cikktorzs	tétel tipusa
tetel_forrasraktar	*2	string	annak a raktárnak a kódja, ahonnan a terméket eladja. szolgáltatás (és előlegszámla) esetén nem kell megadni
tetel_cikkszam	M	string	a termék vagy szolgáltatás cikkszáma
tetel_menny	M	szám	az eladott mennyiség (pozitív szám)
tetel_netto	M	szám	nettó eladási egységár
tetel_megj	O	string	tételhez kapcsolódó megjegyzés szöveg (opcionális)

M kötelezően Meg kell adni (mandatory)

O Opcionális

*1 tétel tipusa, További részletek: tétel adatok oldalon

termék: termék katalógusból (raktárkészlet foglalás nélkül)

raktár: termék raktárkészlet foglalással

szolgáltatás: szolgáltatás

vegosszegi_engedmeny: rendelés végösszegéből adandó engedmény egy összegben

raktar_cikktorzs: termék raktárkészlet foglalással a lehetőségek szerint

*2 tetel_forrasraktar megadása termék és raktar_cikktorzs tételtipus esetén kötelező megadni. Egyébként nincs használatban.

A következő adatokat akkor kell megadni, ha a szolgáltatás cikkszám még nem szerepel a cikktörzsben. termék esetén nem használható

mező	+	tipus/érték	jelentés
tetel_cikk_rogzites	*3	„” vagy „szolg_fix” vagy „szolg_gen”	Hogyan kell a cikkszámot rögzíteni
tetel_cikk_megnevezes	R	string	a cikk megnevezése
tetel_cikk_afa	R	string	az áfakulcsot azonosító szám vagy szöveg
tetel_cikk_megys	R	string	Mennyiségi egység
tetel_cikk_unit	R	szám	legkisebb mennyiség

*3 tetel_cikk_rogzites ha meg van adva, akkor az 'R' jelű rögzítendő mezőket ki kell tölteni

R tetel_cikk_rogzites esetén megadandó adatok.

API hívás visszatérési értéke

Az api hívás paraméterétől, és a működés sikerességétől függően a visszatérési érték az alábbiak lehetnek.

API válaszok

Sikeres PDF dokumentum

JSON válaszüzenet

Egyéb HTTP válaszüzenet

Példa JSON adatok

Minimális példa

Partner törzsadatból, bizonylatot nem nyomtatja, nem küldi email-ben

{
"token":"...",
"dok":"rendeles_api_felvesz",
"muvelet":"0",
"penznem":"HUF",
"partner_id":"4",
"tetel_mezok":[
{
"tetel_tipusa":"termék",
"tetel_menny":"1",
"tetel_netto":"1000",
"tetel_cikkszam":"c1"
}
]
}

Példa válaszüzenet JSON formátumban

[
{
"status":"OK",
"rendelesszam":"RE2021000012",
"message":[
{
"time":"2021.09.27 19:22:31.51",
"message":"Rendelés rögzítve.",
"level":"Info"
},
{
"message":"status=OK",
"level":"SysInfo",
"time":"2021.09.27 19:22:31.58"
},
{
"level":"SysInfo",
"message":"rendelesszam=RE2021000012",
"time":"2021.09.27 19:22:31.58"
}
],
"choice":{
"back":{
"session":{
"proc":"back",
"cid":"cZ9cvPgKHU",
"lid":"zTsqM0LBHU",
"sid":"QKYYSPhvHU"
},
"data":{}
}
},
"framename":"main",
"result":null
}
]