Skip to content
borazslo edited this page Mar 7, 2024 · 18 revisions

Az aktuális API verzió az API v4. Az API v3 még támogatott, de kevesebb/pontatlanabb adatokat tartalmaz a misékről. A már nem támogatott API verziók mindenre a „2” szöveges értékkel tér vissza.

Az API-val jelenleg http-n keresztül lehet kommunikálni. Várhatóan még az API v4 életében megjelenik a lehetőség a https használatára. Az API v5 pedig kötelezővé teszi majd a https használatát (legalább a bejelentkezésnél?).

Kérünk minden API használót, hgy vegye fel velünk a kapcsolatot!

Adatbázis frissítettsége (v3+)

Egyet ad vissza, ha adott dátum óta nem volt változás a miserendek és templomok között. (A képek közötti változást nem vizsgálja.) Egyébként nullát.

Elérhető: http://miserend.hu/api/v3/updated/2015-01-16

Adatbázis

SQLite formátumban a templomok, misék és képek. Naponta frissül.

Elérhető: http://miserend.hu/fajlok/sqlite/miserend_v3.sqlite3
(Léteznek még többé-kevésbé működő más url-ek is.)

misék: „misek”

  • „mid” (integer not null): mise azonosító
  • „tid” (integer): a templom azonosítója (mint az url-ben)
  • „telnyar” (varchar(1)) (≤v3): t (téli miserend) / ny (nyári miserend)
  • „periodus” (varchar(4)) (v4+): a mise periódusa/ismétlődése, NULL ha mindig van, részletekért lásd: miserend-tulajdonságok
  • „idoszak” (varchar(255)) (v4+): az időszak megnevezése szöveggel kiírva, az azonos nevű időszakok egy kupacba tartoznak. pl.: téli miserend vagy ádventi időszak
  • „suly” (int) (v4+): az „időszak” súlya. Ha két időszak (részben) átfedi egymást, akkor a nehezebb súlyú időszak miséi érvényesek csak.
  • „datumtol” (int) (v4+): az „időszak” első napjának dátuma (H)HNN formátumban. (Rendszeresen frissítendő, mert a legközelebbi határt jelöli, ami évenként változhat.)
  • „datumig” (int) (v4+): az „időszak” utolsó napjának dátuma (H)HNN formátumban. (Rendszeresen frissítendő, mert a legközelebbi határt jelöli, ami évenként változhat.)
  • „nap” (integer): 1-7 (hétfő - vasárnap) vagy 0 (bármilyen nap). (A nulla értékre példa a karácsonyi szentmise. Ilyenkor nem számít a nap milyensége, csak a dátum: a „datumtol” és „datumig”, ami ekkor azonos.)
  • „ido” (time): pl.: 08:30:00
  • „nyelv” (varchar(3)): a nyelv rövidítése és periódusa, több érték esetén esetén vesszőkkel elválasztva. lásd még: miserend-tulajdonságok
  • „milyen” (varchar(10)): minden nem nyelvi tulajdonság és periódusa, több érték esetén esetén vesszőkkel elválasztva. (A lehetséges értékek teljes listája API verziónként eltér.) lásd még: miserend-tulajdonságok
  • „megjegyzés” (varchar(255)) (v3+): szöveges megjegyzés a misével kapcsolatban, pl. olyan tulajdonságok/periódusok, amik a „milyen” mezőben nem megadhatóak

templomok: „templomok”

  • „tid” (integer not null): a templom azonosítója (mint az url-ben)
  • „nev” (varchar(200)): a templom teljes és hivatalos neve
  • „ismertnev” (varchar(200)): alternatív, közhasználatú név
  • „gorog” (integer null) (v3+): 1/0/NULL 1, ha görögkatolikus misézőhely
  • „orszag” (varchar(30)): az ország neve kiírva (bár az eredeti adatbázis kódolva tárolja)
  • „megye” (varchar(80)): a megye egyszerű neve kiírva
  • „varos” (varchar(80)): a város neve kiírva. külföld esetén zároljelben másik nyelven pl. Kolozsvár (Cluja-Napoca)
  • „cim” (varchar(255)): a templom (és nem a plébánia) hivatalos posta címe (ország és város nélkül)
  • „geocim” (varchar(255)) (≤v4): a koordináták alapján visszafejtet lehetséges posta cím (leginkább akkor használjuk, ha a „cim” üres)
  • „megkozelites” (varchar(255)): a templom megközelíthetősége szövegesen leírva (gyakran üres)
  • „lng” (float): a koordináta hosszúsági foka pl. 24.9018
  • „lat” (float): a koordináta szélességi foka pl. 46.5643
  • „nyariido” (varchar(10)) (≤v3): a templomban a nyári idő kezdete az aktuális évben (!), ÉÉÉÉ-HH-NN
  • „teliido” (varchar(10)) (≤v3): a templomban a téli idő kezdete az aktuális évben (!), ÉÉÉÉ-HH-NN
  • „kep” (varchar(255)): a templomhoz elérhető első/fő kép teljes url-je, pl.: http://miserend.hu/kepek/templomok/3761/templom2.jpg

