# FetchData REST API

# ChatBot

Das moPage Module **ChatBot** bietet dem Website Besucher die Möglichkeit mittels Chat an gewünschte Informationen zu kommen.

## Authentifizierung/Request Headers

Die Authentifizierung erfolgt mit einem vorgängig kommunizierten API Key, der im Request Header wie folgt mitzuliefern ist:

```
X-Api-Key: {client_api_key_here}
```

Zusätzlich muss der Content-Type auf Application/json gesetzt werden:

```
 Content-Type: Application/json
```

## Endpoint

**URL**

```
POST https://api.mopage.ch/api/v1/chatbot/ask/events 
```

**Body**

```json
{
 "datefrom": "yyyy-mm-dd hh:mm:ss",
 "dateto": "yyyy-mm-dd hh:mm:ss",
 "ask": "category term, searchterm...",
 "latitude": 47.123456,
 "longitude": 9.123456
} 
```

Die Felder `ask`, `latitude` und `longitude` sind dabei fakultativ. Werden die nicht geliefert, werden einfach Events des angegeb. Zeitraums geliefert.

## Response

<table border="1" class="table" id="bkmrk-status-text-beschrei" style="width: 100%; border-collapse: collapse;"><thead><tr><th style="width: 7.89687%;">Status</th><th style="width: 58.8493%;">Text</th><th style="width: 33.3731%;">Beschreibung</th></tr></thead><tbody><tr><td style="width: 7.89687%;">200</td><td style="width: 58.8493%;">OK</td><td style="width: 33.3731%;">Resultat als JSON, s. unten </td></tr><tr><td style="width: 7.89687%;">400</td><td style="width: 58.8493%;">Bad Request</td><td style="width: 33.3731%;">Input Parameter not valid. ()</td></tr><tr><td style="width: 7.89687%;">401</td><td style="width: 58.8493%;">Unauthorized</td><td style="width: 33.3731%;">No permission with provided key.</td></tr></tbody></table>

**Resultat**

```json
[
    {
    "title": "Konzert Grabenhalle",
    "datefrom": "2018-07-10 20:00:00",
    "dateto": "2018-07-10 23:00:00",
    "urldetails": "https://www.mopage.ch/123456",
    "urlimage": "https://dl.mopage.ch/data/eventimg.jpg",
    "locationinfo": "Grabenhalle\n9000 St.Gallen",
    "latitude": 47.123,
    "longitude": 9.123,
    "categories": ["Rubrik 1", "Rubrik 2"...]
    },
    {},
    ...
]
```

# ContainerData

<div class="right-column  content-area col-sm-9" id="bkmrk-das-mopage-module-co"><div class="content-page"><article>Das moPage Module **ContainerData** bietet dem Fremdsystemen die Möglichkeit, an strukturierte Daten aus dem moPage System zu kommen.

## Authentifizierung/Request Headers

Die Authentifizierung erfolgt mit einem vorgängig kommunizierten API Key, der im Request Header wie folgt mitzuliefern ist:

```
X-Api-Key: {client_api_key_here}
```

Zusätzlich muss der Content-Type auf Application/json gesetzt werden:

```
 Content-Type: Application/json
```

## Endpoint

**URL**

```
GET https://api.mopage.ch/api/v1/containerdata/{id}/{limit} 
```

**Erklärung**

<table border="1" class="table" style="width: 100%; border-collapse: collapse; border-width: 1px;"><thead><tr><th style="width: 8.15483%;">Feld</th><th style="width: 91.9644%;">Info</th></tr></thead><tbody><tr><td style="width: 8.15483%;">id</td><td style="width: 91.9644%;">Container ID des moPage Systems</td></tr><tr><td style="width: 8.15483%;">limit</td><td style="width: 91.9644%;">optionales Limit (Anzahl Datensätze, die zurückgegeben werden)</td></tr></tbody></table>

## Response

<table border="1" class="table" style="width: 100%; border-collapse: collapse; border-width: 1px;"><thead><tr><th style="width: 10.1588%;">Status</th><th style="width: 56.5874%;">Text</th><th style="width: 33.3731%;">Beschreibung</th></tr></thead><tbody><tr><td style="width: 10.1588%;">200</td><td style="width: 56.5874%;">OK</td><td style="width: 33.3731%;">Resultat als JSON, s. unten </td></tr><tr><td style="width: 10.1588%;">400</td><td style="width: 56.5874%;">Bad Request</td><td style="width: 33.3731%;">Input Parameter not valid. ()</td></tr><tr><td style="width: 10.1588%;">401</td><td style="width: 56.5874%;">Unauthorized</td><td style="width: 33.3731%;">No permission with provided key.</td></tr></tbody></table>

**Resultat**

```json
[
    {
        "id": "331751982",
        "datepub": "2019-07-09 07:56:34",
        "datemut": "2019-07-09 07:56:34",
        "title": "1. August 2019 - Bundesfeier im Fluegarten",
        "lead": "Beschreibung hier...",
        "text": "Beschreibung hier...",
        "textlong": "Lange Beschreibung hier...",
        "latitude": "47.3982611000",
        "longitude": "8.4487950000",
        "address": "Strasse 34",
        "zip": "8952",
        "city": "Schlieren",
        "canton": ZH,
        "country": CH,
        "email": "someaddress@mail.com",
        "telephone": "+41111223344",
        "urlwebsite": "https://www.somesite.com",
        "openinghours": "Mo-Fr: 8:00-16:00\nSa: 10:00 - 16:00",
        "images": [
            "https://dl.mopage.ch/path_to_image01.jpg",
            "https://dl.mopage.ch/path_to_image02.jpg",
            ...
        ],
        "eventdates": [
            {
                "from": "2019-08-01 14:00:00",
                "to": "2019-08-01 23:00:00",
                "allday": 1
            },
            {
                "from": "2019-05-01 14:00:00",
                "to": "2019-05-01 23:00:00",
                "allday": null
            },
            ...
        ],
        "categories": [
            "Rubrik 1",
            "Rubrik 2",
            "Rubrik 3",
            ...
        ],
        "url": "https://sub.domain.ch/index.php?apid=112233",
        "urlembed": "https://sub.domain.ch/index.php?apid=112233&embed=true",
        "additionalinfo": {
            "sf01": {
                "caption": "Preis",
                "value": "15 CHF",
            },   
            "sf02": {
                "caption": "Anmeldung",
                "value": "Hier anmelden: www.somelink.ch/reg",
            },   
            "sf03": {
                "caption": "Organisator",
                "value": "Event Marketing AG",
            },
            ...
        }
    },
    {},
    ...
]
```

</article></div></div>