Menu Zavřeno

Popis rozhraní RESTAPI pro nahrávání výsledků

Pokud se v definici závodu nastaví možnost odesílat výsledky pomocí tohoto rozhraní, předpokládá se, že na uvedené adrese je implementována služba, která dokáže přijmou POST request, který jako tělo requestu obsahuje JSON data, která obsahují kompletní informace s výsledky tohoto závodu.
V JSON obsahu jsou hlavní klíče:

{„data“:[…], „race“:{…}, „structure“:[…]}

  • data – hodnotou k tomuto klíči je pole obsahující data výsledků jednotlivých závodníků. Názvy klíčů ve výsledcích jednoho závodníka jsou záměrně zkrácené a jejich význam lze dohledat v hodnotě ke klíči „structure“.
  • race – hodnotou tohoto klíče je objekt obsahující téměř všechny informace o závodě, kterého se výsledky týkají.
  • structure – hodnotou k tomuto klíči je pole obsahující informace o jednotlivých „sloupcích“ ve výsledcích. Je zde vidět lidský nadpis daného sloupce (caption), jeho jméno (name), které je použito v sekci „data“ a datový typ (type). V případě, že se jedná o sloupec, který vznikne z údajů plynoucích z jednotlivých úsecích závodu jsou ještě k dispozici položky „segment“ a „flag“. Položka „segment“ obsahuje index úseku, kterého se to týká a položka „flag“ obsahuje informaci o typu výsledku – tedy nastaveného příznaku.

Významy položky „type“ v datech „structure“:

  • i – celočíselné číslo – integer
  • n – číslo s plovoucí desetinnou tečkou
  • n1 – číslo s jedním desetinným místem
  • n2 – číslo se dvěma desetinnými místy
  • s – textový řetězec – string
  • e:* – výčtový typ – za dvojtečkou následuje název výčtového typu
  • d – datum – v ISO formátu
  • t – čas – v ISO formátu
  • m nebo mg – trvání vyjádřené jako text
  • b – bool hodnota
  • j – data jednotlivých cyklů
  • sr – tempo – mm:ss vyjádřené jako řetězec

Významy položky „flag“ v datech „structure“:

  • show_loops – Cykly – počet cyklů
  • show_duration – Trvání
  • show_duration2 – Trvání s indexem
  • show_time – Čas
  • show_time2 – Čas s indexem
  • show_tempo – Tempo
  • show_tempo2 – Tempo s indexem
  • show_speed – Rychlost
  • show_speed2 – Rychlost s indexem
  • show_length_m – Délka (m)
  • show_length_km – Délka (km)
  • show_chip – Čip
  • show_best_loop – Nejlepší cykl
  • show_avg_loop – Průměrný cykl
  • show_last_loop – Poslední cykl

Kromě dat je do hlavičky requestu doplněna položka Authorization a její obsah se nastaví na "Bearer "+{API_TOKEN}. V implementaci API se doporučuje kontrolovat položku Authorization a v případě neexistence, nebo v případě odlišné hodnoty od požadované vracet odpověď 401 – Unauthorized response status code.
V případě oprávněného přístupu se očekává odpověď se statusem 200.