Szalkusz Szamlazz REST API v0.0.1
Ez az API lehetővé teszi a szamlazz.hu Szamla Agent elérését HTTP POST kérésekkel. Ehhez a lehető legegyszerűbb és leguniverzálisabb megoldást alkalmazza, a kérés BODY-ban JSON-ben kell átadni a kívánt paramétereket. Az API a Szamla Agent PHP API v2.8-on alapszik. A rendszer rendelkezik saját hibakezelő tevékenységgel, azonban szükség esetén képes továbbítani a Szamla Agent hibaüzeneteit is. Ez a verzió még nem rendelkezik folyamatautomatizációval, ezért az egyes tevékenységek teljes információszükségletét a hívónak kell kielégítenie (ehhez persze minden információ rendelkezésére áll az API-n keresztül).
Implementált funkciók:
- Számla kibocsátása
- Számla (valamint díjbekérő és egyéb) adatainak lekérdezése
- Helyesbítő számla kibocsátása
- Sztornó számla kibocsátása
- Számlatételek (valamint díjbekérő) fizetése (ezáltal: számla fizetetté tétele)
- Díjbekérő kibocsátása
- Díjbekérő törlése
BODY JSON általános felépítése
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Számla Agent API kulcs | apiKulcs | < string > | - |
Kívánt funkció megnevezése | muvelet | < string > | - |
Bár fel van többre is készítve a rendszer, jelenleg egyszerre (1 kérés során) csak 1 művelet elvégzését támogatja
{
"apiKulcs" : "< Számla Agent API kulcs >",
"muvelet": {
"< művelet azonosítója >": {
"< első adattag >": "< első adattag értéke >",
"< második adattag >": "< második adattag értéke >",
.
.
"tetelek": {
"tetel1": {
"< első adattag >": "< első adattag értéke >",
"< második adattag >": "< második adattag értéke >",
.
.
},
"tetel2": {
"< első adattag >": "< első adattag értéke >",
"< második adattag >": "< második adattag értéke >",
.
.
},
.
.
}
}
}
}
Műveletek
Művelet neve | Művelet azonosítója |
---|---|
Számla kibocsátása | szamlaKeszites |
Számla (valamint díjbekérő és egyéb) adatainak lekérdezése | szamlaLekerdezes |
Helyesbítő számla kibocsátása | szamlaHelyesbito |
Sztornó számla kibocsátása | szamlaSztorno |
Számla tételek fizetése (ezáltal: számla fizetetté tétele) | szamlaFizetes |
Díjbekérő kibocsátása | dijbekeroKeszites |
Díjbekérő törlése | dijbekeroTorles |
Számla kibocsátása
Művelet azonosítója: szamlaKeszites
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Számla típusa | szamlaTipus | "elektronikus" VAGY "hagyomanyos" | - |
Fizetés típusa | fizetesTipus | "utalas" VAGY "bankkartya" vagy "keszpenz" | - |
Pénznem | penznem | "huf" VAGY "eur" | - |
Nyelv | nyelv | "hu" VAGY "en" | - |
Teljesítés dátuma | teljesitesDatum | < string - formátum: "ÉÉÉÉ-HH-NN" > | - |
Fizetési határidő | kifizetesHatarido | < string - formátum: "ÉÉÉÉ-HH-NN" > | - |
Eladó bankja | eladoBank | < string > | - |
Eladó számlaszáma | eladoSzamlaszam | < string > | - |
Vevő neve | vevoNev | < string > | - |
Vevő irányítószáma | vevoIrszam | < string > | - |
Vevő települése | vevoTelepules | < string > | - |
Vevő címe | vevoCim | < string > | - |
Vevő adóalanyisága | vevoAdoalanyisag | "tarsasVallalkozas" VAGY "egyeniVallalkozo" VAGY "adoszamosMaganszemely" VAGY "adoszamosEgyebSzervezet" VAGY "vanAdoszama" VAGY "nemTudniAdoalanyE" VAGY "nincsAdoszama" VAGY "maganszemely" VAGY "adoszamNelkuliEgyebSzervezet" |
- |
Vevő adószáma | vevoAdoszam | < string > | - |
Alapértelmezett számla fizetett alapállapot: bankkártyás és készpénzes fizetésnél fizetett, utalásnál nem
Tétel adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Megnevezés | nev | < string > | - |
Nettó egységár | egysegarNetto | < string > | - |
Mennyiség | mennyiseg | < string > | - |
Mennyiség mértékegysége | mennyisegMertekegyseg | < string > | pl. darab, kg, stb. |
Adó százaléka | adoSzazalek | < string > | pl. 27 |
Nettó összár | arNetto | < string > | egysegarNetto * mennyiseg |
Adó értéke | adoErtek | < string > | arNetto * (adoSzazalek/100) |
Bruttó összár | arBrutto | < string > | arNetto + adoErtek |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"szamlaKeszites": {
"szamlaTipus": "elektronikus",
"fizetesTipus": "utalas",
"penznem": "huf",
"nyelv": "hu",
"teljesitesDatum": "2019-09-20",
"kifizetesHatarido": "2019-09-28",
"eladoBank": "Szuper Bank",
"eladoSzamlaszam": "11111111-22222222-33333333",
"vevoNev": "András Holding",
"vevoIrszam": "1234",
"vevoTelepules": "Budapest",
"vevoCim": "Kecske utca 1.",
"vevoAdoalanyisag": "tarsasVallalkozas",
"vevoAdoszam": "11111111-2-44",
"tetelek": {
"tetel1": {
"nev": "Gyufa",
"egysegarNetto": "100.0",
"mennyiseg": "2.0",
"mennyisegMertekegyseg": "db",
"adoSzazalek": "20",
"arNetto": "200.0",
"adoErtek": "40.0",
"arBrutto": "240.0"
},
"tetel2": {
"nev": "Liszt",
"egysegarNetto": "200.0",
"mennyiseg": "2.0",
"mennyisegMertekegyseg": "kg",
"adoSzazalek": "20",
"arNetto": "400.0",
"adoErtek": "80.0",
"arBrutto": "480.0"
}
}
}
}
}
Válasz body: Az elkészült számla száma (pl. E-ZEN-2020-48)
Számla (és egyéb) adatainak lekérdezése
Művelet azonosítója: szamlaLekerdezes
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Számla (vagy egyéb) száma | szamlaSzama | < string > | - |
Válaszolt adat típusa | adatTipusa | "adat" vagy "PDF" | "adat": JSON válasz, benne a Szamla Agent válaszával "PDF": a válasz body a lekérdezett fájlt tartalmazza PDF formátumban (headerek pdf/application letöltésre állítva) |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"szamlaLekerdezes": {
"szamlaSzama": "E-ZEN-2020-25",
"adatTipusa": "adat"
}
}
}
Válasz body: válaszolt adat típusa = PDF esetben maga a PDF, adat esetben (Szamla Agent JSON válasza) pl.:
{
"documentNumber": "E-ZEN-2020-25",
"result": {
"szallito": {
"id": "179653",
"nev": "TESZT - Brand fiok",
"cim": {
"orszag": "Magyarorsz\u00e1g",
"irsz": "1145",
"telepules": "Budapest",
"cim": "Teszt utca 5"
},
"adoszam": "11111111-1-11",
"bank": {
"nev": "Szuper Bank",
"bankszamla": "11111111-22222222-33333333"
}
},
"alap": {
"id": "90804115",
"szamlaszam": "E-ZEN-2020-25",
"tipus": "SZ",
"eszamla": "3",
"kelt": "2020-03-23",
"telj": "2019-09-20",
"fizh": "2019-09-28",
"fizmod": "bankk\u00e1rtya",
"fizmodunified": "bankk\u00e1rtya",
"keszpenz": "false",
"nyelv": "hu",
"devizanem": "HUF",
"megjegyzes": [],
"penzforg": "false",
"kata": "false",
"teszt": "true"
},
"vevo": {
"id": "39388327",
"nev": "Andr\u00e1s Holding",
"cim": {
"orszag": "Magyarorsz\u00e1g",
"irsz": "1234",
"telepules": "Budapest",
"cim": "Kecske utca 1."
},
"adoszam": "11111111-2-44",
"lokacio": "1",
"fokonyv": {
"vevo": [],
"vevoazon": [],
"folyamatostelj": "false"
}
},
"tetelek": {
"tetel": [
{
"nev": "Teszt t\u00e9tel",
"mennyiseg": "2",
"mennyisegiegyseg": "db",
"nettoegysegar": "100",
"afakulcs": "20",
"netto": "200",
"arresafaalap": "0",
"afa": "40",
"brutto": "240",
"megjegyzes": [],
"fokonyv": {
"arbevetel": [],
"afa": [],
"gazdasagiesemeny": [],
"gazdasagiesemenyafa": [],
"elszdattol": [],
"elszdatig": []
}
},
{
"nev": "Liszt",
"mennyiseg": "2",
"mennyisegiegyseg": "kg",
"nettoegysegar": "200",
"afakulcs": "20",
"netto": "400",
"arresafaalap": "0",
"afa": "80",
"brutto": "480",
"megjegyzes": [],
"fokonyv": {
"arbevetel": [],
"afa": [],
"gazdasagiesemeny": [],
"gazdasagiesemenyafa": [],
"elszdattol": [],
"elszdatig": []
}
}
]
},
"osszegek": {
"afakulcsossz": {
"afakulcs": "20",
"netto": "600",
"afa": "120",
"brutto": "720"
},
"totalossz": {
"netto": "600",
"afa": "120",
"brutto": "720"
}
},
"kifizetesek": {
"kifizetes": {
"datum": "2020-03-23",
"jogcim": "bankk\u00e1rtya",
"osszeg": "720",
"megjegyzes": [],
"bankszamlaszam": []
}
},
"pdf":
"< PDF FÁJL NYERS TARTALMA >",
"headers": {
"http_code": "HTTP\/1.1 200 200",
"Date": "Sat, 28 Mar 2020 15:45:38 GMT",
"Server": "Apache\/2.4.38 (Debian)",
"Set-Cookie": "cookie_is_member=true; Max-Age=31536000; Expires=Sun, 28-Mar-2021 15:45:38 GMT; Path=\/; Secure",
"Cache-Control": "no-store, no-cache, must-revalidate, post-check=0, pre-check=0, max-age=0",
"Pragma": "public",
"szlahu_kintlevoseg": "0",
"szlahu_vevoifiokurl":
"https%3A%2F%2Fwww.szamlazz.hu%2Fszamlaabcdefghijk",
"szlahu_nettovegosszeg": "600",
"szlahu_szamlaszam": "E-ZEN-2020-25",
"szlahu_bruttovegosszeg": "720",
"Content-Disposition": "attachment; filename=179653_E-ZEN-2020-25_ee7miy5sdqpw43yma45sdqpw.xml",
"Content-Type": "application\/octet-stream",
"Content-Length": "58563",
"Expires": "Sat, 28 Mar 2020 15:45:38 GMT",
"Schema-Type": "invoice"
}
}
}
Helyesbítő számla készítése
Művelet azonosítója: szamlaHelyesbito
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Helyesbíteni kívánt számla száma | szamlaSzama | < string > | - |
Helyesbítendő számla típusa | szamlaTipus | "elektronikus" vagy "hagyomanyos" | - |
Fizetés típusa | fizetesTipus | "utalas" VAGY "bankkartya" vagy "keszpenz" | - |
Pénznem | penznem | "huf" VAGY "eur" | - |
Nyelv | nyelv | "hu" VAGY "en" | - |
Teljesítés dátuma | teljesitesDatum | < string - formátum: "ÉÉÉÉ-HH-NN" > | - |
Fizetési határidő | kifizetesHatarido | < string - formátum: "ÉÉÉÉ-HH-NN" > | - |
Eladó bankja | eladoBank | < string > | - |
Eladó számlaszáma | eladoSzamlaszam | < string > | - |
Vevő neve | vevoNev | < string > | - |
Vevő irányítószáma | vevoIrszam | < string > | - |
Vevő települése | vevoTelepules | < string > | - |
Vevő címe | vevoCim | < string > | - |
Vevő adóalanyisága | vevoAdoalanyisag | "tarsasVallalkozas" VAGY "egyeniVallalkozo" VAGY "adoszamosMaganszemely" VAGY "adoszamosEgyebSzervezet" VAGY "vanAdoszama" VAGY "nemTudniAdoalanyE" VAGY "nincsAdoszama" VAGY "maganszemely" VAGY "adoszamNelkuliEgyebSzervezet" |
- |
Vevő adószáma | vevoAdoszam | < string > | - |
Alapértelmezett számla fizetett alapállapot: bankkártyás és készpénzes fizetésnél fizetett, utalásnál nem
Tétel adattagok
Figyelem: Tételváltoztatás esetén a ügyeljünk arra, hogy az eltávolítást negatívként indikáljuk!
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Megnevezés | nev | < string > | - |
Nettó egységár | egysegarNetto | < string > | - |
Mennyiség | mennyiseg | < string > | - |
Mennyiség mértékegysége | mennyisegMertekegyseg | < string > | pl. darab, kg, stb. |
Adó százaléka | adoSzazalek | < string > | pl. 27 |
Nettó összár | arNetto | < string > | egysegarNetto * mennyiseg |
Adó értéke | adoErtek | < string > | arNetto * (adoSzazalek/100) |
Bruttó összár | arBrutto | < string > | arNetto + adoErtek |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"szamlaHelyesbito": {
"szamlaSzama": "E-ZEN-2020-48",
"szamlaTipus": "elektronikus",
"fizetesTipus": "utalas",
"penznem": "huf",
"nyelv": "hu",
"teljesitesDatum": "2019-09-20",
"kifizetesHatarido": "2019-09-28",
"eladoBank": "Szuper Bank",
"eladoSzamlaszam": "11111111-22222222-33333333",
"vevoNev": "András Holding",
"vevoIrszam": "1234",
"vevoTelepules": "Budapest",
"vevoCim": "Kecske utca 1.",
"vevoAdoalanyisag": "tarsasVallalkozas",
"vevoAdoszam": "11111111-2-44",
"tetelek": {
"tetel1": {
"nev": "Gyufa",
"egysegarNetto": "100.0",
"mennyiseg": "-2.0",
"mennyisegMertekegyseg": "db",
"adoSzazalek": "20",
"arNetto": "-200.0",
"adoErtek": "-40.0",
"arBrutto": "-240.0"
},
"tetel2": {
"nev": "Liszt",
"egysegarNetto": "200.0",
"mennyiseg": "2.0",
"mennyisegMertekegyseg": "kg",
"adoSzazalek": "20",
"arNetto": "400.0",
"adoErtek": "80.0",
"arBrutto": "480.0"
}
}
}
}
}
Válasz body: A helyesbítő számla száma (pl. E-ZEN-2020-51)
Sztornó számla készítése
Művelet azonosítója: szamlaSztorno
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Sztornózni kívánt számla száma | szamlaSzama | < string > | - |
Kiállítandó sztornó számla típusa | szamlaTipus | "elektronikus" vagy "hagyomanyos" | - |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"szamlaSztorno": {
"szamlaSzama": "E-ZEN-2020-46",
"szamlaTipus": "elektronikus",
"kiallitasDatum": "2020-03-28",
"teljesitesDatum": "2020-03-28"
}
}
}
Válasz body: A sztornó számla száma (pl. E-ZEN-2020-50)
Számlatételek (valamint díjbekérő) fizetése (ezáltal: számla fizetetté tétele)
Művelet azonosítója: szamlaFizetes
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Számla száma, melyre be szeretnénk fizetni | szamlaSzama | < string > | - |
Számla típusa | szamlaTipus | "elektronikus" vagy "hagyomanyos" | annak a számlának a típusa, amire be kívánunk fizetni |
Befizett összeg | befizetettOsszeg | < string > | ennyit vonunk le a számlához köthető kintlevőségből (a számla fizetetté tételéhez ez meg kell egyezzen a számlához tartozó jelenlegi kintlevőséggel) |
Fizetés típusa | fizetesTipus | "bankkartya" vagy "keszpenz" VAGY "utalas" | amivel történt a befizetés |
Jóváírás neve | jovairasNeve | < string > | tetszőleges |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"szamlaFizetes": {
"szamlaSzama": "E-ZEN-2020-41",
"szamlaTipus": "elektronikus",
"befizetettOsszeg": "720",
"fizetesTipus": "bankkartya",
"jovairasNeve": "Teszt"
}
}
}
Válasz body helyes lefutás esetén: SIKERES
Díjbekérő kibocsátása
Művelet azonosítója: dijbekeroKeszites
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Rendelésszám | rendelesszam | < string> | tetszőleges, de egyedi kell legyen |
Fizetés típusa | fizetesTipus | "utalas" VAGY "bankkartya" vagy "keszpenz" | - |
Pénznem | penznem | "huf" VAGY "eur" | - |
Nyelv | nyelv | "hu" VAGY "en" | - |
Teljesítés dátuma | teljesitesDatum | < string - formátum: "ÉÉÉÉ-HH-NN" > | - |
Fizetési határidő | kifizetesHatarido | < string - formátum: "ÉÉÉÉ-HH-NN" > | - |
Eladó bankja | eladoBank | < string > | - |
Eladó számlaszáma | eladoSzamlaszam | < string > | - |
Vevő neve | vevoNev | < string > | - |
Vevő irányítószáma | vevoIrszam | < string > | - |
Vevő települése | vevoTelepules | < string > | - |
Vevő címe | vevoCim | < string > | - |
alapértelmezett díjbekérő fizetett alapállapot: bankkártyás és készpénzes fizetésnél fizetett, utalásnál nem
Tétel adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Megnevezés | nev | < string > | - |
Nettó egységár | egysegarNetto | < string > | - |
Mennyiség | mennyiseg | < string > | - |
Mennyiség mértékegysége | mennyisegMertekegyseg | < string > | pl. darab, kg, stb. |
Adó százaléka | adoSzazalek | < string > | pl. 27 |
Nettó összár | arNetto | < string > | egysegarNetto * mennyiseg |
Adó értéke | adoErtek | < string > | arNetto * (adoSzazalek/100) |
Bruttó összár | arBrutto | < string > | arNetto + adoErtek |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"dijbekeroKeszites": {
"rendelesszam": "Kiskacsa-9",
"teljesitesDatum": "2020-02-10",
"kifizetesHatarido": "2020-04-04",
"eladoBank": "Szalai Bank",
"eladoSzamlaszam": "11111111-22222222-33333333",
"fizetesTipus": "utalas",
"penznem": "eur",
"nyelv": "en",
"vevoNev": "András Holding",
"vevoIrszam": "1234",
"vevoTelepules": "Budapest",
"vevoCim": "Kecske utca 1.",
"tetelek": {
"tetel1": {
"nev": "Gyufa",
"egysegarNetto": "100.0",
"mennyiseg": "2.0",
"mennyisegMertekegyseg": "db",
"adoSzazalek": "20",
"arNetto": "200.0",
"adoErtek": "40.0",
"arBrutto": "240.0"
},
"tetel2": {
"nev": "Liszt",
"egysegarNetto": "200.0",
"mennyiseg": "2.0",
"mennyisegMertekegyseg": "kg",
"adoSzazalek": "20",
"arNetto": "400.0",
"adoErtek": "80.0",
"arBrutto": "480.0"
}
}
}
}
}
Válasz body: Az elkészült díjbekérő száma (pl. D-ZEN-19)
Díjbekérő törlése
Művelet azonosítója: dijbekeroTorles
Figyelem! Ez a funkció azonnal kitörli a rendszerből az adott díjbekérőt, nem állít ki új "sztorno" dokumentumot!
Adattagok
Megnevezés | Azonosító | Érték | Megjegyzés |
---|---|---|---|
Törölni kívánt díjbekérő száma | dijbekeroSzama | < string > | - |
JSON példa
{
"apiKulcs" : "abcdefgh12345678",
"muvelet": {
"dijbekeroTorles": {
"dijbekeroSzama": "D-ZEN-19"
}
}
}
Válasz body helyes lefutás esetén: SIKERES