Über dieses API (Applikation Programming Interface) können Programmierer dynamisch auf die Daten von DropTours zugreifen. Die unterschiedlichsten Widgets der DropNet AG nutzen diese Schnittstelle. Somit sind die meisten Widgets mit DropTours kompatibel. Diese Standardisierte Schnittstelle gibt auch externen Programmierern die Möglichkeit, Daten aus DropTours in Ihren Applikationen zu verwenden. Ziel ist ein Ökosystem um DropTours zu entwickeln. Damit das gut funktioniert gibt es aber einige Spielregeln.
Die bestimmt wichtigste Schnittstelle ist die Tourenliste. Da sie sowieso öffentlich ist, gibt es auch keine Einschränkungen. Die Daten können schon sehr gut gefiltert werden. Mit folgender GET-URL bekommt man die Tourenliste als Item-Objekte zurück. Wenn immer möglich ist es sinnvoll, den Parameter limit auf einem möglichst kleinen Wert zu setzen, damit die Liste schneller geliefert werden kann. Die Sektion wird in der URL statt droptouren angegeben (zum Beispiel ..net.ch/sac-basel/dropnetapps...).
https://ssl.dropnet.ch/droptouren/dropnetapps/tours/api.php?command=getTours
Die Tourenliste kann nach vielen Parametern gefiltert werden. Die folgenden Parameter können wie üblich mit & hinter die oben stehende URL angehängt werden (z.B. &category=BW). Alle Parameter sind optional. Lässt man das Startdatum leer, so werden die Touren ab Heute aufgelistet. So können sehr einfach zum Beispiel die nächsten 3 Touren als Slideshow dargestellt werden.
Parameter | Beschreibung |
---|---|
limit | Maximale Anzahl zurück gegebener Datensätze. Wird kein Wert übergeben, so werden höchsten 100 Datensätze geliefert. |
offset | Ab diesem Datensatz wird aufgelistet. |
date_start | Startdatum im Format ‘YYYY-MM-DD’. Ohne Startdatum wird ab Hreute geliefert. |
date_end | Enddatum im Format ‘YYYY-MM-DD’. |
category | Damit die Schnittstelle zu den restlichen Apps kompatibel bleibt, heisst der Tourtyp auch category. |
group | Gruppe der Tour |
search | Die Tourenliste wird nach diesem Suchbegriff gefiltert. |
eventtype | Event Typ (Anlasstyp). |
language | Sprache de, fr, it |
Die Antwort sind Item-Objekte als XML. Einige Attribute sind in jedem Item-Objekt vorhanden und weitere Attribute sind optional. DropTours liefert für die Tourenliste wesentlich mehr Attribute, als andere Item-Schnittstellen. Die hier aufgezeigte Antwort ist ein Beispiel, wird aber nie vollständig sein. Am besten testet man die Attribute in seiner Umgebung.
<?xml version="1.0" encoding="UTF-8"?>
<menu name="DropTours" type="item" number="3" error="wrong or empty date_end, default taken"><item id="1324" name="Schönwettertour neu" description="Diese Tour ist zum Testen der iCal Funktion" text="" equipment="" author="Peter Schmidt" date_start="2017-10-13" date_end="2017-10-15" date_move="0000-00-00" last_month="" group="Aktive|FaBe" category="FaBe" category_description="Familienbergsteigen" tourtype_icon="https://ssl.dropnet.ch/dropnetimages/touren/iphone/FaBe.gif" lodge="" register_type="7" register_formalities="" register_start_date="0000-00-00" register_end_date="0000-00-00" participants_max="2" participants_nr="2" release_status="3" tour_status="0" event_type="Tour" walk_time="test" total_time="" requirements_kond="D" requirements_techn="ES" map="" club_guide="" costs="5" costs_text="CHF Basis Halbtax" route="" trip="ÖV" addition="0" duration="0" execution="" meeting_place="" meeting_date="0000-00-00" meeting_time="00:00:00" last_change_user="DropNet AG" last_change_date="2017-08-18"><address id="pschmidt" type="tour_guide_1" prefix="Herr" fname="Peter" lname="Schmidt" c_o="" address="Gutenbergstrasse 1" zip="4142" city="Münchenstein" country="Schweiz" email="peter@dropnet.ch" phone="061 413 90 50" address_phone="061 413 90 50" mobile="" src="https://ssl.dropnet.ch/droptouren/photo/Personen/pschmidt.jpg" web="https://ssl.dropnet.ch/droptouren/dropbox/photo/Personen/mysize/pschmidt.jpg" thumb="https://ssl.dropnet.ch/droptouren/dropbox/photo/Personen/thumbnails/pschmidt.jpg" language="" description="Hier kann eine Beschreibung zur Person stehen." last_change_user="DropNet AG" last_change_date="2017-08-18"/><address id="1234" type="mountain_guide" prefix="" fname="Fabio" lname="Poloni" c_o="" address="" zip="" city="" country="" email="" phone="" address_phone="" mobile="" src="https://ssl.dropnet.ch/droptouren/photo/Personen/1234.jpg" web="https://ssl.dropnet.ch/droptouren/dropbox/photo/Personen/mysize/1234.jpg" thumb="https://ssl.dropnet.ch/droptouren/dropbox/photo/Personen/thumbnails/1234.jpg" language="" description="Hier kann eine Beschreibung zur Person stehen." last_change_user="DropNet AG" last_change_date="2017-08-18"/></item></menu>
Den Status einer Tour kann man aus dem Attribut “tour_status” lesen. Folgende Werte sind möglich:
0 | aktive |
1 | neues Datum |
2 | abgesagt |
3 | ausgebucht |
Das Feld Anmeldung heisst auf der Item-Schnittstelle register_type. Dieser Wert beinhaltet eine Zahl, welche binär die selektierten Checkboxen anzeigt. Hier ein Beispiel. Sind mehrere Felder ausgewählt, so werden die Zahlen einfach addiert.
Stamm | 8 |
Online | 4 |
Schriftlich | 2 |
Telefonisch | 1 |
Damit man weiss, welche Tourtypen es gibt, kann die Liste angefragt werden. Damit kann zum Beispiel ein HTML-SELECT aufgebaut werden. Bei dieser Abfrage gibt es keine zusätzlichen Parameter.
https://ssl.dropnet.ch/droptouren/dropnetapps/tours/api.php?command=getTourtypes
Jede Tour kann einer oder mehreren Gruppen zugewiesen werden. Die Liste aller Gruppen kann einfach ermittelt werden.
https://ssl.dropnet.ch/droptouren/dropnetapps/tours/api.php?command=getGroups
Die Touren können zusätzlich in Event-Typen (Anlasstypen) gegliedert werden. Die Liste aller Event-Typen bekommt man mit folgendem Aufruf.
https://ssl.dropnet.ch/droptouren/dropnetapps/tours/api.php?command=getEventtypes
Bei den Adressen ist die Schnittstelle genau so einfach aber hier können ohne Login nicht alle Daten ausgelesen werden. Vorerst sind nur die Tourenleiter, die auch auf der Homepage sichtbar sind, über die Item-Schnittstelle auslesbar.
https://ssl.dropnet.ch/droptouren/dropnetapps/tours/api.php?command=getAddresses&category=2&limit=10
Parameter | Beschreibung |
---|---|
category | Kategorie ID der Adresse. Muss im Moment 2 sein. |
limit | Max. Anzahl zurück gegebener Adressen |
search | Suchbegriff für Filter |
startcharacter | Anfangsbuchstabe des Nachnamen |
offset | Ab dieser Adresse anzeigen |