Till umu.se

Hitta på Campus - API-dokumentation

2011-10-11: Uppdaterad beskrivning av Hitta på campus API. Utdata har förenklats och all indata kräver att 'hl'-flaggan sätts.

Hitta på campus REST API låter vem som helst hitta platser, lokaler, hus, etc på Umeå universitets olika campus. Med ”hitta” menas att longitud och latitud presenteras. Följande informationstjänster presenteras av APIet.

Request Förklaring Exempel
/suggestions?hl=x&term=t Ger förslag på sökbara termer /suggestions?hl=sv&term=Cykel
/search?hl=x Sök efter namn eller del av namn /search?q=amigo&hl=sv&callback=methodname
/info/{id}?hl=x Information om objekt /info/3?hl=sv
/text/{id} Informationstext om objekt /text/67?callback=cb&hl=sv

  

Teknik

Detta API beskriver ett read only REST-baserat gränssnitt över HTTP, med stöd för enbart GET.

Tjänsterna search och text använder sig av tekniken JSONP med en query string callback. Tjänsterna kräver att callback-variabeln definieras.
Resultat från tjänsten kommer i form av JSON och/eller bilder.

Innehåll

Databasen innehåller information om hus, lokaler, caféer och platser på Umeå universitets olika campus. Minsta mängden information som finns tillgänglig är namn och longitud/latitud.

För närvarande är longitud och latitud på enskilda lokaler satta till byggnadens huvudentré. Tanken är att i framtiden korrigera longitud och latitud till lokalens faktiska värden.

Tjänster

Följande informationstjänster presenteras av APIet, som finns på http://hitta.db.umu.se/hitta/rest.

/suggestions

Get search term suggestions.

Http request input

Parameter Datatype Required Description
term String Yes Search query - part of string as searchterm
hl String Yes Language: "sv" or "en"
type String No Type of object
r String No Root/parent node

Http request output (it will be formatted as JSON)

Attribute Datatype Req Description
- Array Yes array of search terms matching your query

Example request

Example of response

  • [
        "Cykelpump KBC"
        "Cykelpump Kemihuset"
        "Cykelpump Lärarhuset"
        "Cykelpump SLU"
        "Cykelpump Teknikhuset"
        "Cykelpump Universum"
    ]

/search

Search among names for a term.

Http request input

Parameter Datatype Required Description
q String No Search query. If no query is given all data is displayed
hl String Yes Language: "sv" or "en"
location String No Location (long & lat)
callback String Yes Callback function

Http request output (it will be formatted as JSON)

Attribute Datatype Req Description
items Array Yes JSON top node array with multiple objects
objectType String Yes Type of object (store/entrance/building/...)
textUrlList:[{textUrl}] Array:[{String}] No List of urls, for accessing text strings associated with this id
name String Yes Name of the object
location:[{long,lat}] Array:[{String,String}] Yes Object coordinates (long, lat)
id Integer Yes Unique object id
icon:{url,height,width} Object:{String,Integer,Integer} No List of urls for accessing icons associated with this id

Example request

Example of response

  • callback({
    "items":[
        {
            "name":"Universitetsbiblioteket (UB)",
            "location":[
                "63.821681",
                "20.30605"
            ],
            "id":24,
            "icon":null,
            "objectType": 2,
            "floor": 2,
            "textUrl":"/hitta/rest/text/24"
        },
        {
            "name":"UB341",
            "location":[
                "63.82131",
                "20.30609"
            ],
            "id":273,
            "icon":null,
            "objectType": 1,
            "floor": 3,
            "textUrl":"/hitta/rest/text/273"
        },
        ...
    ]
    });

/info/{id}

Get info with {id}.

Http request input

Parameter Datatype Required Description
hl String Yes Language: "sv" or "en"

Http request output (it will be formatted as JSON)

Attribute Datatype Req Description
items Array Yes JSON top node array with multiple objects
objectType String Yes Type of object (store/entrance/building/...)
textUrlList:[{textUrl}] Array:[{String}] No List of urls, for accessing text strings associated with this id
name String Yes Name of the object
location:[{long,lat}] Array:[{String,String}] Yes Object coordinates (long, lat)
id Integer Yes Unique object id
icon:{url,height,width} Object:{String,Integer,Integer} No List of urls for accessing icons associated with this id
eventList:{start,stop,cost,organizer,description} Array:[{Datetime, Datetime, Integer, String, String}] No Events
urlList:[{url}] Array:[{String}] No List of urls, for accessing url strings associated with this id
childObjectList:[{url}] Array:[{String}] No A list of REST url:s, for accessing child objects

Example request

Example of response

  • callback({
    "items":[
        {
            "name":"Universitetsbiblioteket (UB)",
            "location":[
                "63.821681",
                "20.30605"
            ],
            "id":24,
            "icon":null,
            "objectType": 2,
            "floor": 2,
            "textUrl":"/hitta/rest/text/24"
        },
    });

/text/{id}

Get text with {id}.

Http request input

Parameter Datatype Required Description
hl String Yes Language: "sv" or "en"

Http request output (it will be formatted as JSON)

Attribute Datatype Req Description
textObject:[{id, text}] Array:[{Integer,String}] Yes A list of text objects.s

Example request

Example of response

  • cb({
    "textObject":[
        {
            "id":67,
            text: "{"Mer info" : {"url": "http://www.cgnordic.com/sv/Eurest-Sverige/Restauranger/Universum/Amigo/"}}"
        }
    ]});

Sidansvarig: Mattias Wallmark

Utskriftsversion