POI Schnittstelle

Über diese Schnittstelle können Sie Daten von Points of Interest (POI) beziehen. Bei diesen handelt es sich um sehenswerte oder interessante Orte, Sehenswürdigkeiten usw..

Neben den Detailabfragen der POIs können auch nur die Kategorien der freigegebenen POIs ausgegeben werden.

Beispiele

Im Folgenden sehen Sie Beispiele verschiedener Anfragen anhand von PHP und cURL.

Allgemeine Anfrage

In diesem Beispiel sehen Sie eine allgemeine Anfrage ohne zusätzliche Filter. Es werden alle für diesen API Zugang freigegebenen POI Daten ausgegeben.

$url = "https://www.optimale-praesentation.de/comm/universal/poi";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "AuthorizationUsername: {username}",
    "AuthorizationKey: {key}"));
$output = curl_exec($ch);
curl_close($ch);

Hier sehen Sie den strukturellen Aufbau der Antwort der POI API. Es handelt sich hierbei um einen rein fiktiven POI.

{
    "api_type": "POI",
    "api_version": "1.0",
    "status": "success",
    "http_status_code": 200,
    "data": [
        {
            "general": {
                "poi_id": "1",
                "organisation_no": "144",
                "description": "Ein Restaurant, welches lokales Essen bietet.",
                "title": "Zum goldenen Anker",
                "top_listing": true,
                "created": "2017-05-18T17:10:50+02:00",
                "lastchanged": "2019-01-30T11:25:50+01:00"
            },
            "location": {
                "postcode": "23730",
                "country": "Deutschland",
                "city": "Sierksdorf",
                "street": "Musterallee",
                "latitude": 54.094174846,
                "longitude": 10.783734688
            },
            "categories": [
                {
                    "maincategoryId": 11,
                    "maincategoryName": "Gastronomie",
                    "subcategories": [
                        {
                            "subcategoryId": 24,
                            "subcategoryName": "Restaurant"
                        }
                    ]
                }
            ],
            "contact": {
                "contact_company": "Mustermann AG",
                "contact_name": "Max Mustermann",
                "contact_street": "Musterallee",
                "contact_postcode": "23730",
                "contact_city": "Sierksdorf",
                "contact_tel": "12345 678",
                "contact_email": "max.mustermann@secra.de",
                "contact_link": "www.mustermann.de"
            },
            "groups": [
                {
                    "id": 3,
                    "name": "Lokale Restaurants"
                },
                {
                    "id": 2,
                    "name": "Erstklassige Restaurants"
                }
            ],
            "image": [
                {
                    "urlThumbnail": "https://.../bilder/poimaps/0000000144/3_160h.jpg",
                    "urlRegular": "https://.../bilder/poimaps/0000000144/3_640h.jpg",
                    "url": "https://.../bilder/poimaps/0000000144/3_1200h.jpg",
                    "urlOriginal": "https://.../bilder/poimaps/0000000144/3_1920h.jpg",
                    "description": "Restaurant Außenansicht",
                    "copyright": "Zum goldenen Anker",
                    "order": 1
                },
                {
                    "urlThumbnail": "https://.../bilder/poimaps/0000000144/4_160h.jpg",
                    "urlRegular": "https://.../bilder/poimaps/0000000144/4_640h.jpg",
                    "url": "https://.../bilder/poimaps/0000000144/4_1200h.jpg",
                    "description": "Restaurant Innenansicht",
                    "copyright": "Zum goldenen Anker",
                    "order": 2
                }
            ],
            "quality_logo": [
                {
                    "url": "https://.../bilder/poilogo/0000000144/122_200h.jpg",
                    "order": 1
                },
                {
                    "url": "https://.../bilder/poilogo/0000000144/123_200h.jpg",
                    "order": 2
                }
            ],
            "opening_hours": [
                {
                    "from": "2018-12-01",
                    "until": "2018-12-14",
                    "days": "Monday, Thursday, Sunday",
                    "additional_information": "Lieferservice von 19:00 - 22:00Uhr"
                    "times": [
                        {
                            "opens": "08:00:00",
                            "closes": "12:00:00"
                        },
                        {
                            "opens": "13:00:00",
                            "closes": "22:00:00"
                        }
                    ]
                }
            ],
            "pdf": {
                "name": "Speisekarte",
                "id": "3",
                "path": "https://optimale-praesentation.de/daten/poi/0000000005/3.pdf"
            }
        }
    ]
}

Anfrage eines spezifischen POIs

Neben allgemeinen Anfragen können auch Details einzelner POIs direkt abgerufen werden.

$url = "https://www.optimale-praesentation.de/comm/universal/poi/{poi_id}";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "AuthorizationUsername: {username}",
    "AuthorizationKey: {key}"));
$output = curl_exec($ch);
curl_close($ch);

Anfrage der POI Categories

Zusätzlich ist es über den Pfad "/poi/category" möglich sich eine Liste von Kategorien aller für den Zugang verfügbaren POIs ausgeben zu lassen.

$url = "https://www.optimale-praesentation.de/comm/universal/poi/category";

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_TIMEOUT,10);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "AuthorizationUsername: {username}",
    "AuthorizationKey: {key}"));
$output = curl_exec($ch);
curl_close($ch);

Die Antwort auf eine Anfrage an "/poi/category".

{
    "api_type": "POI-Category",
    "api_version": "1.0",
    "status": "success",
    "http_status_code": 200,
    "data": [
        {
            "organisation_no": "144",
            "maincategoryId": 11,
            "maincategoryName": "Gastronomie",
            "subcategories": [
                {
                    "subcategoryId": 24
                    "subcategoryName": "Restaurant"
                },
                {
                    "subcategoryId": 25
                    "subcategoryName": "Grill",
                }
            ]
        }
    ]
}

Filter

Es besteht die Möglichkeit POI Abfragen nach bestimmten Kriterien zu filtern. Bezogen auf die POI Kategorien, welche über "/poi/category" ausgelesen werden können, ist jedoch zu erwähnen, dass ein Filtern nach Parametern abgesehen von der "organisation_no" und "group_no" nicht vorgesehen ist.

Option Typ Werte Erklärung
organisation_no int Fragt nach den POI einer bestimmen Organisation
group_no string Nur die POI Daten einer bestimmten Gruppe von Organisationen werden zurück gegeben. Eine "group_no" kann im Gegensatz zu organisation_no aus Zeichen und Ganzzahlen bestehen. Beispiel: "0610fa77c"
v float Über diesen Parameter kann die gewünschte Version der Schnittstelle angegeben werden
top_listing boolean true, false Bei als Top-Listing markierten POIs handelt es sich um Highlights, die typischerweise bei Auflistungen an vorderster Stelle stehen
maincategoryId int Über diesen Filter lassen sich die POIs nach ihrer Hauptkategorie filtern

results matching ""

    No results matching ""