====== API für Datenbezüger ======
Der Minasa-Datenhub liefert die Basis zum Austausch von Event-Daten im Minasa-Schema. Interessierte Bezüger können über eine API die gewünschten Daten abrufen.
===== Abfragen =====
Zum Download der Daten wird ein API-Key benötigt, der bei Saiten bestellt werden kann.
^System^URL^Methode|
|Minasa Datenhub LIVE|[[https://azizi.2mp.ch/export/events/v/1|https://azizi.2mp.ch/export/events/v/1]]|GET|
|Testsystem|[[https://azizi.nilkream.ch/export/events/v/1|https://azizi.nilkream.ch/export/events/v/1]]|GET|
==== AUTHORIZATION ====
Die Authorisierung erfolgt mit API-Key im HTTP-Header nach folgendem Schema:
^HTTP Header^auth-scheme^authorization-parameters|
|Authorization|apikey|API-KEY|
Beispiel:
curl \
--location 'https://azizi.nilkream.ch/export/events/v/1' \
--header 'Authorization: apikey XYZ01234...ABC'
===== Format =====
Daten werden im XML-Format ausgeliefert. Elemente, die HTML-Formatierung enthalten können sind als [[https://de.wikipedia.org/wiki/CDATA|CDATA-Abschnitt ]]ausgewiesen.
Bilder werden als Download-URL verlinkt und sind vom empfangenden System separat herunterzuladen.
===== Filter =====
Der Datenhub stellt verschiedene Filter zur Verfügung, die als HTTP-Query-Parameter übergeben werden:
^Parameter^Beschreibung^Beispiele^Erläuterungen|
|''category'' |Veranstaltungs-Kategorie, Rubrik|''category=Literatur,Kunst'' |gültige Kategorie gemäss [[:datenhub:schema|Minasa-Schema]]|
|''zip'' |PLZ des Veranstaltungsorts|''zip=9000,9001,9004,9006,9007,9008,9009,9010,9011,9012,9013,9014,9015,9016'' |Bsp. für gesamte Stadt St. Gallen|
|''canton'' |Kanton des Veranstaltungsorts|''canton=AI,AR'' |Bsp. für beide Appenzell|
|''dataProviderIncluded'' |nur diese Datenlieferanten|''dataProviderIncluded=0187dc91-efa5-7e6f-a417-5a9bb49bb64e'' |GUIDs von Datenlieferanten werden vom Datenhub fix vergeben|
|''dataProviderExcluded'' |ausser diese Datenlieferanten|''dataProviderExcluded=0187dc91-efa5-7e6f-a417-5a9bb49bb64e'' |GUIDs von Datenlieferanten werden vom Datenhub fix vergeben|
Werden mit der Anfrage keine Filter mitgeschickt, liefert der Datenhub alle aktuellen, verfügbaren Event-Daten aus.
Verschiedene Filter können in derselben Abfrage kombiniert werden.
Beispiel:
curl \
--location 'https://azizi.nilkream.ch/export/events/v/1?canton=AI,AR&category=Literatur,Kunst' \
--header 'Authorization: apikey XYZ01234...ABC'
===== Einschränkungen =====
Der Datenhub importiert in der Regel einmal pro Tag Event-Daten aus direkt-angebundenen externen Datenbanken (i.d.R. Websites von Veranstaltern) und aus den verbundenen Minasa-Systemen.
Die Event-Daten sind **einmal täglich** abzurufen und für die Weiterverabeitung auf einem Server beim Datenbezüger zu speichern. Downloads werden überwacht und blockiert, falls pro Zeiteinheit mehr als eine definierte Anzahl von Zugriffen mit demselben API-Key erfolgt.