Minden, amit az online számlázásról tudnod kell, friss hírek, információk

Ismerd meg a billingót

Billingo API 2.0

2016-03-10 - Frissítések
Billingo API 2.0

A Billingo készítésénél külön prioritással kezeltük, hogy legyen külön API - azaz alkalmazás fejlesztési interfész ami a lehetőleg könnyen kezelhető. A Billingo 4.0 fejlesztéssel pedig az API is megújult. Összeszedtük a legfontosabb tudnivalókat a Billingo API 2.0-ról.

REST

Leegyszerűsítve, a Representational State Transfer a világháló szoftverarchitektúra stílusa. Azokat a szolgáltatásokat amik eleget tesznek a REST megkötéseinek, RESTful -nak hívják. A megkötésekről és a REST-ről részletesebben többek között itt is olvashatsz.

Annyi fontos, hogy a Billingo API által elérhető szolgáltatásait a GET, POST, PUT és DELETE HTTP metódusokkal érjük el. A GET a lekérdezésért, a POST a mentésért, a PUT a módosításért a DELETE pedig a törlésért felel.

A különböző szolgáltatásokat, mint például a számlák letöltése vagy partnerek feltöltése különböző URL-eken keresztül érhetjük el, ezek az ún. end-point-ok.

A másik elterjedt stílus a SOAP.

A Billingo már az első verzió óta, az egyszerűség, az elterjedt könyvtárak, könnyebb tesztelhetőség és egyéb okok miatt is RESTful API-t használ.

Új megnyitott szolgáltatások

Az eddigiek mellett szerettünk volna még több a Billingóban is használható szolgáltatást megnyitni az API felé. Ezek közül a fontosabbak:

  • Kiadások kezelése
  • Számlák kifizetésének a beállítása
  • Számlák emailben küldése
  • Számlák stornózása
  • Számlák letöltése

A régen visszaadott letöltési link pedig egy új endpointon lett elérhető. Ennek a használatával nyomon következő, hogy egy számlát megnyitottak-e vagy sem.

JSON

A JavaScript Object Notation egy kis méretű, ember által olvasható, nyílt adatstruktúra, amely ugyan a JavaScript nyelvből gyökerezett, mára már teljesen nyelvfüggetlen.

Előnye az XML-el szemben, hogy sokkal kevesebb leíró adatot tartalmaz, egyszerűbben szerkeszthető és gyorsabban feldolgozható.

A másik hasonló adatstruktúra formátum a YAML amit gyakran rendszer konfigurációhoz használnak.

Azt, hogy JSON-t fogunk használni az nem is volt kérdéses.

JSON séma

A JSON fájl séma mentes, ha nincs szintaxis hiba, akkor bármilyen mezőket tartalmazhat. Ez ugyan megkönnyíti a fejlesztést, de nehezíti a standardizálást egy API esetében.

Emiatt az egyik fő váltás az új API rendszerben a JSON-Schema használata lett, amit a jelenlegi verzióban csak a fogadott adatokra terjesztettünk ki, azonban hamarosan már a visszaküldött adatokhoz is elérhetőek lesznek a JSON sémák.

További olvasni való a JSON sémáról: http://json-schema.org/

Hitelesítés

A REST állapotmentes, ez egyszerűbben mondva azt jelenti, hogy az egyik szolgáltatás elérése után nincs állapot információnk (pl. bejelentkezés, stb.) a soron következő szolgáltatás meghívása esetén. Emiatt minden szolgáltatás meghívásnál hitelesíteni kell, hogy melyik felhasználó hívta meg az API-t, volt-e joga hozzá - lehetőleg biztonságosan, tehát ha valaki "lehallgatja" a két rendszer közötti kommunikációt akkor ne tudjon a bejelentkezési adatokkal más információt küldeni vagy letölteni.

Talán ez volt az egyik pont ahol bakit követtünk el az első rendszernél, mert viszonylag egyedi digitális aláírásos rendszert használtunk a hitelesítéshez, viszont főleg azért, mert nem volt szabad formátum, nehézkesen volt használható, és nem volt mindig egyértelmű, hogy miért nem működik valakinél.

Emiatt a 2.0 -ás rendszerben már az ún. JSON Web Token azaz JWT-t használjuk a hitelesítéshez és minden esetben HTTP fejlécként adjuk át a hitelesítő kódot.

Ezzel talán sikerült tovább folytatnunk az ádáz küzdelmünket a szabványosításért. :)

Könyvtárak

Annak érdekében, hogy minél egyszerűbben használható legyen az új API, a jobb dokumentáció mellett (ami innen elérhető) új PHP könyvtárakat is írtunk. Mindegyik szabadon felhasználható, MIT licenszű.

Az első elkészült könyvtárak a Connector könyvtár, ami a HTTP hívásokat és az authentikálást segíti és ugyanez a könyvtár a Laravel keretrendszerhez.

Ezen kívül készülünk még egy DataMapper könyvtárral, ami az összes szolgáltatást egyszerűen kezelhető osztályokká alakítja, és természetesen szeretnénk a későbbiekben további nyelvekre is lefordítani őket.

A könyvtárak elérhetőek Packagist -en is, és Composerrel telepíthetőek. Így folyamatosan és automatikusan frissen tarthatóak.

Örömteli számlázást kíván,
Számlázó program - Billingo online számlázó - Billy üdvözlettel,
Billy

Billingózz Te is!

Regisztrálj egy ingyenes fiókot és tesztelt a számlázót 30 napig ingyen!

Regisztrálok Billingózz Te is!

Hozzászólások ()

Bonácz Zsolt adótanácsadó a Billingo új online számlázás szakértője

Bonácz Zsolt adótanácsadó a Billingo új online számlázás szakértője

Hírek, 2019-10-14

Bonácz Zsolt adótanácsadó és adószakértő is csatlakozott a Billingo szakértői csapatához. Az elismert szakembe…

WOW, Billingo a Forbes Flow színpadán

WOW, Billingo a Forbes Flow színpadán

Hírek, 2019-10-08

Pistyur Vera és Fehér Gyula, az Oktogon Ventures befektetőcég alapítói előtt pitchelt Sárospataki Albert, a Bi…

Profi szakértőkkel erősít a Billingo

Profi szakértőkkel erősít a Billingo

Hírek, 2019-10-08

Óriási változások várhatók a Billingo háza táján, aminek leginkább az online számlázó ügyfelei és a KKV szekto…

Elismerés: "A" minősítést kapott a Billingo az Opten cégminősítőtől

Elismerés: "A" minősítést kapott a Billingo az Opten cégminősítőtől

Hírek, 2019-10-08

“A” minősítést kapott a Billingót üzemeltető Octonull Kft. az OPTEN speciális cégminősítési módszertana alapjá…

Több mint 560 000 Ft értékű Billingo előfizetés Az Év Webshopja nyerteseinek

Több mint 560 000 Ft értékű Billingo előfizetés Az Év Webshopja nyerteseinek

Hírek, 2019-09-30

2019-ben is megrendezték Az Év Webshopja online versenyt, amelynek támogatói között idén a Billingo online szá…

ÚJDONSÁG: elérhető a Billingo-Quick összekapcsolás

ÚJDONSÁG: elérhető a Billingo-Quick összekapcsolás

Hírek, 2019-09-24

Újabb hasznos és fontos lehetőséget kaptak a Billingo felhasználói, a számlázó program fiókjai ugyanis egy úja…