Rest API

Med Rest API'et kan andre systemer kommunisere med Romis.

Autentisering

For å kalle API-endepunkter trengs det en tilgangsnøkkel (token) som opprettes på profilsiden til eieren (den som opprettet enheten). Gå til profilsiden for å lage en tilgangsnøkkel.

Token

For å prøve API'et kan man også gå til https://romis.no/api og logge på med brukernavn og passord. Det anbefales ikke å bruke brukernavn og passord til å kalle API'et fra andre systemer.

Endepunkter

Enheter

For å hente enheten(e) gjør man følgende kall:

GET /api/clients/

som returnerer

[
    {
        "url": "http://romis.no/api/clients/25/",
        "created": "2018-10-19T08:10:25+02:00",
        "name": "Overnatting AS",
        "bookings": "http://romis.no/api/clients/25/bookings/",
        "groupbookings": "http://romis.no/api/clients/25/groupbookings/",
        "customers": "http://romis.no/api/clients/25/customers/"
    }
]

Her er eksempel på kall med curl hvor token benyttes:

curl -X GET \
  https://romis.no/api/clients \
  -H 'Authorization: Token <tilgangsnøkkel>'

Bookinger

For å hente bookinger gjør man følgende kall:

GET /api/clients/25/bookings/

Som standard returnerer dette endepunktet bookinger fra i dag og 60 dager fremover. For å hente spesielle tidsrom benyttes parameterene start og end. Dersom kun start oppgis vil det hentes bookinger fra datoen som er satt og 60 dager fremover.

Eksempel på å hente bookinger for mars 2019:

GET /api/clients/25/bookings/?start=2019-03-01&end=2019-03-31

som returnerer

[
    {
        "url": "http://romis.no/api/clients/25/bookings/2181/",
        "created": "2019-03-22T19:44:45.835725+01:00",
        "client": "http://romis.no/api/clients/25/",
        "customer": "http://romis.no/api/clients/25/customers/234/",
        "persons": 2,
        "booked_from": "2019-03-29",
        "booked_to": "2019-03-30",
        "removed": false,
        "group": "http://romis.no/api/clients/25/groupbookings/218/",
        "room": {
            "url": "http://romis.no/api/clients/25/rooms/177/",
            "created": "2018-10-28T15:20:29.127000+01:00",
            "kind": "sleep",
            "roomnumber": "1",
            "building": null,
            "floor": null,
            "persons": 2,
            "description": "",
            "price": null,
            "disabled": false
        }
    }
]

removed betyr "gjenstene kommer ikke". Bookingen er ikke slettet, men gjestene har valgt å kansellere bookingen. Les mer om dette her