Jamixin rajapinnan tutkimista
Tutkitaan yhdessä miten Jamixin API toimii
Mikä ihmeen Jamix?
Jamix on ravintola-alan ohjelmista jota esim. monet koulut käyttävät ruokalistojen hallintaan. Itse olen käyttänyt Jamixia koulussa jo muutaman vuoden ajan ja olen tykännyt siitä paljon.
Tein Jamixin API:n pohjalta myös erään koulu tehtävän jota hetki sitten päätin huvin vuoksi päivittää.
Miksi se sitten kiinnostaa?
Jamixin API:lla ei ole ollenkaan virallista dokumentaatiota (tai en ainakaan löytänyt sellaista) joten päätin tutkia miten se toimii. Ensimmäisen wrapper versioni jälkeen @developerfromjokela kirjoitti gistiin lyhyen kuvauksen API:sta joka auttoi monia ihmisiä, kiitokset hänelle!
Tässä linkki kyseiseen gistiin
Tutkimus
Tutkimus perustuu osin omiin havaintoihini ja osin yllä mainittuun gistiin.
Perusasiat
API ei vaadi autentikointia, joka on meidän kannalta hyvä. Tämän ansiosta voimme tehdä vaikka minkälaisia projekteja ilman, että meidän tarvitsee huolehtia autentikoinnista.
API palauttaa datan JSON muodossa, joka on helppo käsitellä monilla eri ohjelmointikielillä.
Oleelliset ja tiedetyt päätepisteet
API:lla on useita päätepisteitä, joista tärkeimmät ovat:
https://fi.jamix.cloud/apps/menuservice/rest/haku/public- Palauttaa listan ravintoloista JSON muodossa.http://fi.jamix.cloud/apps/menuservice/rest/haku/menu/<customerID>/<kitchenID>?lang=fi- Palauttaa tietyn ravintolan ruokalistan JSON muodossa.<customerID>ja<kitchenID>tulee korvata oikeilla arvoilla. Esimerkkinä 96786 (Gradia) ja 10 (pääkeittiö) siinä järjestyksessä.
Developerfromjokelan gist mainitsee myös tämän:
1
2
3
4
5
GET Params:
lang, language (fi, or en). Default = en.
type, json or table. Default = json.
date, start date in format yyyymmdd. Default = 0 (disabled).
date2, ending date in format yyyymmdd. Default = 0 (disabled).
Näistä date ja date2 ovat minulle jo tuttuja oman projektini kautta, sillä ne määrittävät haettavan ajanjakson ruokalistoille. Voit siis esim hakea vaikka koko viikon ruokalistan kerralla.
Ilmeisesti voit myös määrittää type arvoksi table jolloin saat datan taulukkona, en ole kuitenkaan kokeillut tätä itse. Samoin lang arvolla voit ilmeisesti määrittää haluatko datan suomeksi vai englanniksi (en ole testannut).
Yhteenveto
Jamixin API on melko suoraviivainen ja helppo käyttää, vaikka virallista dokumentaatiota ei olekaan. Tämä tekee siitä erinomaisen työkalun esim. koulu- tai harrastusprojekteihin niinkuin itse tein.
Toivottavasti tästä on hyötyä jollekkin muullekin. Kiitti ja kuitti.
Lähteet
- Oma kokemus Jamixin käytöstä koulussa.
- Developerfromjokelan gist Jamix API:sta