Einleitung
Diese Dokument ist noch im Beta-Stadium bis die API veröffentlich wird ca. Mitte November.
Zur Kommunikation zwischen Auswerter-Software und ol-events.ch halten wir uns an den von der iof definierten Standard in der Version 3.0 gemäss der XSD-Datei. https://github.com/international-orienteering-federation/datastandard-v3
Dieses Dokument dient dazu den Auth-Prozess, Erklärungen unserer Definitione der Inhalte aus bestimmten Feldern und die ol-events.ch resp. schweizerischen Erweiterungen des Standards festzuhalten.
Auth
Der Event-Administrator kann im Backend von ol-events.ch das Token einsehen. Mit einem Token hat man jeweils die vollständigen Rechte für ein Rennen. Die Authentifizierung folgt anschliessend über ein Bearer Token im Header beim Request.
$headers = [
...,
'Authorization' => 'Bearer {token}',
....
]
Routes & Endpoints
Die Race-ID ist wie auch das Token dem Event-Administrator-Backend zu entnehmen.
GET https://portal.ol-events.ch/api/iof/v1/races/<raceId>/classlist
GET https://portal.ol-events.ch/api/iof/v1/races/<raceId>/entrylist
GET https://portal.ol-events.ch/api/iof/v1/races/<raceId>/startlist
ClassList
Dieses Beispiel stellt die maximale Ausprägung der Daten dar, welche ol-events.ch gemäss dem Datenstandard liefern kann.
GET https://portal.ol-events.ch/api/iof/v1/races/<raceId>/classlist
<?xml version="1.0" encoding="UTF-8"?>
<ClassList
xmlns="http://www.orienteering.org/datastandard/3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
iofVersion="3.0"
createTime="2021-11-04T16:18:58+01:00"
creator="ol-events.ch">
<Class numberOfCompetitors="8"sex="B" maxAge="16" minAge="8">
<Id type="ol-events.ch">1</Id>
<Name>Beginners (offen)</Name>
<ShortName>Offen</ShortName>
<RaceClass>
<PunchingSystem>SI</PunchingSystem>
</RaceClass>
<Extensions>
<SolvClassId>104</SolvClassId> //Kategorie aus SOLV Läuferdatenbank
</Extensions>
</Class>
</ClassList>
Ergänzungen
- Die API nutzt als Id im Class-Element die ID von ol-events.ch. Die - sofern bekannt und vorhanden - Id von swiss orienteering ist unter Extensions -> SolvClassId definiert
EntryList
<?xml version="1.0" encoding="UTF-8"?>
<EntryList>
<Event modifyTime="2021-11-09 08:25:06+01:00">
<Id type="ol-events.ch">28</Id>
<Name>EGK-Sprint-Cup 2. Lauf</Name>
<Offical type="ResponsiblePerson">
<Person>
<Name>
<Family>Mustermann</Family>
<Given>Hans</Given>
</Name>
</Person>
</Official>
<StartTime>
<Date>2021-04-21 00:00:00+02:00</Date>
</StartTime>
<EventForm>Individual</EventForm>
<Organisation>
<Id type="ol-events.ch">21</Id>
<Name>OLG Musterhausen</Name>
<Country code="SUI">Schweiz</Country>
<Extensions>
<SolvCLubId xlmns="ex">7</SolvClubId>
</Extensions>
Ergänzungen
- Im Element Official liefern wir im folgendes Types, sofern vorhanden: ResponsiblePerson, CourseSetter, ...
- Als Eventform liefern wir eine Auswahl von Indiviual, Team und Relay.
- Im Element Organisation liefern wir unter Extensions die ID von swiss orienteering aus dem Archiv der Clubs.
Kommentare
0 Kommentare
Zu diesem Beitrag können keine Kommentare hinterlassen werden.