Seite wurde gespeichert

Mensa - Webservice

Letzte Aktualisierung: am 30.03.2017 um 16:45 Uhr von unbekannt

Aktivierung

Der Webservice muss zunächst aktiviert werden. Dies erfolgt auf der Mensa-Startseite.

aktivierung

Sicherheitscode

Optional kann ein Sicherheitscode hinterlegt werden. Dieser Code kann den Entwicklern der externen Applikation mitgeteilt werden und ermöglicht, dass zusätzliche Daten ausgegeben werden.
Wird dieser beim Webservice-Aufruf mitgegeben, werden z.B. zusätzliche Filter im JSON-String ausgegeben.

XML-Zugangscode

Der Zugangscode wird z.B. für die XML-Ausgabe für InDesign verwendet. Ohne den Zugangscode werden keine Menü-Pläne ausgegeben.

Aufruf im Frontend

Der Aufruf der Webservice-Schnittsteller erfolgt jeweils über eine bestimmte URL:

  • Direkter Link auf die Mensaverwaltung-Startseite (Seitentyp "Mensa")
  • ?method=getMensaData (Methode z.B. zur Ausgabe der Mensadaten)
  • ?mensaid=123 (ausgewählte Mensa-Location)
  • &date=2017-03-30 (gewünschter Ausgabezeitraum)

Verfügbare Methoden

Folgende Methoden stehen aktuell (lib/type/site/mensa/webservice.php) zur Verfügung:

getMensa
Ausgabe aller verfügbaren Mensa-Locations

  • method=getMensa

getMensaData
Daten einer Mensa ausgeben

  • method=getMensaData
  • mensaid (ID der Mensa-Location, z.B. "123")
  • date (gewünschtes Datum, z.B. "2017-03-12")
  • scode (optional, Sequritiy-Code für Filterausgabe)

rateMenu => Ein Menü für einen Tag bewerten
Erforderliche Paremter:

  • mensaid (ID der Mensa-Location, z.B. "123")
  • menuid (Bezeichnung des Menüs, z.B. "menu1")
  • date (Gewünschtes Datum, z.B. "2017-01-02")
  • rating (Bewertung, Zahl zwischen 1 und 5, z.B. "3")
  • scode (Sequiritycode)

Erweiterung

Die Webservice-Schnittstelle lässt sich kundenspezifische durch "site/MANDANT/Mensa_Webservice_Custom.php" erweitern. 

<?php

/**
* Class Mensa_Webservice_Custom
* Kundenspezifische Webservice Schnittstelle
*/
class Mensa_Webservice_Custom extends Mensa_Webservice
{
public function getMyData($get) {
....
$this->outout($result);
}
}
progress