Einführung
Auf dieser Seite findest du die aktuellste Dokumentationen zu allen HTTP-APIs, die das Studentenwerk OstNiedersachsen anbietet.
Rate-Limiting
Alle APIs sind in der Regel auf ein bestimmtes Anfragenvolumen pro Zeitraum limitiert. Der HTTP-Statuscode 429 Too Many Requests
signalisiert, dass deine Anwendung das Anfragenvolumen pro Zeitraum überschritten hat.
Der Retry-After
-Header gibt in diesem Fall an, wann
eine nächste Anfrage frühestens erfolgen darf.
Mensa API
Mit der Mensa API kannst du den aktuellen Speiseplan aller Mensen und Kafeterien des Studentenwerk OstNiedersachsens abrufen.
Liste aller Mensen
Beispiel:
curl "https://sls.api.stw-on.de/v1/location"
[
{
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [
{
"time": "noon", // 'morning', 'noon' oder 'evening' für jeweils Morgen-, Mittags- und Abendmensa
"start_day": 1, // 1 = Montag, 7 = Sonntag
"end_day": 5,
"start_time": "11:30:00",
"end_time": "14:00:00"
},
{
"time": "noon",
"start_day": 6,
"end_day": 6,
"start_time": "11:30:00",
"end_time": "14:00:00"
},
{
"time": "evening",
"start_day": 1,
"end_day": 4,
"start_time": "16:30:00",
"end_time": "19:45:00"
}
]
},
{
"id": 102,
"name": "Tageslager Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
// ...
]
HTTP
GET https://sls.api.stw-on.de/v1/location
Eine Mensa
Beispiel:
curl "https://sls.api.stw-on.de/v1/locations/101"
{
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [
{
"time": "noon", // 'morning', 'noon' oder 'evening' für jeweils Morgen-, Mittags- und Abendmensa
"start_day": 1, // 1 = Montag, 7 = Sonntag
"end_day": 5,
"start_time": "11:30:00",
"end_time": "14:00:00"
},
{
"time": "noon",
"start_day": 6,
"end_day": 6,
"start_time": "11:30:00",
"end_time": "14:00:00"
},
{
"time": "evening",
"start_day": 1,
"end_day": 4,
"start_time": "16:30:00",
"end_time": "19:45:00"
}
]
}
HTTP
GET https://sls.api.stw-on.de/v1/locations/<id>
URL Parameter
Parameter | Beschreibung |
---|---|
id |
Die ID der Mensa. Siehe Liste aller Mensen |
Tagesmenü
Beispiel:
curl "https://sls.api.stw-on.de/v1/locations/101/menu/2018-02-26?time=evening"
{
"announcements": [
{
"id": 775,
"start_date": "2018-01-22",
"end_date": "2018-03-10",
"text": "Beginn 2. Bauphase – Mensa 1 ab 22. Januar geschlossen",
"closed": true, // Gibt an, ob die Mensa in der Zeit geschlossen hat
"time": "all"
}
],
"meals": [
{
"id": 3028,
"date": "2018-02-26",
"name": "Kartoffeln",
"price": { // Preise in EUR
"student": "0.50",
"employee": "0.70",
"guest": "0.70"
},
"location": {
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
"time": "evening",
"lane": {
"id": 310,
"name": "Beilage"
},
"tags": {
"categories": [ // Allgemeine Kategorien
{
"id": "VEGA",
"name": "Vegan"
}
],
"allergens": [ // Enthaltene Allergene
],
"additives": [ // Enthaltene Zusatzstoffe
],
"special": [ // Sonderkennzeichnungen
]
}
},
{
"id": 3029,
"date": "2018-02-26",
"name": "Spaghetti",
"price": {
"student": "0.50",
"employee": "0.70",
"guest": "0.70"
},
"location": {
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
"time": "evening",
"lane": {
"id": 310,
"name": "Beilage"
},
"tags": {
"categories": [
{
"id": "VEGA",
"name": "Vegan"
}
],
"allergens": [
{
"id": "GL1",
"name": "GL namentlich Weizen"
}
],
"additives": [
],
"special": [ // Sonderkennzeichnungen
]
}
}
]
}
HTTP
GET https://sls.api.stw-on.de/v1/locations/<id>/menu/<isoDate>
URL Parameter
Parameter | Beschreibung |
---|---|
id |
Die ID der Mensa. Siehe Liste aller Mensen |
isoDate |
Datum nach ISO 8601 (z.B. 2020-06-18 ) |
Query Parameter
Parameter | Beschreibung | Standard |
---|---|---|
time (optional) |
Tageszeit (morning , noon , evening oder all |
all |
Mehrere Tagesmenüs
Beispiel:
curl "https://sls.api.stw-on.de/v1/locations/101/menu/2018-02-26/2018-02-28?time=evening"
{
"announcements": [
{
"id": 775,
"start_date": "2018-01-22",
"end_date": "2018-03-10",
"text": "Beginn 2. Bauphase – Mensa 1 ab 22. Januar geschlossen",
"closed": true, // Gibt an, ob die Mensa in der Zeit geschlossen hat
"time": "all"
}
],
"meals": [
{
"id": 3028,
"date": "2018-02-26",
"name": "Kartoffeln",
"price": { // Preise in EUR
"student": "0.50",
"employee": "0.70",
"guest": "0.70"
},
"location": {
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
"time": "evening",
"lane": {
"id": 310,
"name": "Beilage"
},
"tags": {
"categories": [ // Allgemeine Kategorien
{
"id": "VEGA",
"name": "Vegan"
}
],
"allergens": [ // Enthaltene Allergene
],
"additives": [ // Enthaltene Zusatzstoffe
],
"special": [ // Sonderkennzeichnungen
]
}
},
{
"id": 3029,
"date": "2018-02-27",
"name": "Spaghetti",
"price": {
"student": "0.50",
"employee": "0.70",
"guest": "0.70"
},
"location": {
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
"time": "evening",
"lane": {
"id": 310,
"name": "Beilage"
},
"tags": {
"categories": [
{
"id": "VEGA",
"name": "Vegan"
}
],
"allergens": [
{
"id": "GL1",
"name": "GL namentlich Weizen"
}
],
"additives": [
],
"special": [ // Sonderkennzeichnungen
]
}
}
]
}
HTTP
GET https://sls.api.stw-on.de/v1/locations/<id>/menu/<startIsoDate>/<endIsoDate>
URL Parameter
Parameter | Beschreibung |
---|---|
id |
Die ID der Mensa. Siehe Liste aller Mensen |
startIsoDate |
Startdatum (von) nach ISO 8601 (z.B. 2020-06-18 ) |
endIsoDate |
Enddatum (bis) nach ISO 8601 (z.B. 2020-06-18 ) |
Query Parameter
Parameter | Beschreibung | Standard |
---|---|---|
time (optional) |
Tageszeit (morning , noon , evening oder all |
all |
Alle Tagesmenüs
Beispiel:
curl "https://sls.api.stw-on.de/v1/meals"
{
"announcements": [
{
"id": 775,
"start_date": "2018-01-22",
"end_date": "2018-03-10",
"text": "Beginn 2. Bauphase – Mensa 1 ab 22. Januar geschlossen",
"closed": true, // Gibt an, ob die Mensa in der Zeit geschlossen hat
"time": "all"
}
],
"meals": [
{
"id": 3028,
"date": "2018-02-26",
"name": "Kartoffeln",
"price": { // Preise in EUR
"student": "0.50",
"employee": "0.70",
"guest": "0.70"
},
"location": {
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
"time": "evening",
"lane": {
"id": 310,
"name": "Beilage"
},
"tags": {
"categories": [ // Allgemeine Kategorien
{
"id": "VEGA",
"name": "Vegan"
}
],
"allergens": [ // Enthaltene Allergene
],
"additives": [ // Enthaltene Zusatzstoffe
],
"special": [ // Sonderkennzeichnungen
]
}
},
{
"id": 3029,
"date": "2018-02-27",
"name": "Spaghetti",
"price": {
"student": "0.50",
"employee": "0.70",
"guest": "0.70"
},
"location": {
"id": 101,
"name": "Mensa BS TU 1",
"address": {
"line1": "Mensa 1 TU Braunschweig",
"line2": null,
"street": "Katharinenstraße 1",
"zip": "38106",
"city": "Braunschweig"
},
"opening_hours": [...]
},
"time": "evening",
"lane": {
"id": 310,
"name": "Beilage"
},
"tags": {
"categories": [
{
"id": "VEGA",
"name": "Vegan"
}
],
"allergens": [
{
"id": "GL1",
"name": "GL namentlich Weizen"
}
],
"additives": [
],
"special": [ // Sonderkennzeichnungen
]
}
}
]
}
HTTP
GET https://sls.api.stw-on.de/v1/meals