Billingo API 2.0

2016-03-10 - Frissítések

Billingo API 2.0

2016-03-10 - Frissítések

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.

api

Mire vársz?
A Billingóval csak nyerhetsz!
Regisztrálj és próbáld ki teljesen INGYEN!

Billingo

Szólj hozzá Te is

További bejegyzések

11+1 tipp a hatékony időbeosztáshoz elfoglalt vállalkozóknak – 1. rész
11+1 tipp a hatékony időbeosztáshoz elfoglalt vállalkozóknak – 1. rész

2017-06-22

Hiába dolgozol keményen, a nap végén mégis mindig úgy érzed, hogy rengeteg fontos feladatra nem maradt időd? A vállalkozók többsége megtapasztalja ezt az érzést, a sikeresebbek pedig idővel nem csak cégüket, hanem a rendelkezésükre álló időt is megtanulják menedzselni. Mutatunk is rögtön 11+1 hasznos tippet, amivel te is rengeteg időt takarítasz majd meg.…

Elolvasom
Webáruházad van? Automatizáld az időrabló feladatokat
Webáruházad van? Automatizáld az időrabló feladatokat

2017-06-15

Szinte lehetetlen olyan céget mutatni, akinek a fejlődés és a növekedés ne szerepelne tervei közt. A vállalkozás fellendülésével azonban nemcsak a forgalom és a bevétel emelkedik jelentősen, hanem az adminisztrációs kötelezettségek is. Egy számlázó programmal összekötve azonban könnyedén automatizálhatod webáruházad. Nézd meg, hogyan spórolhatsz meg rengeteg időt és költséget.…

Elolvasom
5 ok, amiért megéri összekötni a számlázót a könyvelő programmal
5 ok, amiért megéri összekötni a számlázót a könyvelő programmal

2017-06-08

A könyvelés elkészítése cégmérettől függetlenül temérdek időt és energiát felemészt. Akárcsak a számlázás. A naprakész vezetők azonban tudják, hogy az életük sokkal könnyebb, ha számlázó- és könyvelő programot is használnak. Pláne, ha ezt a kettőt össze is kötik, ami hatalmas előnyökkel jár. Nézd csak az 5 legfontosabbat.…

Elolvasom
A Billingo májusi fejlesztései
A Billingo májusi fejlesztései

2017-06-01

Májusban több olyan apró javítást is végeztünk, amelyeknek köszönhetően az egyes funkciók használata még egyszerűbb és gyorsabb lett. Eközben persze a fejlesztésekről sem feledkeztünk meg, az Opten adatbázis pedig egy új funkcióval bővült. Na, kitalálod mi az?…

Elolvasom
Bemutatkozik a Billingo Sandbox - teszteld a rendszert kockázatok nélkül
Bemutatkozik a Billingo Sandbox - teszteld a rendszert kockázatok nélkül

2017-05-25

Senki nem úgy születik, hogy kívülről ismeri a számlázóprogramok világát. A Billingóval azonban erre nincs is szükséged, hiszen a Sandbox, vagyis tesztüzemmódban kockázatok nélkül próbálhatod ki a régi funkciókat és az új fejlesztéseket egyaránt. Ha még soha nem használtál számlázóprogramot, a Billingóval akkor is percek alatt felfedezheted a kényelmes és gördülékeny számlázás világát. Nézd meg mennyire egyszerűen.…

Elolvasom
9+1 kreatív és vicces számla a nagyvilágból
9+1 kreatív és vicces számla a nagyvilágból

2017-05-18

A számlázóprogramok megjelenése óta a számlázás többé már nem egy unalmas és időrabló feladat. Sőt, mára sok vállalkozás úgy gondolja, hogy ideje feldobni a kiállított számlák arculatát, és ezzel együtt az ügyfél hangulatát is. Nézd meg ezt a 9+1 kreatív megoldást, ami után te is vidámabban számlázol majd.…

Elolvasom
Összes bejegyzés
Hírlevél

Szeretnél mindig naprakész lenni?

Ha tudni szeretnél a számlázással kapcsolatos legfrissebb hírekről és érdekelnek az akciók, add meg a neved és az email címed.

Billingo nav

A Billingo megfelel a legfrissebb magyar jogszabályoknak