DropTours Brücke

Die Item-Schnittstelle in DropTours

Ü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.

Touren lesen

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

GET-Parameter

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.

ParameterBeschreibung
limitMaximale Anzahl zurück gegebener Datensätze. Wird kein Wert übergeben, so werden höchsten 100 Datensätze geliefert.
offsetAb diesem Datensatz wird aufgelistet.
date_startStartdatum im Format ‘YYYY-MM-DD’. Ohne Startdatum wird ab Hreute geliefert.
date_endEnddatum im Format ‘YYYY-MM-DD’.
categoryDamit die Schnittstelle zu den restlichen Apps kompatibel bleibt, heisst der Tourtyp auch category.
groupGruppe der Tour
searchDie Tourenliste wird nach diesem Suchbegriff gefiltert.
eventtypeEvent Typ (Anlasstyp).
languageSprache de, fr, it

Item-Antwort

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:

0aktive
1neues Datum
2abgesagt
3ausgebucht

Tourtypen lesen

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

Gruppen lesen

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

Event-Typ lesen

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

Adressen lesen

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

GET-Parameter

ParameterBeschreibung
categoryKategorie ID der Adresse. Muss im Moment 2 sein.
limitMax. Anzahl zurück gegebener Adressen
searchSuchbegriff für Filter
startcharacterAnfangsbuchstabe des Nachnamen
offsetAb dieser Adresse anzeigen