Dieses Dokument beschreibt die Nutzung der REST-Schnittstelle der MD-Content-API.
Requests an die MD Content API können folgende HTTP-Methoden verwenden:
| Methode | Operation | Eigenschaften | Security |
|---|---|---|---|
| GET | Lesen von Daten (ausschließlich) | Safe, Idempotent, Cacheable | Licence key |
| PUT | Aktualisieren von Daten (Update) | Idempotent | Licence key, Authenticated Owner |
| DELETE | Löschen von Daten | Idempotent | Licence key, Authenticated Owner |
| POST | Anlegen neuer Daten | Licence key, Authenticated Owner | |
| HEAD | Serverstatusabfragen | Safe, Idempotent | Licence key |
Die unten beschrieben User Stories zeigen den aktuellen Stand der Entwicklung.
Der Zugriff auf die Daten erfolgt nur bei Angabe eines Lizenzschlüsssels, welcher im HTTP-Request als Header mitgegeben werden muss. Wird der Lizenzschlüssel nicht mitgegeben, wird der Request mit einem Fehler (HTTP Status Code:400) quittiert.
Der Lizenzschlüssel muss als HTTP-Header mitgegeben werden.
| Header Key | Header Value | Anmerkungen |
|---|---|---|
| licensekey | Lizenzschlüssel, alphanumerischer Wert | Der Lizenzkey, der einem Lizenznehmer mitgeteilt wurde. |
| Authorization | Single Sign-On Parameter, codierte Werte | Der Header enthält die Parameter für das Single Sign-On mit den OAuthServer und dient der Authentifizierung eines Users. |
Allgemeine POI Suche:
http://api.mairdumont.com/data/poi/projection/all/?parameter=value
http://api.mairdumont.com/data/poi/projection/poi/poiId/?parameter=value
http://api.mairdumont.com/data/poi/projection/user/userid/?parameter=value
http://api.mairdumont.com/data/poi/projection/user/userId/poilist/poilistId?parameter=value
http://api.mairdumont.com/data/poi/api/destination/all/?parameter=value
http://api.mairdumont.com/data/poi/api/destination/destinationId/?parameter=value
| Projection | Beschreibung | Anmerkung zur Aktualisierbarkeit und Verfügbarkeit |
|---|---|---|
| api | Enthält alle relevanten poi Erweiterungsdaten. Alle Eigenschaften enthalten plain text, kein HTML | Lesen/Schreiben möglich, wenn der User Eigentümer des Contents ist. |
| base | Liefert Basisinformationen zu einem POI ohne Erweiterungen, nützlich für RSS-Feeds, da hier Beschreibungstexte auch HTML enthalten können. | Nur read-only |
| geo | Die Projektion "geo" enthält nur die ID, den allgemeinen Titel und die Koordinaten der POIs. Die Projektion wird nur im JSON-Format unterstützt, und kann nur bei der allgemeinen und User-bezogenen POI-Suche verwendet werden. Die Projektion unterstützt kein Blättern in der Ergebnismenge. Die Ergebnisse werden direkt aus dem Suchindex ermittelt, was die Suche auch bei größeren Ergebnismengen noch ausreichend schnell ein Ergebnis liefern lässt. Sie ist primär als Datenquelle für die Einblendung von Kategorien in einem Kartenausschnitt gedacht. | Nur read-only, nur für Suchanfragen (all, user, featured) |
| feed | Die Feed-Projektion erlaubt es externen Seiten, einen Feed von der Falk POI API einzubinden, ohne dass für diese Seiten ein eigener Lizenzschlüssel angelegt werden muss. Wird bei dieser Projektion kein Lizenzschlüssel mitgegeben, so wird der Feed-Customer verwendet. Bei der Feed-Projektion werden die Beschreibungstexte auf 80 Zeichen abgeschnitten. Zudem ist die maximale Anzahl der abzufragenden POIs auf 100 beschränkt. | Nur read-only, nur für Suche und Einzel-POIs (all, user, poi, external) |
| info | Die Info-Projektion bietet Lese-Zugriff auf eine spezielle Gruppe von POIs, welche nur in einem Suchindex gespeichert werden, und nicht in der Datenbank. Die POIs der Info-Projektion sind auf schnelle Updates ausgerichtet, z.B. Staumeldungen. Die POIs der Info-Projektion verwenden eine eigene Kategorieliste, welche separat abgefragt werden kann. Bei der Info-Projektion ist es erforderlich, die gewünschten Kategorien über den "cat"-Parameter anzugeben. Ohne "cat"-Parameter werden keine POIs gefunden. | Nur read-only, nur für Suche und Einzel-POIs (all, poi), "cat"-Parameter erforderlich |
| editor | Die Editor-Projektion lieft für den Editor zusätzlich relevante Daten, die zur redaktionellen Pflege der Daten wichtig sind, und in der Standard-Projektion nicht sichtbar sind. | Wird zur Zeit nur für die Schnittstelle .../destination/ |
| Parameter | Bedeutung | Bemerkungen |
|---|---|---|
| lang | Angabe der Sprache |
Definiert eine Sprache, in der die Daten ausgegeben werden sollen. Mögliche Werte: |
| filter | Spezifischer Filter |
Siehe Abschnitt Filterwerte für zulässige Werte, wird kein Wert angegeben, wird der filter=poi verwendet |
| facet | Zusätzlich Facetten abfragen | Führt neben der eigentlichen Suche auch noch eine Facettensuche durch. Diese muss dann nicht mehr separat durchgeführt werden. Die drei separaten Anfragen mit "filter=poi", "filter=category" und "filter=attribution" können somit auf die eine Anfrage mit "filter=poi&facet=category,attribution" reduziert werden. Mehrere Facetten können durch Komma getrennt angegeben werden. Zu jeder Facette kann zudem noch die maximale Anzahl der Einträge sowie die alphabetische Sortierung ausgewählt werden, z.B. "facet=category-50,attribution-100-alpha". Der Parameter wird nur bei Anfragen unterstützt, die "filter=poi" oder "filter=travelpoi" verwenden. |
| channel | Geschützte Inhalte abfragen | Gibt die IDs der Channel an, deren geschützte Inhalte ausgeliefert werden sollen. Es können mehrere Channels abgefragt werden, indem die IDs durch Kommas von einander getrennt werden, z.B. channel=0,1,2. Um einen Channel anfragen zu können, muss dieser für den Customer freigeschaltet sein. Wird der Parameter nicht angegeben, so werden nur ungeschützte Inhalte ausgeliefert, d.h. nur Inhalte, die keinem Channel zugeordnet sind. Geschützte und nicht geschützte Inhalte können kombiniert werden, indem die spezielle Channel-ID 0 den gewünschten Channel-IDs hinzugefügt wird. So liefert die Anfrage channel=1 nur die geschützten Inhalte des Channels 1 aus, während channel=0,1 zusätzlich die nicht geschützten Inhalte ausliefert. |
| loc | Suche nach Postleitzahlen, Ortsangaben oder Bundesländern | Sucht nach Daten im genannten Ort, Ortsteil oder Bundesland, z.B. Berlin, Degerloch, Niedersachsen oder Schwarzwald, sowie in Postleitzahlen. Postleitzahlen und Ortssuche sind durch ein Komma zu trennen, z.B. loc=70599,Stuttgart. Soll nur nach Postleitzahl gesucht werden, so ist ebenfalls ein Komma anzufügen, z.B. loc=70599,. Die Suche nach Orten funktioniert mit oder ohne vorangestelltes Komma, z.B. loc=Stuttgart oder loc=,Stuttgart. Mehrteilige Postleitzahlen, z.B. "L24 1YD" können über ihren vorderen Teil gesucht werden, z.B. loc=L24,, oder über vollständige Postleitzahl, wobei bei der Suche die Leerzeichen dem Postleitzahlenformat entsprechen muss, z.B. loc=L24+1YD,Liverpool (URL-Encoded). Werden bei der Suche sowohl Postleitzahl als auch Ortsname angegeben, so müssen beide Werte auf einem POI gefunden werden, damit dieser getroffen wird. |
| search | Parameter für eine Volltextsuche | Sucht im Titel, Beschreibungstext und Tags nach dem angegebenen Suchbegriff, allgemeine oder User basierte Suche |
| tag | Suche nach Tags | Sucht POI in einer allgemeinen, User oder POI-Listen basierten Suche nach den angegebenen Tags. Es können mehrere Wörter angegeben werden, welche durch Leerzeichen voneinander getrennt werden. Durch voranstellen eines Plus Zeichens kann angegeben werden, dass alle angegebenen Wörter von den Tags einem POI getroffen werden müssen. Ohne Plus Zeichen wird ein POI getroffen, wenn mindestens eins der angegebenen Wörter in den Tags gefunden wird. |
| country | Parameter für Suche nach POI in einem Land | Sucht nach Daten im angegebenen Land, bspw. DE für Deutschland, es werden ISO-2-Letter Codes verwendet, allgemeine oder User basierte Suche |
| bbox | BoundingBox Suche mit Geokoordinaten |
Sucht nach POI innerhalb der spezifizierten BoundingBox. Die Koordinaten müssen in der Reihenfolge Nord, Westen, Süden, Osten angegeben werden, Koordinaten in WGS-84, Bsp.: "bbox=N,W,S,E". Es kann ein vierter Wert für die LocationHint-Suche angegeben werden. Damit können Premium-POIs über ihren LocationHint gefunden werden, auch wenn sie außerhalb des Bounding box liegen, z.B. "bbox=N,W,S,E,Berlin". |
| circle | Umkreissuche |
Sucht nach POIs im Umkreis um einen spezifizierten Suchmittelpunkt. Der Suchmittelpunkt wird über Breiten- und Längengrad im WGS84 Format angegeben. Zudem wird der Suchradius in Metern angegeben, z.B. "circle=52.52223,13.41637,25000". Die Werte werden durch Kommas getrennt. Es kann ein vierter Wert für die LocationHint-Suche angegeben werden. Damit können Premium-POIs über ihren LocationHint gefunden werden, auch wenn sie außerhalb des Suchradius liegen, z.B. "circle=52.5,13.3,10000,Berlin". |
| access | Legt den Sichtbarkeitlevel fest | Siehe Visibility für gültige Werte |
| itemsperpage | Anzahl der POI pro Seite | Default: 10 |
| startindex | Blättern der Ausgabe | Der Parameter startindex bestimmt, ab welchem POI die Ausgabe begonnen werden soll. Dies wird als Blättern bezeichnet. Der Vorgabewert ist 0, d.h. die Ausgabe wird mit dem ersten POI begonnen. Zum Blättern sollte der startindex jeweils um den Wert von itemsperpage erhöht werden. Gibt es insgesamt 70 POIs, so werden diese bei itemsperpage=10 auf 7 Seiten (mit jeweils 10 POIs pro Seite) ausgegeben. Beim Blättern erhält startindex nacheinander die Werte 0, 10, 20, 30, 40, 50 und 60. Bei itemsperpage=15 wären die Werte für startindex demnach 0, 15, 30, 45 und 60. |
| sort | Sortierung der Ausgabe |
Dieser optionale Parameter bestimmt die Sortierung der POIs. Üblicherweise wird die Ergebnisliste nach Relevanz sortiert. Nicht alle Aufrufe unterstützen diesen Parameter, oder alle möglichen Werte für diesen Parameter. Auch kann der Vorgabewert je nach Aufruf unterschiedlich sein. So sind z.B. bei der Suche nach Featured POIs die Ergebnisse zufällig angeordnet. Siehe Sort Werte für die gültigen Werte. |
| sortdir | Sortierungsrichtung | Dieser optionale Parameter bestimmt die Sortierungsrichtung der POIs. Nicht alle Sortierungen unterstützen diesen Parameter (siehe Sort Werte). Die möglichen Werte sind "ASC" für aufsteigend und "DESC" für absteigend. Der Vorgabewert ist "ASC". |
| sortuser | Sortierung bezieht sich auf Daten dieses Users | Dieser optionale Parameter schränkt die Sortierung auf Daten des angegebenen Users ein. Ein POI kann Beiträge verschiedener User haben, dabei kann sich z.B. der angegebene Titel des POIs unterscheiden. Eine Einschränkung auf die Daten eines Users erlaubt hier eine exakte und nachvollziehbare Sortierung. |
| cat | Suche nach Kategorien |
Schränkt eine Suche auf POIs der angegebenen Kategorien ein. Kategorien werden über ihre ID angegeben. Es können mehrere IDs durch Komma getrennt angegeben werden. (siehe auch Liste der Kategorien und Alle Kategorien ermitteln) |
| attr | Suche nach Attributen |
Schränkt eine Suche auf POIs mit dem angegeben Attribut ein. Die Suchanfrage besteht aus zwei Teilen, dem Namen des Attributs und dem gesuchten Wert. Die Teile werden durch einen Doppelpunkt voneinander getrennt. Der gesuchte Wert kann mehrere Wörter enthalten, die durch Leerzeichen voneinander zu trennen sind (URL-Encoding von Leerzeichen beachten), z.B. "attr=details:airConditioning+internetAccessPoi_api_granulierung.jpg". Die Suche ist exakt, eine ungenaue Suche (Fuzzy) findet nicht statt. Der Suchparameter "attr" kann mehrfach angegeben werden. Alle angegebenen Wörter müssen bei einem POI gefunden werden, damit der POI zurückgegeben wird (UND-Verknüpfung). |
| poicommendation | Suche nach Auszeichnungen | Schränkt eine Suche auf POIs mit der angegebenen Auszeichnung ein. Es können mehrere Auszeichnungen durch Komma getrennt angegeben werden. Ein POI wird angezeigt, sobald er eine der angegebenen Auszeichnungen hat. Mögliche Auszeichnungen sind TOP_HIGHLIGHT, HIGHLIGHT, INSIDER_TIP und MP_POI. |
| mpbookcode | Suche nach Buchzuordnung | Schränkt eine Suche auf POIs mit dem angegebenen Buchcode ein. Es können mehrere Buchcodes durch Komma getrennt angegeben werden. Ein POI wird angezeigt, sobald er eine der angegebenen Buchcodes hat. "HAM" ist ein Beispiel für einen Buchcode. |
| pChar | Werte mit einem bestimmten Anfangsbuchstaben | Schränkt eine nach category, tag, user, loc, country gefilterte Suche auf die Werte ein, die dem im Parameter gegebenen Anfangsbuchstaben entsprechen. pChar kommt von prefix character. |
| thumbsize | Größe der Thumbnails |
Siehe Abfragen der Thumbnails für die gültigen Werte. |
| imgcount | Anzahl der angezeigte Bilder pro Contribution | Der komplette Thumbnails-URL soll pro Contribution zum passenden Autor zurückgeliefert werden, als Default wird immer ein Bild mit Thumbnail size 72u ausgeliefert werden, falls es vorhanden ist. |
| closed | Suche nach geschlossenen POIs. | Bei closed=true werden nur geschlossene POIs bei der Suche berücksichtigt. Bei closed=false (Vorgabewert) werden nur geöffnete POIs berücksichtigt, sowie POIs, bei denen der User eine Contribution hinzugefügt hat. |
| tracktype | Art der Fortbewegung bei Touren |
Bei der Tourensuche werden nur Touren mit dem angegeben Fortbewegungstyp berücksichtigt. Es können mehrere Typen angegeben werden, sie werden durch Kommas voneinander getrennt. Siehe Fortbewegungsarten bei Touren für die gültigen Werte. |
| transportation | Art der Transportmittel bei Touren |
Bei der Tourensuche werden nur Touren mit dem angegebenen Transportmittel berücksichtigt. Es können mehere Transportmittel angegeben werden, sie werden durch Kommas voneinander getrennt. Siehe Transportmittel bei Touren für die gültigen Werte. |
| geocode | Suche nach Destinationen | Der Parameter geocode kann nur auf dem Destination-Pfad verwendet werden und sucht nach Destinationen die einen bestimmten Geocode beinhalten. Die Ergebnismenge bekommt man entwerder in Form einer Destinationen-Liste oder in Form von Destinations-Breadcrumbs. |
| updatedsince | Suche nach aktuellen Contributions | Über diesen Parameter lässt sich die Ergebnismenge auf POIs einschränken, deren Contribution zuletzt nach dem angegebenen Datum aktualisiert wurden. Das Datum wird im Format JJJJ-MM-DD angegeben, z.B. 2014-05-14. Der Parameter ist primär für den Einsatz bei einer User-bezogenen Suche gedacht. Zudem sollte er mit einer Sprache kombiniert werden. Er kann mit dem Parameter "lastupdatedbefore" kombiniert werden, um POIs abzufragen, deren Contributions zuletzt in dem angefragten Zeitraum aktualisiert wurden. |
| lastupdatedbefore | Suche nach veralteten Contributions | Über diesen Parameter lässt sich die Ergebnismenge auf POIs einschränken, deren Contribution zuletzt vor dem angegebenen Datum aktualisiert wurden. Das Datum wird im Format JJJJ-MM-DD angegeben, z.B. 2014-05-14. Der Parameter ist primär für den Einsatz bei einer User-bezogenen Suche gedacht. Zudem sollte er mit einer Sprache kombiniert werden. Er kann mit dem Parameter "updatedsince" kombiniert werden, um POIs abzufragen, deren Contributions zuletzt in dem angefragten Zeitraum aktualisiert wurden. |
| Sort | Beschreibung | Verwendbarkeit |
|---|---|---|
| frel | Sortiert alle Featured POIs nach oben, und sortiert danach nach Relevanz. Dies ist die Voreinstellung bei der allgemeinen Suche bei Kunden mit Featured POIs, sobald Suchparameter angegeben werden. | Nur verwendbar, wenn Featured POIs für den Kunden aktiviert wurden, Suchparameter angegeben wurden und es sich nicht um die Suche nach Featured POIs handelt. |
| brel | Sortiert alle POIs nach oben die Contributions haben, die den verknüpften Marken zugeordnet sind, und sortiert danach nach Relevanz. | Immer verwendbar. |
| crel | Markenspezifische Sortierung der POIs nach Referenzen auf sichtbare Bände und Markenzugehörigkeit. Für die Marke "Marco Polo" werden zuerst die POIs mit Referenzen sortiert (Top-Highlights zuerst, gefolgt von Highlights, Top-Insider, Insider und im-Band-enthalten). Danach folgen alle POIs der Marke, die nicht in sichtbaren Bänden referenziert werden. Erst dann folgen alle anderen POIs. | Bei POIs und Customer "Marco Polo" verwendbar. |
| poicom | Sortiert alle POIs nach Empfehlungen ("POI COMmendations", z.B. "Highlight") und Qualität der FED-Beschreibungstexte (redaktioneller Text, generierter Text, kein Text). | Bei POIs immer verwendbar. |
| rel | Sortiert nach Relevanz. Dies ist die Voreinstellung für die allgemeine Suche, sobald Suchparameter angegeben werden und es sich nicht um eine Umkreissuche handelt. Ausnahme ist die allgemeine Suche bei Kunden mit Featured POIs, dort ist "frel" die Voreinstellung. | Nur verwendbar, wenn Suchparameter angegeben wurden. |
| random | Beliebige Reihenfolge der POIs. Dies ist die Voreinstellung für die Suche nach Featured POIs. | Immer verwendbar. |
| fdist | Sortiert all Featured POIs nach oben, und sortiert danach nach Distanz zum Suchmittelpunkt. Dies ist die Voreinstellung bei Kunden mit Featured POIs, sobald eine Umkreissuche verwendet wird. | Nur verwendbar bei der Umkreissuche, wenn Featured POIs für den Kunden aktiviert wurden. Nicht verwendbar bei der Suche nach Featured POIs. |
| dist | Sortiert nach Distanz zum Suchmittelpunkt. Dies ist die Voreinstellung bei Kunden ohne Featured POIs, sobald eine Umkreissuche verwendet wird. | Nur verwendbar bei der Umkreissuche. |
| date | Sortiert nach dem Erzeugungsdatum der POIs, die neustens POIs stehen oben. Dies ist die Voreinstellung bei der allgemeinen und User-bezogenen Suche, solange keine Suchparameter angegeben werden. | Immer verwendbar. |
| ref | Sortiert nach der Anzahl der POI-Folder, welche auf den POI verweisen. Der POI mit den meisten Referenzen steht oben. | Immer verwendbar. |
| raav | Sortiert nach den durchschnittlichen Bewertung über alle Kunden (Rating All AVerage). Es berücksichtigt die Stimmen von authentifizierten Nutzern und Gastnutzern. Der POI mit der höchsten durchschnittlichen Bewertung steht ganz oben. | Immer verwendbar. |
| raau | Sortiert nach den durchschnittlichen Bewertung über alle Kunden (Rating All AUthenticated). Es berücksichtigt nur die Stimmen von authentifizierten Nutzern Der POI mit der höchsten durchschnittlichen Bewertung steht ganz oben. | Immer verwendbar. |
| rcav | Sortiert nach den durchschnittlichen Bewertung für den Kunden (Rating Customer AVerage. Es berücksichtigt die Stimmen von authentifizierten Nutzern und Gastnutzern. Der POI mit der höchsten durchschnittlichen Bewertung steht ganz oben. | Immer verwendbar. |
| rcau | Sortiert nach den durchschnittlichen Bewertung für den Kunden (Rating Customer AUthenticated). Es berücksichtigt nur die Stimmen von authentifizierten Nutzern. Der POI mit der höchsten durchschnittlichen Bewertung steht ganz oben. | Immer verwendbar. |
| weight | Sortiert alle Featured POIs nach oben, und sortiert dann nach den errechneten Gewichtungen der POIs. Die Gewichtung basiert auf den Empfehlungen (POICommendations, z.B. Highlight, Insider-Tipp), der Anzahl der Bewertungen und der Durchschnittsbewertung (Rating) der angemeldeten Benutzer über alle Customer, der Anzahl der LikeIts, der Anzahl der öffentlichen Bilder und der Anzahl der Kommentare. Die Empfehlungen werden dabei stark gewichtet. Diese Sortierung ist die Voreinstellung für die Projektion "geo". | Immer verwendbar. |
| alpha | Sortiert Werte, die über eine Filterabfrage (category, tag, user, loc, country) geliefert werden alphabetisch. Filterabfragen sind in der All-Suche, der User-Suche und in Foldern möglich. | Nur für Filterabfragen möglich. |
| travel | Sortiert all POIs mit Referenzen auf sichtbare Bände nach oben, unabhängig von der Art der Referenz. Dies ist die Vorstufe zur Sortierung "crel". | Immer verwendbar. |
| dated | Sortiert nach dem letzten Änderungsdatum der Contibutions, die ältesten zuerst. Diese Sortierung ist für die User-bezogene Suche gedacht, und sollte zusätzlich mit einer Sprache kombiniert werden. | Immer verwendbar, optimal für User-bezogene Suchen. |
| liked | Sortiert Bilder nach der Anzahl ihrer LikeIts. | Nur verwendbar bei Bildersuchen. |
| price | Sortiert Angebote oder Produkte aufsteigend nach ihrem Preis. | Nur Verwendbar bei Angeboten und Produkten. |
| sales | Sortiert Produkte absteigend nach der Anzahl der Verkäufe. | Nur verwendbar bei Produkten. |
| id | Sortiert die Ergebnisse nach ihrem eindeutigen Bezeichner. Über den Parameter "sortdir" kann die Sortierungsrichtung gewählt werden. | Bei POIs und Touren immer verwendbar. |
| title | Sortiert die POIs nach ihrem Titel. Wird der Parameter "sortuser" nicht verwendet, so erfolgt die Sortierung auf dem Titel des POIs. Wird ein "sortuser" angegeben, so wird nach dem Titel seiner Contribution sortiert. Wird zudem der Parameter "lang" verwendet, so wird nur nach dem Titel seiner Contribution in der angegebenen Sprache sortiert. Über den Parameter "sortdir" kann die Sortierungsrichtung gewählt werden. | Bei POIs immer verwendbar. |
| loc | Sortiert die POIs nach dem Ortsnamen ihrer Adresse. Wird der Parameter "sortuser" nicht verwendet, so erfolgt die Sortierung auf dem Ortsnamen des POIs. Wird ein "sortuser" angegeben, so wird nach dem Ortsnamen seiner Contribution sortiert. Wird zudem der Parameter "lang" verwendet, so wird nur nach dem Ortsnamen seiner Contribution in der angegebenen Sprache sortiert. Über den Parameter "sortdir" kann die Sortierungsrichtung gewählt werden. | Bei POIs immer verwendbar. |
| cat | Sortiert die POIs nach dem Namen ihrer primären Kategorie. Über den Parameter "lang" wird dabei die gewünschte Lokalisierung der Kategorienamen gewählt. Über den Parameter "sortdir" kann die Sortierungsrichtung gewählt werden. | Bei POIs immer verwendbar. |
| closedstatus | Sortiert die POIs nach dem Geschlossen-Typ. Mögliche Typen sind offen, geschlossen, inaktiv, temporär geschlossen und blockiert. Über den Parameter "sortdir" kann die Sortierungsrichtung gewählt werden. | Bei POIs immer verwendbar. |
| opennow | Sortiert POIs nach oben, die laut ihren Öffnungszeiten aktuell geöffnet sind. Nicht alle POIs verfügen über Öffnungszeiten-Informationen. | Bei POIs immer verwendbar. |
| Filter | Beschreibung | Unterstützte Repräsentationen |
|---|---|---|
| poi | Ergebnis enthält die POI einer POI-Liste (POI-Listen basierend), die POI eines Users (User based) oder POI aller User (Allgemeine Suche) | POI-List based, User based, allg. Suche |
| folder | Ergebnis enthält einige oder alle POI-Listen, die der spezifizierte User gespeichert hat. Welche POI-Listen enthalten sind, ist abhängig vom Parameter visibility (siehe dort) | User based |
| tag | Enthält alle Tags, die mit einem spezifiziertem User, einer POI-Liste oder einem POI assoziiert sind. Für User- und POI-Listen basierte Suchen enthalten die Tags eine Gewichtung, die anzeigt, wie oft diese auftreten. | User, POI-Listen und POI basierenden Suchen |
| user | Ergebnis enthält Einträge der Usern, die POIs angelegt haben | POI basierende Suchen, Freunde basierende Suche, Destination basierende Suche |
| country | Ergebnis enthält Einträge zu Ländern, in denen POI gefunden wurden | POI-Listen und User-POI basierenden Suchen, allg. Suche |
| loc | Ergebnis enthält Einträge zu Orten, in denen POI gefunden wurden | POI-Listen und User-POI basierenden Suchen, allg. Suche |
| travelregion | Ergebnis enthält Einträge zu Destinationen vom Typ TRAVEL_REGION, in denen der POI liegt. | Einzel-POI |
| category | Ergebnis enthält Einträge zu Kategorien, in denen POIs gefunden wurden | POI-Listen und User-POI basierenden Suchen, allg. Suche |
| attribution | Ergebnis enthält Einträge zu Attributen, die bei den POIs gefunden wurden. | POI-basierte Suchen, User-POI-basierte Suchen, Destination-basierte Suchen |
| photo | Ergebnis enthält Einträge zu Bildern, die zu einem POI gehören | POI basierenden Suche |
| video | Ergebnis enthält Einträge zu videos, die zu einem POI gehören | POI basierenden Suche |
| event | Ergebnis enthält die Events zu einer Destination | Destination-basierte Suchen |
Die folgende Tabelle listet die searchKeys und searchValues der suchbaren Attribute auf. Diese können für die Einschränkung der Ergebnismenge mit dem "attr" Parameter verwendet werden. Zudem werden diese Werte bei "filter=attribution" zurückgegeben.
| Attribut | searchKey | searchValues |
|---|---|---|
| Küchenstil | cookingStyle | african american arabian asian australian british chinese german euroasian frensh greek downToEarth indian international italian japanese jewish californian korean mediterranean mexican nouvelleCuisine austrian persian portuguese regional russian swiss seafood scandinavian spanish southAmerican thai turkish hungarian vegan vegetarian vietnamese wholeFood |
| Gastronomie | gastronomy | restaurant various bar cafe snackBar |
| Preisklasse | priceLevel | 3 2 1 |
| Typ (Sport) | type | bathingLake skydivingSchool outdoorPool climbingGarden climbingGym indoorPool hangGlidingSchool waterPark |
| Typ (Theater) | type | ballet puppetTheatre cabaretTheatre concertHall musicalTheatre fringeTheatre operaHouse drama danceTheatre varietyTheatre |
| Typ (Wellness) | type | hairdresser beautySalon fingernailSalon sauna spa hotSpring |
| Typ (Kino) | type | multiplex arthouseCinema |
| Besondere Merkmale (Kino) | type | originalVersions |
| Übungsbereich (Golf) | type | drivingRange |
| Saison (Golf) | type | seasonAll |
| Verschiedenes (Golf) | type | guestsWelcome |
| Mietwagenanbieter | type | alamo avis budget europcar hertz nationalCarRent sixt |
| Ausstattung (Kasino) | type | roulette bigWheel poker blackJack baccarat sevenCardStud redDog europeanSevenEleven slotGame |
| Musikstil | musicStyle | 80s alternative blues bossaNova charts chillOut country crossover dancefloor djLive drumNBass electronic folk funk mixed gothic heavyMetal hiphop house industrial independent jazz classical latin lounge mainstream oldies oriental pop punk reggae rock hits soulRNB tango techno trance 2step folkMusic |
| Einrichtung | styleFurnishing | 30x 50s 60s 70s 80s american artDeco asian british caribbean irish italian mexican oriental russian southAmerican |
| Zielgruppe | publicTargetGroup | ladies men children business families mixed gay students trendy teenagers vips |
| Ambiente | ambience | highClass exotic cosy modern rustic chic simple |
| Live-Programm | liveProgramme | comedians various karaoke readings livebands |
| Kinotag | filmDay | monday tuesday wednesday thursday friday saturday sunday |
| Parken | parking | carPark disabledParking garage |
| Zimmerausstattung | details | apartment singleRooms suites familyRooms doubleRooms sharedRooms nonSmokingroom roomsForAllergysufferers shower airconditioning tv safe minibar hairDryer |
| Ausstattung (Hotel) | details | internetAccess |
| Freizeit (Hotel) | details | spa swimmingPool fitness golfCourse tennis |
| Besondere Merkmale (Hotel) | details | childrensPlayground childCare petsAllowed |
| Besondere Merkmale (UNESCO) | unesco | worldHeritage worldNaturalHeritage |
| Lage | location | hotel quiet oldTown seaView nearStation park nearAirport lakeView mountainView pedestrianZone shoppingCentre forest openAir airport station |
| (Kreditkarten) | creditCard | 1 |
| (Kinderfreundlich) | childFriendly | 1 |
| (Behindertengerecht) | disabledFriendly | 1 |
| (Typisch für die Region) | typicalOfRegion | 1 |
| (Außenbereich) | outdoors | 1 |
| (Innenbereich) | indoors | 1 |
| tracktype | Beschreibung |
|---|---|
| jogging | Jogging |
| walking | Walking |
| trekking | Wandern |
| biking | Fahrrad |
| mountainbiking | Mountainbike |
| racingbike | Rennrad |
| motorbiking | Motorrad |
| car | Auto |
| boating | Boot |
| crossskating | Cross Skating |
| skating | Inline Skating |
AIRCRAFT, BICYCLE, BUS, BOATING, CABLECAR, CABLELIFT, CAR, CARFERRY, CARRIAGE, CART, CARTRAIN, CANOE, CHAIRLIFT, CRIAGE, CROSSSKATING, CLIMBER, DIVER, EXCURSIONBOAT, FERRY, HIKER, HOTAIRBALLOON, INLINESKATES, JEEP, JOGGING, LOCALTRAIN, METRO, MOTORBIKE, MOTORBOAT, MOUNTAINBIKING, PEDESTRIAN, PICNIC, RACINGBIKE, RIDING, ROWINGBOAT, SAILINGBOAT, SCOOTER, SEGWAY, SIGHTSEEING, SKATING, SKIER, STEAMTRAIN, SWIMMER, TAXI, TRAIN, TRAM
| Visibility | Beschreibung | Sicherheitsanmerkung |
|---|---|---|
| all | Liefert alle Daten, sowohl public, friend als auch private | Benötigt Authentifizierung |
| private | Liefert nur private Daten | Benötigt Authentifizierung, nur der Eigentümer kann diesen Wert angeben |
| friend | Liefert nur Daten, die für Freunde freigegeben sind | Benötigt Authentifizierung |
| public | Liefert nur öffentliche Daten | Keine Authentifizierung nötig |
| visible | Zeigt alle Daten, auf die ein User Zugriff hat, inkl. aller POI oder POI-Listen, wenn deren Eigentümer dem (authentifizierten) User explizit das Recht dazu gegeben hat. Standardwert für alle Anfragen, wenn der Wert nicht gesetzt ist. | Erfordert keine Authentifizierung, für nicht authentifizierte Anfragen ist das dasselbe wie public Für Authentifizierte User werden zusätzlich noch die Daten angezeigt, für die ihm der Eigentümer das Recht dazu gegeben hat. Für authentifizierte Anfragen als Eigentümer ist das das selbe wie all. |
Die möglichen Auszeichnungen eines POIs sind hier aufgelistet. Über den Parameter "poicom" lässt sich die Suche auf POIs mit den angegebenen Auszeichnungen einschränken.
| Auszeichnung (poicommendation) | Beschreibung |
|---|---|
| TOP_HIGHLIGHT | Der POI ist ein Top-Highlight. |
| HIGHLIGHT | Der POI ist ein Highlight. |
| INSIDER_TIP | Der POI ist ein Insider-Tipp. |
| MP_POI | Der POI wird in einem Marco-Polo-Band erwähnt. |
In Textfeldern sind teilweise HTML-Elemente erlaubt. Nicht unterstützte HTML-Elemente werden ausgefiltert.
| Tag | Attribute |
|---|---|
| a | href, target |
| em | |
| strong | |
| cite | |
| code | |
| ul | |
| ol | |
| li | |
| dl | |
| dt | |
| dd | |
| p | class |
| br | |
| span | class, data-poiid, data-waypointnumber |
| h1 | class |
| h2 | class |
| h3 | class |
| h4 | class |
Filter werden benutzt, um sogenannte Facets einer Datenmenge abfragen zu können. Zu möglichen Werten für Filter siehe Filterwerte. Gibt bei einem GET Request keinen Wert für filter an, so wird als Defaultfilter der Wert poi verwendet.
| User Story | AnyUser fragt die Tags aller POI zu einer Suche an. Es werden die Tags der für AnyUser sichtbaren POI zurückgeliefert. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/ |
GET http://api.mairdumont.com/data/poi/api/all/?filter=tag&search=Museen
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:exif="http://api.123poi.com/exif/" xmlns:poi="http://api.123poi.com/poi/"
xmlns:media="http://search.yahoo.com/mrss/" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">
<openSearch:totalResults>0</openSearch:totalResults>
<openSearch:startIndex>0</openSearch:startIndex>
<openSearch:itemsPerPage>0</openSearch:itemsPerPage>
<openSearch:Query access="VISIBLE"/>
<updated>2010-06-22T08:02:42.093Z</updated>
<link href="http://api.mairdumont.com/data/poi/api/all?filter=tag" rel="self"/>
<title type="text">Allgemeine Suche nach Tags</title>
<subtitle type="text"/>
<id>http://api.mairdumont.com/data/poi/api/all?filter=tag</id>
<author>
<name>Falk POI API</name>
</author>
<entry>
<title type="text">Kunst</title>
<summary type="text">Sprache: de, Count: 4</summary>
<content type="application/xml">
<poi:tagstatistic>
<poi:count>4</poi:count>
<poi:value>Kunst</poi:value>
<poi:language>de</poi:language>
</poi:tagstatistic>
</content>
</entry>
<entry>
<title type="text">Architecture</title>
<summary type="text">Sprache: en, Count: 3</summary>
<content type="application/xml">
<poi:tagstatistic>
<poi:count>3</poi:count>
<poi:value>Architecture</poi:value>
<poi:language>en</poi:language>
</poi:tagstatistic>
</content>
</entry>
<entry>
<title type="text">Sehenswert</title>
<summary type="text">Sprache: de, Count: 3</summary>
<content type="application/xml">
<poi:tagstatistic>
<poi:count>3</poi:count>
<poi:value>Sehenswert</poi:value>
<poi:language>de</poi:language>
</poi:tagstatistic>
</content>
</entry>
...
</feed>
| User Story | AnyUser sucht nach allen Ländern von POIs, die mit einem Begriff als Suchwort gefunden werden. Es werden alle für AnyUser sichtbaren Länder der gefundenen POI zurückgeliefert. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/?filter=country&search=Museen |
| User Story | AnyUser sucht nach allen Orten von POIs, die mit einem Begriff als Suchwort gefunden werden. Es werden alle für AnyUser sichtbaren Orte der gefundenen POI zurückgeliefert. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/?filter=loc&search=Museen |
| User Story | AnyUser sucht nach allen Usern, die POIs angelegt haben, die mit einem Begriff als Suchwort gefunden werden. Es werden alle User der für AnyUser sichtbaren gefundenen POI zurückgeliefert. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/?filter=user&search=Museen |
| User Story | AnyUser möchte alle suchbaren Attributen von POIs ermitteln, die mit einem Begriff als Suchwort gefunden werden. Es werden alle suchbaren Attribute der für AnyUser sichtbaren gefundenen POI zurückgeliefert. Als suchbare Attribute sind jene Attribute zu verstehen, die über searchkey und searchvale verfügen, und somit über den Request-Parameter attr zur weiteren Einschränkung der Ergebnismenge einer Suche herangezogen werden können. Die Ausgabe enthält keine lokalisierten Werte, sondern nur die search keys und search values. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/?filter=attribution&search=Museen |
| User Story | AnyUser sucht nach allen Empfehlungen von POIs,die mit einem Begriff als Suchwort gefunden werden. Es werden alle Empfehlungen der für AnyUser sichtbaren gefundenen POI zurückgeliefert. Empfehlungen sind nur sichtbar, wenn auch die Bände, auf die sich die Empfehlungen beziehen, für den Customer sichtbar sind. Über den Request-Parameter commendation können die zurückgegebenen Empfehlungen zur weiteren Einschränkung der Ergebnismenge einer Suche herangezogen werden. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/?filter=commendation&search=Museen |
| User Story | AnyUser möchte sich die (für ih sichtbaren) Folder eines Users anzeigen lassen. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/user/UserID/?filter=poilist |
Granulierungswerte dienen dazu, die Detailtiefe der Antwort einer Abfrage zu definieren. Granulierungswerte können für Einzeldaten und für Collections angegeben werden. Ist der Wert eines Attributes eine Collection, können dafür wiederum Granulierungswerte definiert werden.
Die Granulierungsanweisung wird vom Pfad durch einen Doppelpunkt „:“ getrennt. Die gewünschten Attribute der Antwort werden innerhalb der folgenden runden Klammern definiert, mehrere Attribute werden durch ein Komma abgetrennt.
:(entity1)
:(entity1, entity2)
:(entity1, entity2:(subentity1))
:(entity1, entity2:(subentity1, subentity2), entity3)
Tools zur Generierung von Granulierungswerten
Die folgende Grafik verdeutlicht pro Entität die möglichen Granulierungswerte.

| User Story | Als Nutzer benötige ich für alle neuen POI mir nur die Ratings. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/all/:(rating)) |
| User Story | Als Nutzer benötige ich für für einen bestimmen POI nur dessen Adresse. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/poi/4711/:(poidata:(address)) |
Damit Portale wissen, welche User Id sie verwenden müssen um zum Beispiel eine persönliche Startseite des eingeloggten Users zu verwenden, müssen sie die User Id bei der Poi Api abfragen. Dazu gibt es eine Schnittstelle, die anhand des im Header mitgelieferten Tokens den User Identifier zurückliefert.
| User Story | Abfragen des User Identifiers anhand des im Header mitgelieferten Tokens |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/user |
| User Story | Abfragen des Profile Bilder von User |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/user/UserID/?filter=user |
| User Story | Ein User fragt die für das Portal sichtbaren Partner ab. Ein Partner ist ein User mit der Partner-Rolle. Ein Partner ist sichtbar, wenn der von ihm bereitgestellte Channel für den Customer freigeschaltet ist. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/partner |