Um Daten aus dem Baseball-Softball-Manager (BSM) auf Webseiten (z.B. Homepages von Vereinen oder Verbänden) einbinden zu können, wird eine sogenannte API-Schnittstelle zur Verfügung gestellt.filter Für den Zugriff über diese Schnittstelle werden i.d.R. entsprechende Rechte für BSM benötigt.
Der Abruf erfolgt über einen API-Key, der unter jeder Person (entsprechende PERSON aufrufen) mit zugewiesenem Benutzerkonto unter Menü BENUTZER - API-KEY generiert werden kann. Aufrufe über die Schnittstelle mit diesem Key haben die gleichen Rechte wie der zugehörige Benutzer. (Hinweis: Ein API-Key kann nur von einem Benutzer generiert werden, der auch Rechte in der Benutzverwaltung besitzt!)
Um einzelne Inhalte auf- bzw. abrufen zu können, muss man den Pfad einer Übersichtsseite (Tabelle) nehmen und mit der Endung .json versehen. Im Anschluss daran folgt der API-Key mit der Syntax: ?api_key=2wSX7mOKyPknSn1M74KuW1, so dass eine komplette Anfrage am Ende in etwa so aussieht: https://bsm.swiss-baseball.ch/organizations/6.json?api_key=2wSX7mOKyPknSn1M74KuW1
Es gibt zudem 2 ‘freie’ API-Aufrufe, die den Datenabruf ohne API-Key ermöglichen - ‘matches.json’ und ‘table.json’ in Verbindung mit dem Parameter ‘compact=true’: https://bsm.swiss-baseball.ch/matches.json?compact=true
Mögliche API-Aufrufe sind z.B. (bitte beachten, dass die Daten i.d.R. unstrukturiert sind und für eine Anzeige auf einer Homepage optimiert werden müssen!):
FÜR EINEN VERBAND: (Hinweis: Die Zahl 6 in den Links entspricht der ID des Landesverbands (hier BBSV) im BSM und muss dementsprechend angepasst werden!)
-
Allgemeine Daten –> https://bsm.swiss-baseball.ch/organizations/6.json
-
Funktionäre –> https://bsm.swiss-baseball.ch/organizations/6/organization_functions.json
- Verein - Liste –> https://bsm.swiss-baseball.ch/organizations/6/clubs.json
-
Verein - einzeln –> https://bsm.swiss-baseball.ch/clubs/549.json
- Spielklasse - Liste –> https://bsm.swiss-baseball.ch/organizations/6/leagues.json
- Spielklasse - einzeln –> https://bsm.swiss-baseball.ch/leagues/1546.json
- Mannschaften - Liste –> https://bsm.swiss-baseball.ch/organizations/6/teams.json
- Mannschaften einer Spielklasse oder Liga/Gruppe –> https://bsm.swiss-baseball.ch/leagues/1546/league_entries.json
- Lehrgänge - Liste –> https://bsm.swiss-baseball.ch/organizations/6/courses.json
- Lehrgang - einzeln –> https://bsm.swiss-baseball.ch/courses/65.json
- Lehrgang - Teilnehmer –> https://bsm.swiss-baseball.ch/courses/65/course_participations.json
- Ligen/Gruppen –> https://bsm.swiss-baseball.ch/organizations/6/league_groups
- Ligen/Gruppen einer Spielklasse –> https://bsm.swiss-baseball.ch/leagues/1451/leagues.json
- Spielpläne –> https://bsm.swiss-baseball.ch/organizations/6/matches.json
- Spiele einer Liga/Gruppe –> https://bsm.swiss-baseball.ch/leagues/1543/matches.json oder https://bsm.swiss-baseball.ch/leagues/1blhs/matches.json
- Strafen - Liste –> https://bsm.swiss-baseball.ch/organizations/6/match_penalties.json
- Strafen einer Liga/Gruppe –> https://bsm.swiss-baseball.ch/leagues/1564/match_penalties.json
-
Tabelle einer Liga/Gruppe –> https://bsm.swiss-baseball.ch/leagues/1564/table.json oder https://bsm.swiss-baseball.ch/leagues/1blhs/table.json
- Lizenzen –> https://bsm.swiss-baseball.ch/organizations/6/licenses.json
- Lizenzen übergreifend (inkl. DBV) –> https://bsm.swiss-baseball.ch/licenses.json
- Spielfelder - Liste –> https://bsm.swiss-baseball.ch/fields.json
FÜR EINEN VEREIN (Hinweis: Die Zahl 15 in den Links entspricht der ID des Vereins im BSM und muss dementsprechend angepasst werden!)
-
Allgemeine Daten –> https://bsm.swiss-baseball.ch/clubs/15.json oder https://bsm.swiss-baseball.ch/clubs/ros.json
-
Funktionäre –> https://bsm.swiss-baseball.ch/clubs/15/club_functions.json
-
Mannschaften –> https://bsm.swiss-baseball.ch/clubs/15/team_clubs.json
-
Spielpläne –> https://bsm.swiss-baseball.ch/clubs/15/matches.json
-
Strafen –> https://bsm.swiss-baseball.ch/clubs/15/match_penalties.json
-
Lizenzen –> https://bsm.swiss-baseball.ch/clubs/15/licenses.json
-
Spielfelder –> https://bsm.swiss-baseball.ch/clubs/15/fields.json
Ergänzend zu den normalen Aufrufen können zusätzlich auch die Filter aus den Tabellen genutzt werden (sind i.d.R. über Adresszeile des Browsers einsehbar!):
-
https://bsm.swiss-baseball.ch/organizations/6/clubs.json?filters[retired]=true –> liefert die ehemaligen Vereine eines Verbandes
-
https://bsm.swiss-baseball.ch/organizations/6/league_groups.json?filters[seasons][]=2015 –> liefert die Ligen/Gruppen aus 2015 eines Verbandes
-
https://bsm.swiss-baseball.ch/matches.json?filters[seasons][]=2016&filters[gamedays][]=any –> liefert alle Spiele aus 2016 eines Verbandes bzw. eines Vereins
-
https://bsm.swiss-baseball.ch/organizations/6/matches.json?sort[league_sort]=asc&sort[time]=asc –> liefert alle Spiele eines Verbandes sortiert nach Liga (Sortierfeld) und Datum
Für die Allgemeinheit steht zur freien Verfügung ein vorgefertigter php-Code oder/und ein Plugin für Wordpress zum Download bereit. Der reine php-Code befindet sich ebenfalls in der zip-Datei, im Unterordner ‘bsm’. Die Dokumentation dazu findet ihr hier.
Anfragen hierzu sind ebenfalls über den BSM-Support per Mail an bsm@baseball-softball.de zu stellen.