képek: „kep” (v2+)

  • „kid” (integer not null): a kép egyedi azonosítója
  • „tid” (integer): a templom azonosítója (mint az url-ben)
  • „kep” (varchar(255)): a kép teljes url-je

Listák / táblázatok

Az adatokat nem csak a teljes sqlite letöltésével lehet megkapni: a megfelelő url-re küldött JSON segítségével a számunkra érdekes oszlopokkal és minden sorral tér vissza az API.

Vigyázzat! Az egyes oszlopok / mezők neve, léte és tartalmának formátuma / értéktartománya előzetes figyelmeztetés nélkül változhat. Ezért ez a szolgáltatás rendszeresített / automatizált használata jelenleg nem ajánlott!

Elérhető: http://miserend.hu/api/v3/templomok

Küldés:

  • „columns” (kötelező): a megkapni kívánt oszlopok (részleteket lásd lejjebb)
  • „format” (opcionális; alapértelmezett: „json”): a visszatérés formátuma; lehet még „text”
  • „delimiter” (opcionális; alapértelmezett: „;”): „format:json” esetén az oszlopokat elválasztó jel

Oszlopok/mezők „templomok” esetén: id,nev,ismertnev,turistautak,orszag,megye,varos,cim,megkozelites,plebania,pleb_url,pleb_eml,egyhazmegye,espereskerulet,leiras,megjegyzes,miseaktiv,misemegj,bucsu,frissites,lat,lon,geochecked, name,alt_name,denomination,url,lon

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „templomok”: a visszakapott templomok listája a kívánt mezőkkel
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása

Közeli templomok és misék (v4+)

Adott koordinátákhoz legközelebbi templomok listáját adja vissza az adott napi misékkel együtt.

Elérhető: http://miserend.hu/api/v4/nearby

Küldés:

JSON formában kell átküldeni a következőket:

  • „lat” (float, kötelező): a szélességi fok, -90 < x < 90
  • „lon” (float, kötelező): a hosszúsági fok, -180 < c < 90

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „templomok”: A közeli templomok listája
    • „id”
    • „nev”
    • „ismertnev”
    • „varos”
    • „lat”
    • „lon”
    • „tavolsag” (integer): távolság méterben
    • „misek”: az adott napi szentmisék listája
      • „idopont” (YYYY-MM-NN HH:ii:ss): a szentmise időpontja
      • „informacio” (string, opcionális): megjegyzés, nyelv, stílus, satöbbi.

Új felhasználó regisztrálása (v4+)

Az API-n keresztül lehetséges új miserend felhasználó regisztrálása is. A megfelelő url-re JSON formátumban küldött adatok esetén JSON választ ad a rendszer.

Elérhető: http://miserend.hu/api/v4/signup

Küldés:

  • „username”: a felhasználó regisztrált neve. (Maximum 20 karakter. Ékezetek és speciális karakterek nélkül.)
  • „email”: a felhasználó email címe. (A regisztrációról értesítést kap.)
  • „password”: a jelszó egyszerű szövegként. (Jelenleg nincsen összetettségi követelmény.)
  • „nickname” (opcionális): Becenév vagy megszólítás.
  • „name” (opcionális): Teljes név.

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása. Ez olyan fontos üzeneteket tartalmazhat, mint hogy már foglalt a felhasználónév.

Felhasználó azonosítás (v4+)

Bizonyos API funkciókhoz szükséges (pl. kedvencek szinkronizálása) vagy lehetséges (pl. visszajelzés) a felhasználó azonosítása. A megfelelő url-re JSON formátumban küldött név-jelszó páros érvényessége esetén egy token-t küld vissza a rendszer JSON formátumban.

Elérhető: http://miserend.hu/api/v4/login

Küldés:

  • „username”: a felhasználó regisztrált neve (e-mail címmel nem működik)
  • „password”: a jelszó egyszerű szövegként (egyszer talán lesz https)

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „token” (varchar(32)): Az azonosításhoz szükséges token. Érvényességi ideje a config.php-ban van beállítva.
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása

Felhasználó adatainak lekérdezése (v4+)

