Dieses Dokument beschreibt die REST-Schnittstellen zum Thema Touren in der MD Content-API.
Note: This is a pre-release document and is subject to change in future releases. All information in this document pertains to current state of developement.
Touren haben einen Orts- bzw. einen Regionenbezug. Sie werden beschrieben durch eine Aneinanderreihung geografischer Punkte, POIs, Events oder Destinationen. Touren können Beschreibungstexte oder Notizen haben und können in Abschnitte geteilt werden. Zusätzlich können Touren in Foldern zusammengefasst werden. Touren und Tourfolder können Destinationen zugeordnet werden.
Eine grobe Struktur zeigt folgendes Diagramm:
| User Story | Ein User kann einen Tour anlegen / ändern / löschen / abrufen (Teil 1: anlegen) |
| HTTP | POST |
| URL | http://api.123poi.com/data/poi/api/tour/ |
Die Daten, die angelegt werden sollen müssen im entsprechenden XML-Format angegeben und im Request Body mitgegeben werden. Dafür verwendet man ein entprechendes Tool, Anregungen findet man unter dem Thema RESTFul Webservices testen. Es gibt verschiedene Tour-Typen:
Die Daten werden als neuer Eintrag <entry/> gepostet.
Beim Anlegen einer Tour-Liste ist es möglich in den Tour-Einträgen Entitäten wie Geocode, POI, Destination, Event und Tour zu referenzieren. Jeder Eintrag kann dann noch in unterschiedlichen Sprachen beschrieben werden.
Die Polyline der Tour kann kann entweder im WKT-Format oder als geoJSON angegeben werden:
Die Ausgabe der Tour erfolgt grundsätzlich im geoJSON-Format.
POST http://api.123poi.com/data/poi/api/tour/
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"
xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"
xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"
xmlns:event="http://api.123poi.com/event/"
xmlns:destination="http://api.123poi.com/destination/">
<title type="text">german title</title>
<content type="application/xml">
<tour:tour>
<user:author>
<user:id>6</user:id>
</user:author>
<data:externalId>external_id6</data:externalId>
<falkgeo:polyline>LINESTRING (10.0 10.1, 20.0 20.1, 30.0 30.1)</falkgeo:polyline>
<tour:tourDescriptions>
<tour:tourDescription>
<data:language>de</data:language>
<tour:title>german title list</tour:title>
<tour:description>german description list</tour:description>
</tour:tourDescription>
<tour:tourDescription>
<tour:title>all title list</tour:title>
<tour:description>all description list</tour:description>
</tour:tourDescription>
</tour:tourDescriptions>
<tour:type>list</tour:type>
<tour:tourEntries>
<tour:tourEntry>
<tour:tourEntryDescriptions>
<tour:tourEntryDescription>
<data:language>de</data:language>
<tour:notice>german notice</tour:notice>
<tour:linkUrl>germanl linkUrl</tour:linkUrl>
<tour:linkText>german linktext</tour:linkText>
</tour:tourEntryDescription>
<tour:tourEntryDescription>
<tour:notice>all notice</tour:notice>
<tour:linkUrl>all linkUrl</tour:linkUrl>
<tour:linkText>all linktext</tour:linkText>
</tour:tourEntryDescription>
</tour:tourEntryDescriptions>
<destination:destination>
<destination:destinationId>19311</destination:destinationId>
</destination:destination>
</tour:tourEntry>
<tour:tourEntry>
<tour:tourEntryDescriptions>
<tour:tourEntryDescription>
<data:language>de</data:language>
<tour:notice>german poi notice</tour:notice>
</tour:tourEntryDescription>
</tour:tourEntryDescriptions>
<poi:poi>
<poi:id>111</poi:id>
</poi:poi>
</tour:tourEntry>
<tour:tourEntry>
<event:eventInfo>
<event:eventId>45</event:eventId>
</event:eventInfo>
<tour:tourEntryDescriptions>
<tour:tourEntryDescription>
<data:language>de</data:language>
<tour:notice>german event notice</tour:notice>
</tour:tourEntryDescription>
</tour:tourEntryDescriptions>
</tour:tourEntry>
<tour:tourEntry>
<tour:tour>
<tour:id>4</tour:id>
</tour:tour>
<tour:tourEntryDescriptions>
<tour:tourEntryDescription>
<data:language>de</data:language>
<tour:notice>german event notice</tour:notice>
</tour:tourEntryDescription>
</tour:tourEntryDescriptions>
</tour:tourEntry>
<tour:tourEntry>
<falkgeo:coordinates>
<falkgeo:lat>48.2407081</falkgeo:lat>
<falkgeo:lon>8.723273</falkgeo:lon>
</falkgeo:coordinates>
</tour:tourEntry>
</tour:tourEntries>
<tour:duration>2000</tour:duration>
<tour:distance>1000</tour:distance>
<data:visibility>PUBLIC</data:visibility>
<tour:destinationIdentifiers>
<tour:destinationIdentifier>
<destination:destinationId>20696</destination:destinationId>
</tour:destinationIdentifier>
</tour:destinationIdentifiers>
<tour:polylineURL>polylineURL</tour:polylineURL>
<falkgeo:startCoordinate>
<falkgeo:lat>48.776039</falkgeo:lat>
<falkgeo:lon>9.176246</falkgeo:lon>
</falkgeo:startCoordinate>
<falkgeo:endCoordinate>
<falkgeo:lat>48.72223860481109</falkgeo:lat>
<falkgeo:lon>9.223379437790086</falkgeo:lon>
</falkgeo:endCoordinate>
<tour:tourTrackType>jogging</tour:tourTrackType>
<tour:tourShape>onewaytrip</tour:tourShape>
<tour:backlink>backlink</tour:backlink>
<tour:verticalHeight>Vertical Height</tour:verticalHeight>
<tour:totalAscent>12</tour:totalAscent>
<tour:totalDecent>104</tour:totalDecent>
<tour:highProfileURL>highProfileURL</tour:highProfileURL>
</tour:tour>
</content>
</entry>
Ein Bookmark verweisst auf eine existierende Tour.
POST http://api.123poi.com/data/poi/api/tour/
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"
xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"
xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"
xmlns:event="http://api.123poi.com/event/"
xmlns:destination="http://api.123poi.com/destination/">
<title type="text">german title</title>
<content type="application/xml">
<tour:tour xmlns:tour="http://api.123poi.com/tour/" xmlns:logo="http://api.123poi.com/logo/" xmlns:critique="http://api.123poi.com/critique/" xmlns:event="http://api.123poi.com/event/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:destination="http://api.123poi.com/destination/">
<user:author>
<user:id>6</user:id>
</user:author>
<tour:tourDescriptions>
<tour:tourDescription>
<data:language>de</data:language>
<tour:title>german bookmark title</tour:title>
<tour:description>german bookmark description</tour:description>
</tour:tourDescription>
<tour:tourDescription>
<tour:title>all bookmark title</tour:title>
<tour:description>all bookmark description</tour:description>
</tour:tourDescription>
</tour:tourDescriptions>
<tour:type>bookmark</tour:type>
<tour:bookmarkId>22</tour:bookmarkId>
<data:visibility>PUBLIC</data:visibility>
</tour:tour>
</content>
</entry>
| User Story | Ein User kann die Touren eines Benutzers abfragen |
| HTTP | GET |
| URL | http://api.123poi.com/data/poi/api/user/UserID/?filter=tour |
| User Story | Ein User kann die Main-Touren eines Benutzers abfragen. Main-Touren sind Touren die nicht in einem Folder liegen. |
| HTTP | GET |
| URL | http://api.123poi.com/data/poi/api/user/UserID/?filter=maintour |
Die Touren können nach Typen eingeschränkt werden.
GET http://api.123poi.com/data/poi/api/user/6/?filter=tour&tourtype=list
Die Main-Touren können ebenfalls nach Typen eingeschränkt werden.
| User Story | Ein User kann die Touren abfragen, die einer Destination zugeordnet sind. |
| HTTP | GET |
| URL | http://api.123poi.com/data/destination/api/destination/4/?filter=tour |
| User Story | Ein User kann die Main-Touren abfragen, die einer Destination zugeordnet sind. Main-Touren sind Touren die nicht in einem Folder liegen. |
| HTTP | GET |
| URL | http://api.123poi.com/data/destination/api/destination/4/?filter=maintour |
Die Touren können nach Typen eingeschränkt werden.
GET http://api.123poi.com/data/destination/api/destination/6/?filter=destination
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&tourtype=folder
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&tourtype=bookmark
Die Main-Touren können ebenfalls nach Typen eingeschränkt werden.
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&tourtype=list
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&tourtype=folder
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&tourtype=bookmark
| User Story | Ein User kann die Touren eines Users abfragen, die einer Destination zugeordnet sind. |
| HTTP | GET |
| URL | http://api.123poi.com/data/destination/api/destination/4/?filter=tour&user=9 |
| User Story | Ein User kann die Main-Touren eines Users abfragen, abfragen, die einer Destination zugeordnet sind. Main-Touren sind Touren die nicht in einem Folder liegen. |
| HTTP | GET |
| URL | http://api.123poi.com/data/destination/api/destination/4/?filter=maintour&user=9 |
Die Touren können nach Typen eingeschränkt werden.
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&user=9&tourtype=list
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&user=9&tourtype=folder
GET http://api.123poi.com/data/destination/api/destination/6/?filter=tour&user=9&tourtype=bookmark
Die Main-Touren können ebenfalls nach Typen eingeschränkt werden.
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&user=9&tourtype=list
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&user=9&tourtype=folder
GET http://api.123poi.com/data/destination/api/destination/6/?filter=maintour&user=9&tourtype=bookmark
| User Story | Ein User kann die POI in welchen Touren abfragen. |
| HTTP | GET |
| URL | http://api.123poi.com/data/poi/api/poi/12345/?filter=tour |
| User Story | Als Portal möchte ich, dass zum angezeigten Kartenausschnitt / Standort (Umkreis) die dort vorhandenen Touren eines bestimmten Types bzw. mehrerer unterschiedl. Typen zurückgeliefert werden, damit ich diese in der Karte einzeichnen kann. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/geo/tour/all?bbox=50.1,5.87,47.31,15.05&tracktype=jogging,trekking http://api.mairdumont.com/data/poi/geo/tour/all?bbox=50.1,5.87,47.31,15.05&transportation=CANOE,MOTORBOAT |
Bei der Geo-Projektion wird die Eigenschaften TourID, Titel und Start-Koordinate der Touren zurückgeliefert. Diese Projektion eignet sich daher am Besten für die Einblendung der Touren als Layer in einer Karte.
| User Story | Als Portal möchte ich nur Touren mit bestimmten Attributen anzeigen. |
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=sourcehttp://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=source:mp_tourenhttp://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=source:mp_touren+lp_tourenhttp://api.mairdumont.com/data/poi/api/destination/37067?lang=de&filter=tour&attr=source:mp_touren |
Über den Paramter "attr" lassen sich die verschiedenen Tourensuchen auf Touren mit dem angegebenen Attribut einschränken. Der Doppelpunkt trennt dabei den Attribut-Key vom Attribut-Wert, d.h. bei "attr=source:mp_touren" wird nach dem Attribut-Key "source" mit dem Attribut-Wert "mp_touren" gesucht. Wird kein Doppelpunkt angegeben, z.B. "attr=source", dann wird nur nach dem Attribut-Key gesucht, d.h. es werden alle Touren mit dem Attribut-Key gefunden, unabhängig vom Attribut-Wert. Es können mehrere Attribut-Werte gesucht werden. Dazu werden die Werte durch Leerzeichen voneinander getrennt, z.B. "attr=source:mp_touren+lp_touren" ("+" bzw. "%20" ist URL-Encoding für Leerzeichen). Es werden Touren gefunden, deren Attribut-Key "source" den Attribut-Wert "mp_touren" oder "lp_touren" hat (Oder-Suche). Für eine Und-Suche auf verschiedenen Attributen werden mehrere "attr" Parameter angegeben, z.B. "attr=source:mp_touren&attr=childfriendly:true".
| User Story | Als Portal möchte ich bei Tourensuchen Aggregationen anzeigen. |
|---|---|
| HTTP | GET |
| URL | http://api.mairdumont.com/data/poi/api/tour/all?lang=de&facet=destination-50,attribution-100-alpha http://api.mairdumont.com/data/poi/api/tour/all?lang=de&attr=source:mp_touren&facet=destination http://api.mairdumont.com/data/poi/geo/tour/all?bbox=47.911019,8.308199,47.108022,9.851372&facet=destination |
Aktuell werden zwei Aggregationen bzw. Facetten unterstützt, Destinationen und Attribute. Bei "facet=destination" werden die Destinationen der gefundenen Touren aggregiert und im Ergebnis angezeigt. Bei "facet=attribution" werden die Attribut-Keys und ihre Attribut-Werte der gefundenen Touren aggregiert. Aggregiert wird über die alle gefundenen Touren. Das Ergebnis ist also nicht auf die Anzahl der angefragten Touren beschränkt.
Mehrere Aggregationen können durch Komma getrennt angefragt werden, z.B. "facet=destination,attribution". Optional können auch die Anzahl der Einträge, sowie die Sortierung der Einträge bestimmt werden. Das Format dazu ist "<facetType>[-<maxResults>[-alpha]]", z.B. "facet=destination-50" oder "facet=attribution-100-alpha". Der Vorgabewert für maxResults ist 20. Die Vorgabesortierung ist absteigend nach Anzahl. Bei alphabetischer Sortierung wird aufsteigend nach Name (bzw. ID) sortiert.
Beispiel für Tour-Aggregationen
{
"entries": [
...
],
"facets": [
{
"entries": [
{
"key": "source",
"values": [
{
"count": 1045,
"value": "mp_touren"
}
]
},
{
"key": "subType",
"values": [
{
"count": 249,
"value": "perfectOverview"
}
]
}
],
"facetType": "ATTRIBUTION",
"resultLimit": 10
},
{
"entries": [
{
"count": 1641,
"id": 5641
},
{
"count": 1583,
"id": 5747
},
{
"count": 1156,
"id": 34657
},
{
"count": 889,
"id": 5611
},
{
"count": 800,
"id": 161156
}
],
"facetType": "DESTINATION",
"resultLimit": 5
}
]
}
| User Story | Ein User kann eine Tour anlegen / ändern / löschen / abrufen (Teil 2: ändern) |
| HTTP | PUT |
| URL | http://api.123poi.com/data/poi/api/tour/TourId |
Für diese Operation wird ein HTTP-PUT Request verwendet, der Pfad dieser Operation verweist auf den Folder mit seiner ID.
PUT http://api.123poi.com/data/poi/api/tour/123456
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"
xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"
xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"
xmlns:destination="http://api.123poi.com/destination/">
<title type="text">TEST_STATIC_TOUR_publicFolder</title>
<content type="application/xml">
<tour:tour>
<user:author>
<user:id>6</user:id>
</user:author>
<tour:tourDescriptions>
<tour:tourDescription>
<data:language>en</data:language>
<tour:title>TEST_STATIC_TOUR_publicFolder EN</tour:title>
</tour:tourDescription>
</tour:tourDescriptions>
<tour:type>folder</tour:type>
<tour:children>
<tour:child>
<tour:id>22</tour:id>
</tour:child>
<tour:child>
<tour:id>4</tour:id>
</tour:child>
<tour:child>
<tour:id>5</tour:id>
</tour:child>
</tour:children>
<data:visibility>PUBLIC</data:visibility>
</tour:tour>
</content>
</entry>
Bei Tour-Listen kann, mit einem Update der Tour-Einträge, die Reihenfolge geändert werden. Soll die Reihenfolge die Tour-Einträge geändert werden, müssen alle Tour-Einträge, die in der Liste enthalten sein sollen, in der gewollten Reihenfolge angegeben werden. Die Referencen zu POI, Destination, Event, Tour und Geocode müssen mitgegeben werden, sonst würden diese rückgesetzt werden. Die Tour-Beschreibungen und die Beschreibungen der Tour-Einräge müssen dann nicht mit geliefert werden. Werden Tour-Beschreibungen oder Beschreibungen von Tour-Einträgen mitgeliefert, werden diese, sofern sie in der Sparache vorhanden sind geändert, ansonsten werden sie hinzugefügt. Beschreibungen in anderen Sprachen bleiben bestehen.
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/" xmlns:event="http://api.123poi.com/event/" xmlns:destination="http://api.123poi.com/destination/">
<content type="application/xml">
<tour:tour>
<tour:id>27</tour:id>
<user:author>
<user:id>6</user:id>
<user:name>Test user6</user:name>
</user:author>
<tour:tourDescriptions>
<tour:tourDescription>
<data:language>en</data:language>
<tour:title>english title list</tour:title>
<tour:description>english description list</tour:description>
</tour:tourDescription>
<tour:tourDescription>
<tour:title>all title list (updated)</tour:title>
<tour:description>all description list (updated)</tour:description>
</tour:tourDescription>
</tour:tourDescriptions>
<tour:type>list</tour:type>
<tour:tourEntries>
<tour:tourEntry>
<tour:id>45</tour:id>
<tour:tour>
<tour:id>4</tour:id>
</tour:tour>
</tour:tourEntry>
<tour:tourEntry>
<tour:id>43</tour:id>
<poi:poi>
<poi:id>111</poi:id>
</poi:poi>
</tour:tourEntry>
<tour:tourEntry>
<tour:id>42</tour:id>
<destination:destination>
<destination:destinationId>19311</destination:destinationId>
</destination:destination>
</tour:tourEntry>
<tour:tourEntry>
<destination:destination>
<destination:destinationId>300</destination:destinationId>
</destination:destination>
</tour:tourEntry>
<tour:tourEntry>
<tour:id>44</tour:id>
<event:eventInfo>
<event:eventId>45</event:eventId>
</event:eventInfo>
</tour:tourEntry>
<tour:tourEntry>
<tour:id>46</tour:id>
<falkgeo:coordinates>
<falkgeo:lat>48.2407081</falkgeo:lat>
<falkgeo:lon>8.723273</falkgeo:lon>
</falkgeo:coordinates>
</tour:tourEntry>
</tour:tourEntries>
<tour:totalNumberOfTourEntries>5</tour:totalNumberOfTourEntries>
<tour:duration>2000</tour:duration>
<tour:distance>1000</tour:distance>
<data:visibility>PUBLIC</data:visibility>
</tour:tour>
</content>
</entry>
| User Story | Ein User kann einen Tour anlegen / ändern / löschen / abrufen (Teil 3: löschen) |
| HTTP | DELETE |
| URL | http://api.123poi.com/data/poi/api/tour/TourId |
Touren können vom Besitzer der Tour gelöscht werden.
DELETE http://api.123poi.com/data/poi/api/tour/61
| User Story | Ein User kann einen Tour anlegen / ändern / löschen / abrufen (Teil 3: löschen) |
| HTTP | DELETE |
| URL | http://api.123poi.com/data/poi/api/tour/TourId?lang=${language} |
Tour-Beschreibungen können vom Besitzer der Tour nach Sprache gelöscht werden. Es wird dann nur die Beschreibungen der angegebenen Sprache gelöscht, andere Sprachen beleiben erhalten.
DELETE http://api.123poi.com/data/poi/api/tour/61?lang=de
Es ist möglich zu einer Tour-Liste einen einzelnen Tour-Eintrag am Ende hinzuzufügen.
| User Story | Ein User kann einen Toureintrag hinzufügen |
| HTTP | POST |
| URL | http://api.123poi.com/data/poi/api/tour//tourentry |
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/" xmlns:event="http://api.123poi.com/event/" xmlns:destination="http://api.123poi.com/destination/">
<content type="application/xml">
<tour:tourEntry>
<tour:tourEntryDescriptions>
<tour:tourEntryDescription>
<data:language>de</data:language>
<tour:notice>created tour entry</tour:notice>
</tour:tourEntryDescription>
</tour:tourEntryDescriptions>
<destination:destination>
<destination:destinationId>301</destination:destinationId>
</destination:destination>
</tour:tourEntry>
</content>
</entry>
Ebenso kann ein Eintrag aus einer Tour-Liste gelöscht werden.
| User Story | Ein User kann einen Toureintrag löschen |
| HTTP | DELETE |
| URL | http://api.123poi.com/data/poi/api/tour//tourentry/6 |
| User Story | Ein User möchte einen Toureintrag einzeln Anzeigen |
| HTTP | GET |
| URL | http://api.123poi.com/data/poi/api/tour//tourentry/6 |
| User Story | Ein User möchte einen Toureintrag einer Tour-List besarbeiten |
| HTTP | PUT |
| URL | http://api.123poi.com/data/poi/api/tour//tourentry/6 |
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/" xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/" xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/" xmlns:event="http://api.123poi.com/event/" xmlns:destination="http://api.123poi.com/destination/">
<content type="application/xml">
<tour:tourEntry>
<tour:id>14</tour:id>
<tour:tourEntryDescriptions>
<tour:tourEntryDescription>
<data:language>de</data:language>
<tour:notice>created tour entry (updated)</tour:notice>
</tour:tourEntryDescription>
<tour:tourEntryDescription>
<data:language>en</data:language>
<tour:notice>created tour entry</tour:notice>
</tour:tourEntryDescription>
</tour:tourEntryDescriptions>
<destination:destination>
<destination:destinationId>301</destination:destinationId>
</destination:destination>
</tour:tourEntry>
</content>
</entry>
</feed>
| User Story | Ein User kann eine Tour anlegen / ändern / löschen / abrufen (Teil 4: abfragen) |
| HTTP | GET |
| URL | http://api.123poi.com/data/poi/api/tour/TourId |
Die Touren eines Folders können je nach Sichtbarkeit von Gästen, authentifizierten Usern und dem Besitzer abgefragt werden.
GET http://api.123poi.com/data/poi/api/tour/6
Die Eintrage einer Folders können nach Sprache abgefragt werden.
TourEntries die auf Touren oder POIs verweisen die gelöscht worden sind, werden mit dem Status "tourEntryStatus": "REFERENCED_ENTITY_DELETED" gekennzeichnet.
"tourEntries": {
"tourEntry": [
{
"id": "15",
"coordinates": {
"lat": "48.72223860481109",
"lon": "9.223379437790086"
},
"tourEntryDescriptions": {
"tourEntryDescription": [
{
"language": "de",
"title": "german title",
"notice": "german notice",
"linkUrl": "german linkUrl",
"linkText": "german linktext"
},
{
"title": "all title",
"notice": "all notice",
"linkUrl": "all linkUrl",
"linkText": "all linktext"
}
]
},
"destination": {
"destinationId": "19311",
"destinationName": "Stuttgart",
"destinationType": "ADMIN_CITY",
"parentId": "6505",
"coordinates": {
"lat": "48.77712740002663",
"lon": "9.180707500013073"
},
"bookRelationType": "IS_A_BOOK",
"creationDate": "1357646053312",
"creationDateFormatted": "2013-01-08 12:54:13 +0100",
"lastUpdate": "1357646053359",
"lastUpdateFormatted": "2013-01-08 12:54:13 +0100",
"important": "true"
},
"creationDate": "1358782291453",
"creationDateFormatted": "2013-01-21 16:31:31 +0100",
"lastUpdate": "1358782291453",
"lastUpdateFormatted": "2013-01-21 16:31:31 +0100",
"tourEntryStatus": "REFERENCED_ENTITY_DELETED"
},
{
"id": "16",
"coordinates": {
"lat": "48.2407081",
"lon": "8.723273"
},
"creationDate": "1358782291500",
"creationDateFormatted": "2013-01-21 16:31:31 +0100",
"lastUpdate": "1358782291500",
"lastUpdateFormatted": "2013-01-21 16:31:31 +0100"
}
]
},
| User Story | Als Lizenznehmer möchte ich die Tour des Users einfach erkennen können, diese soll über eine einheitliche Kennung angelegt und abgefragt werden können. |
| HTTP | GET |
| URL | http://api.123poi.com/data/poi/api/tour/user/{userID}/external/{externalID} |
Touren mit spezieller Bedeuting von seiten des Portals können über Benutzer-ID und externe ID eindeutig identifiert werden.
GET http://api.123poi.com/data/poi/api/tour/user/{userID}/external/falk-favorite
Ein Folder dient zum Gruppieren von Touren und enthält eine sortierte Liste von Touren. Ein Folder selber besitzt keine Tour-Einträge.
POST http://api.123poi.com/data/poi/api/tour/
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:poi="http://api.123poi.com/poi/"
xmlns:falkgeo="http://api.123poi.com/geo/" xmlns:data="http://api.123poi.com/data/"
xmlns:user="http://api.123poi.com/user/" xmlns:tour="http://api.123poi.com/tour/"
xmlns:destination="http://api.123poi.com/destination/">
<title type="text">TEST_STATIC_TOUR_publicFolder</title>
<content type="application/xml">
<tour:tour>
<user:author>
<user:id>6</user:id>
</user:author>
<tour:tourDescriptions>
<tour:tourDescription>
<tour:title>TEST_STATIC_TOUR_publicFolder</tour:title>
</tour:tourDescription>
<tour:tourDescription>
<data:language>de</data:language>
<tour:title>TEST_STATIC_TOUR_publicFolder DE</tour:title>
</tour:tourDescription>
</tour:tourDescriptions>
<tour:type>folder</tour:type>
<tour:children>
<tour:child>
<tour:id>4</tour:id>
</tour:child>
<tour:child>
<tour:id>5</tour:id>
</tour:child>
</tour:children>
<data:visibility>PUBLIC</data:visibility>
</tour:tour>
</content>
</entry>