Tietokoneiden tilatiedot (computerstatus) -rajapinnalla voi hakea TAMKin vapaita ja käytössä olevia tietokoneita. Haku tehdään tietokoneiden sijainnin, kuten kampus, rakennus, kerros ja huonetila, perusteella. Lisäksi hakuehtona voi käyttää etukäteen määritettyjä kampusalueita, jotka koostuvat useammasta tilasta (esimerkiksi kirjasto). Kaikki haut voi rajata vapaisiin tai käytössä oleviin tietokoneisiin.

Rajapinnan osoite: https://opendata.tamk.fi/r1/computerstatus
Katso API-dokumentaatio Swagger UI:lla

Tietokoneen tiedot

Kenttä Tyyppi Kuvaus
computerName teksti Tietokoneen verkkonimi
status teksti Tietokoneen tila; ”free” tai ”inuse”
className teksti Tietokoneluokan tekninen koodi
numberOfMachines numero Tietokoneiden lukumäärä kyseisessä tietokoneluokassa
roomCode teksti Tietokoneluokan virallinen tilakoodi
campus teksti Kampus, jolla tietokone sijaitsee
campusArea teksti Mahdollinen etukäteen määritetty alue kampuksella, joka koostuu useammasta huoneesta

Tietokoneiden haku

Yksinkertaiset haut

Perushaku perustuu tietokoneen verkkonimeen, josta on pääteltävissä tietokoneen sijainti. Kaikki TAMKin opiskelijoiden käytössä olevat tietokoneet noudattavat seuraavaa kaavaa:

  • 1 merkki kampustiedolle
    • K = Kuntokatu, pääkampus
    • M = Mediapolis
  • 4-5 merkkiä sijainnille (tilakoodi)
  • 2 merkkiä juoksevalle numerolle
  • 2 merkkiä valinnaiselle tunnisteelle

Opettajan pöydällä olevan koneen juokseva numero on ’00’.

Esimerkit verkkonimistä
Tietokone nimeltä KA11301 sijaitsee Kuntokadun kampuksella, A-talon ensimmäisessä kerroksessa huoneessa A1-13, ja se on tietokone numero 01.
Tietokone nimeltä M2005214 sijaitsee Mediapoliksessa, toisessa kerroksessa huoneessa 20052, ja se on tietokone numero 14.

Tietokonehakua rajataan lisäämällä yksi tai useampi merkki tietokoneen verkkonimestä rajapinnan ’computers’-metodin jälkeen. Haku rajataan vapaisiin tietokoneisiin url-parametrilla ’status=free’ ja käytössä oleviin parametrilla ’status=inuse’.

Kaikki rajapinnan tuntemat huonetilat ja niiden tiedot (muun muassa mahdollinen kampusalue) saa listattua kutsumalla metodia https://opendata.tamk.fi/r1/computerstatus/rooms

Kampusalueiden tietokoneita voi hakea ’campusareas’-metodilla. Käytettävissä olevat kampusalueet näkee edellä mainituilla ’rooms’-metodilla.

Esimerkki: hae kaikki tietokoneet

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/computerstatus/computers/

Esimerkki: hae kaikki vapaat tietokoneet

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/computerstatus/computers/?status=free

Esimerkki: hae kaikki vapaat tietokoneet Kuntokadun A-talosta

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/computerstatus/computers/KA?status=free

Esimerkki: hae kaikki vapaat tietokoneet Kuntokadun B-talon 3. kerroksesta

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/computerstatus/computers/KB3?status=free

Esimerkki: hae kaikki vapaat tietokoneet Kuntokadun kirjastosta

curl -u "<API-avain>:" https://opendata.tamk.fi/r1/computerstatus/campusareas/Library?status=free

Monipuoliset haut

Rajapinnan ’search’-metodi mahdollistaa hakuehtojen yhdistämisen. Kysely lähetetään POST-metodilla ja hakuehto JSON-muodossa. Käytettävissä olevat hakukentät ovat:

Kenttä Tyyppi Kuvaus
roomcode lista Lista huoneiden tilakoodeista (esimerkki: [”A1-13″,”A2-16”])
campus lista Lista kampuksista (mahdolliset arvot: Kuntokatu, Mediapolis)
campusArea lista Lista etukäteen määritellyistä kampusalueista (mahdolliset arvot: Library, Kuntokatu4, Y-kampus)
status teksti Tietokoneen tila; ”free” tai ”inuse”
computername lista Lista tietokoneiden verkkonimiä

Haku on ”JA”-haku eri kenttien välillä. Lista-tyyppisten kenttien parametrit käyttävät ”TAI”-ehtoa saman listan sisällä olevien elementtien välillä.

Esimerkki: hae kaikki vapaat tietokoneet huoneista A1-13 ja A2-16

curl -u "<API-avain>:" -X POST -H application/json https://opendata.tamk.fi/r1/computerstatus/search -d '{"roomcode":["A1-13","A2-16"],"status":"free"}'

Esimerkki rajapinnan vastauksesta

{
  "computer" : [ {
    "computerName" : "KA21600",
    "status" : "free",
    "room" : {
      "className" : "ka216",
      "numberOfMachines" : 21,
      "roomCode" : "A2-16",
      "campus" : "Kuntokatu",
      "campusArea" : null
    }
  }, {
    "computerName" : "KA21606",
    "status" : "free",
    "room" : {
      "className" : "ka216",
      "numberOfMachines" : 21,
      "roomCode" : "A2-16",
      "campus" : "Kuntokatu",
      "campusArea" : null
    }
  } ]
}