A megfelelő url-re JSON formátumban küldött token érvényessége esetén a rendszer JSON formátumban visszaküldi a felhasználó adatait.

Elérhető: http://miserend.hu/api/v4/user

Küldés:

  • „token”: egy érvényes token

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „username”: A felhasználó felhasználó neve. (Soha nem üres.)
  • „nickname”: Becenév vagy megszólítás. (Lehetséges, hogy üres.)
  • „name”: Teljes név. (Lehetséges, hogy üres.)
  • „email”: A felhasználó email címe. (Elvileg nem lehet üres.)
  • „favorites”: A felhasználó kedvenc templomainak azonosítóinak listája/tömbje.
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása.

Felhasználó kedvenc templomai (v4+)

A felhasználó kedven templomait le lehet kérdezni, valamint hozzá lehet adni vagy el lehet belőle venni a megfelelő url-re JSON formátumban küldött token érvényessége esetén. A rendszer JSON formátumban válaszol a kedvenc templomok megújult listájával. Először a hozzáadást hajtja végre, majd a törlést. Nem tér vissza hibajelzéssel, ha az adott templomazonosító már szerepel a kedvencek között. És akkor sem, ha olyan törlésére kerül sor, ami nem is szerepelt a kedvencek között.

Elérhető: http://miserend.hu/api/v4/user/favorites

Küldés:

  • „token”: egy érvényes token
  • „add” (opcionális): A kedvencekhez hozzáadni kívánt templomok azonosítójának listája/tömbje.
  • „remove” (opcionális): A kedvencekből törölni kívánt templomok azonosítójának listája/tömbje.

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „favorites”: A felhasználó kedvenc templomainak azonosítóinak frissült listája/tömbje.
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása.

Visszajelzés / jelentés

Fontos, hogy a felhasználók tudják jelezni, ha valami hibát találnak a miserendben vagy a templom adataiban. JSON formátumba kell küldeni az adatokat és JSON formátumban válaszol az API.

Elérhető: http://miserend.hu/api/v3/report
(Léteznek még más, többé-kevésbé működő url-ek is. pl.: itt vagy itt )

Küldés:

  • „tid”: a templom azonosítója (mint az url-ben)
  • „text” (opcionális; „pid:2” esetén kötelező): szöveges üzenet
  • „timestamp” (opcionális): a beküldés időpontja (hiánya esetén aktuális pillanat)
  • „email” (opcionális): a beküldő email címe, hogy tudjunk neki válaszolni
  • „token” (opcionális) (v4+): bejelentkezett felhasználó esetén hasznos. Felülírja a „email” értéket.
  • „pid”: visszajelzés típus:
    • 0: rossz pozíció
    • 1: hibás mise adatok
    • 2: egyéb / ill. előbbiek részletezve
  • „dbdate” (≤v3: opcionális, v4+: kötelező): a használt adatbázis letöltöttségének ideje, timestamp vagy ÉÉÉÉ-HH-NN ÓÓ:PP:MM vagy ÉÉÉÉ-HH-NN.

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása

Fénykép feltöltése templomokhoz (v4+)

Lehetséges fénykép beküldése bármelyik templomhoz. A beküldött képek jelenleg azonnal megjelennek a honlapon. Ez változhat majd, hogy nem regisztrált felhasználóknak csak jóváhagyás után jelenik meg a fényképük. JSON formátumba kell küldeni az adatokat és JSON formátumban válaszol az API.

Fontos felhívni a beküldő figyelmét, hogy a fénykép feltöltésével a) a fotó jogos tulajdonosának jelenti ki magát b) a kép felhasználói jogait teljesen (de nem kizárólagosan) átadja a miserend.hu-nak (és a hozzá tartozó alkalmazásoknak).

Elérhető: http://miserend.hu/api/v4/upload

Küldés:

  • „tid”: a templom azonosítója (mint az url-ben)
  • „photo”: a fénykép fájl streamje base64 kódolású stringben a megfelelő data:image/jpeg;base64, előtaggal. PHP-ban ez így állítható elő:
$photo = 'data:'.$_FILES['fileToUpload']['type'].';base64,'.base64_encode(file_get_contents($_FILES['fileToUpload']['tmp_name']));

A kép formátuma lehet image/jpg, image/jpeg, image/gif, image/png. Van felső méret korlát is.

Válasz:

  • „error”: 0, ha nincs hiba. 1, ha van valami hiba.
  • „text” (opcionális): „error:1” esetén a hiba szöveges leírása

Fejlesztés

Az API v5 fejlesztéséhez ötletek issues:56