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:

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