Never Alone, Always Safe
Sviluppatori

API di integrazione

Vuoi integrare la tua app o il tuo dispositivo con la nostra piattaforma? Controllo di waypoint, STOPS, SPEED, regolarità e API di integrazione.

A. Uso dei WP negli eventi

Come controllare gli STOP, la velocità nelle zone a velocità controllata, il passaggio dai WP di controllo, i WP per gli eventi di regolarità e i WP vari.

1. Controllo delle soste agli STOP

Per controllare che i piloti facciano STOP di almeno 1 secondo nei punti voluti basta inserire nel GPX allegato per la verifica della gara dei WP con la seguente struttura.

STOPX

Il nome del WP deve essere STOP in maiuscolo seguito dal numero dello STOP.

Esempio:

STOP1 , STOP56 , etc.

2. Controllo della velocità massima in zone specifiche

Si può controllare che il pilota non superi la velocità in zone specifiche: appena la supera, anche una sola volta, in un tratto, quel tratto si considera penalizzato e il sistema indica quante zone di controllo della velocità sono state validate o penalizzate. Se ad esempio ci sono 6 zone a velocità controllata e il pilota la supera in due, segnerà come corrette 4 zone su 6.

Per controllare che i piloti non superino la velocità in zone specifiche bisogna inserire nel GPX allegato per la verifica della gara dei WP con la seguente struttura.

SPEED_XXX_T_NN
  • XXX = Velocità. Valore numerico, cifre da 0 a 9; se sono due cifre, aggiungere uno 0 davanti.
  • T = Tipo inizio o fine tratto. Opzioni (I = inizio, F = fine)
  • N = Numero del WP. Valore numerico, cifre da 0 a 9; se è una sola cifra, aggiungere uno 0 davanti.

Esempio:

SPEED_090_I_01  ( Inizio di un tratto a velocità controllata a 90 )
SPEED_090_F_01  ( Fine di un tratto a velocità controllata a 90 )

3. Controllo del passaggio dai WP

Si può controllare che il pilota passi dai WP voluti: il sistema indica da quali WP è passato e li convalida. Se ad esempio il GPX ha 256 WP e il pilota ha registrato il passaggio solo da 232, il sistema segnerà come validi 232 su 256.

Per farlo basta inserire nel GPX allegato per la verifica della gara dei WP con la seguente struttura.

CPXX

Il nome del WP deve iniziare con CP in maiuscolo seguito dal numero del WP.

Esempio:

CP1 , CP34 ,etc

4. Controllo del passaggio dai WP degli eventi di regolarità

Si può controllare che il pilota passi dai WP voluti all'ora voluta: il sistema indica da quali WP è passato entro il margine stabilito e penalizza la differenza di tempo.

Il sistema consente un intervallo di tempo in cui il pilota non viene penalizzato, una penalità per ogni secondo di ritardo o anticipo e una penalità per il mancato passaggio dal WP

Immaginiamo un WP con orario di passaggio 1 h 45 min 21 s dopo la partenza del pilota e un margine di tolleranza di 20 s.

Se il pilota passa 1 h 45 min 15 s dopo la partenza, il sistema lo penalizza con 0 punti.

Per farlo basta inserire nel GPX allegato per la verifica della gara dei WP con la seguente struttura.

CPRXXXXX

Il nome del WP deve iniziare con CPR in maiuscolo seguito dai secondi dopo la partenza in cui il pilota deve passare dal WP.

  • XXXXX = secondi. Valore numerico, cifre da 0 a 9; se non si arriva a cinque cifre, aggiungere degli 0 davanti.

Esempio:

CPR00034  = WP di controllo di regolarità, il pilota deve passarvi 34 secondi dopo la partenza
CPR02421 = WP di controllo di regolarità, il pilota deve passarvi  2421  secondi dopo la partenza

5. WP vari

Si inseriscono WP informativi sulla mappa del sito di tracciamento. Per farlo basta inserire nel GPX allegato per la verifica della gara dei WP con la seguente struttura.

Qualsiasi nome di WP che non inizi con i WP indicati sopra, cioè che non inizi con SPEED, STOP, CP o CPR.


B. API di integrazione: inviare dati a TeamTrack

Schema: app e dispositivi inviano dati via HTTP GET all'API TT della piattaforma web TeamTrack

Vuoi integrare la tua app o il tuo dispositivo con la nostra piattaforma?

Chiedici la documentazione e ti spieghiamo come farlo facilmente.

Potrai inviare alla nostra piattaforma i dati della tua app o del tuo dispositivo per posizionarli sulle nostre mappe, usando tutte le nostre funzioni e gratuitamente.

Si effettua tramite una richiesta HTTP GET con la seguente struttura:

https://www.teamtrackonline.com/gestion/inputs/input.php?lat=latitud&lon=longitud&speed=velocidad&datetime=datetime&altitude=altitud&battery=bateria&usuario_tt=id_usuario_tt&key_api=key

Esempi di valori:

latitud : 22.54596 (obbligatorio)
longitud : 113.94389 (obbligatorio)
velocidad : 23.56
datetime : 2018/12/04Z08:39:03 (obbligatorio)
altitud:  128
bateria:  95
id_usuario_tt : 1285 (obbligatorio)
key_api : TU_KEY_API (obbligatorio)

Inviando la posizione dalla tua app o dal tuo dispositivo alla nostra piattaforma potrai usare come sempre i siti di tracciamento di TeamTrack, oltre allo storico dei movimenti, vedere la posizione inviata dall'app TeamTrack su iOS e Android, ecc.

Formato delle richieste:

CampoTipoCommento
latitudDouble. Con il punto come separatore decimaleLatitudine della posizione. Esempio: 22.54876. Ammette valori negativi, es. -3.345. Campo obbligatorio.
longitudDouble. Con il punto come separatore decimaleLongitudine della posizione. Esempio: 113.54876. Ammette valori negativi, es. -42.845. Campo obbligatorio.
velocidadDouble. Con il punto come separatore decimaleVelocità attuale dell'utente in km/h. Esempio: 23.56. Se non si usa, inviare 0.
datetimeDatetime. AAAA/MM/GGZHH:MM_SSUsare Z come separatore tra data e ora. Esempio: 2018/12/04Z08:39:03. Campo obbligatorio.
altitudDouble. Con il punto come separatore decimaleAltitudine dell'utente in metri. Esempio: 128.32. Se non si usa, inviare 0.
bateriaDouble. Con il punto come separatore decimaleLivello di batteria del dispositivo. Esempio: 95. Se non si usa, inviare 0.
id_usuario_ttInteger.Numero ID utente TeamTrack. Esempio: 1464. Campo obbligatorio.
puntos_noDouble. Con il punto come separatore decimalePunti Naviopen. Esempio: 251.12. Ammette valori negativi. Se non si usa, inviare 0.
key_apivarchar, 30 caratteriChiave API fornita da TeamTrack che identifica l'applicazione che invia i dati. Campo obbligatorio.

Risposte:

  • OK – Informazioni ricevute
  • Errore – Errore nelle informazioni inviate. Controllare i dati inviati.

C. API di integrazione: ottenere i dati da TeamTrack

Vuoi estrarre i dati dalla nostra piattaforma per gestirli o mostrarli?

Chiedici la documentazione e ti spieghiamo come farlo facilmente.

Esistono diverse richieste:

1. Consultazione dei dati dei partecipanti iscritti a un evento

Si effettua tramite una richiesta HTTP GET con la seguente struttura:

https://www.teamtrackonline.com/dka/existe.php?action=participants&race_id=race_id&api_key=key_api

Esempi di valori:

race_id : 365 (obbligatorio) – ID dell'evento
key_api :  TU_KEY_API  (obbligatorio)

Esempio di richiesta:

https://www.teamtrackonline.com/dka/existe.php?action=participants&race_id=365&api_key=TU_KEY_API

Effettuando la richiesta il sistema risponde con le informazioni dei partecipanti all'evento con i seguenti dati:

[
{"nombre_usuario":"Piloto 1 ","num_dorsal":"1","ultima_actualizacion":"2021-03-17 09:14:46","lat":"37.425678","lon":"-2.972899","vel":"43.1","alt":"1206.6","bateria":"63 %"},
{"nombre_usuario":"Piloto 2 ","num_dorsal":"2","ultima_actualizacion":"2021-03-17 09:14:36","lat":"37.423009","lon":"-2.970436","vel":"55.4","alt":"1226.5","bateria":"58 %"},
{"nombre_usuario":"Piloto 3 ","num_dorsal":"3","ultima_actualizacion":"2021-03-17 09:14:47","lat":"37.422543","lon":"-2.980097","vel":"28.7","alt":"1182.5","bateria":"96 %"},
{"nombre_usuario":"Piloto 4 ","num_dorsal":"4","ultima_actualizacion":"2021-03-17 09:14:26","lat":"37.434076","lon":"-2.999814","vel":"82.3","alt":"1115.1","bateria":"55 %"},
{"nombre_usuario":"Piloto 5 ","num_dorsal":"5","ultima_actualizacion":"2021-03-17 09:14:45","lat":"37.425076","lon":"-2.994982","vel":"39.1","alt":"1113.0","bateria":"62 %"},
{"nombre_usuario":"Piloto 5 ","num_dorsal":"R","ultima_actualizacion":"2021-03-17 09:14:47","lat":"37.485225","lon":"-3.032848","vel":"27.0","alt":"1000.5","bateria":"100 %"}
]

2. Consultazione del percorso di un partecipante in un intervallo di tempo

Si effettua tramite una richiesta HTTP GET con la seguente struttura:

https://www.teamtrackonline.com/dka/existe.php?action=participant_route&race_id=race_id&num_dorsal=num_dorsal&date_time_ini=date_time_ini&date_time_fin=date_time_fin&api_key=key_api

Esempi di valori:

race_id : 365 (obbligatorio) ID dell'evento
num_dorsal : 1 (obbligatorio) Numero di gara del pilota
date_time_ini : 2020/12/04Z08:30:00 (obbligatorio) Data e ora da cui si mostrano i dati del pilota
date_time_fin : 2020/12/04Z19:30:00 (obbligatorio) Data e ora fino a cui si mostrano i dati del pilota
backup_gps : 1 o 0 (facoltativo) 1 invia i dati del localizzatore di riserva, 0 quelli del principale; per impostazione predefinita quelli del principale
key_api : TU_KEY_API (obbligatorio)

Esempio di richiesta:

https://www.teamtrackonline.com/dka/existe.php?action=participant_route&race_id=365&num_dorsal=3&date_time_ini=2021-03-17Z08:04:00&date_time_fin=2021-03-17Z08:04:55&api_key=TU_KEY_API

Effettuando la richiesta il sistema risponde con le informazioni dei partecipanti all'evento con i seguenti dati:

[
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.2","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:01"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:03"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:05"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:07"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:09"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:11"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:13"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:15"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:17"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:19"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:21"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:23"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:25"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:27"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:29"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:31"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:33"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:35"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:37"},
{"usuario":"3901","lat":"37.294017","lon":"-3.167673","alt":"985.0","vel":"0.0","bearing":"27","GNSS_AC":"1","fecha":"2021-03-17 08:04:39"},
{"usuario":"3901","lat":"37.294038","lon":"-3.167659","alt":"985.2","vel":"8.7","bearing":"18","GNSS_AC":"1","fecha":"2021-03-17 08:04:41"},
{"usuario":"3901","lat":"37.294060","lon":"-3.167653","alt":"985.0","vel":"3.4","bearing":"10","GNSS_AC":"1","fecha":"2021-03-17 08:04:43"},
{"usuario":"3901","lat":"37.294066","lon":"-3.167652","alt":"984.6","vel":"0.5","bearing":"10","GNSS_AC":"1","fecha":"2021-03-17 08:04:45"},
{"usuario":"3901","lat":"37.294066","lon":"-3.167652","alt":"984.7","vel":"0.0","bearing":"10","GNSS_AC":"1","fecha":"2021-03-17 08:04:47"},
{"usuario":"3901","lat":"37.294066","lon":"-3.167652","alt":"984.7","vel":"0.0","bearing":"10","GNSS_AC":"1","fecha":"2021-03-17 08:04:49"},
{"usuario":"3901","lat":"37.294066","lon":"-3.167652","alt":"984.7","vel":"0.0","bearing":"10","GNSS_AC":"1","fecha":"2021-03-17 08:04:53"},
{"usuario":"3901","lat":"37.294066","lon":"-3.167652","alt":"984.7","vel":"0.0","bearing":"10","GNSS_AC":"1","fecha":"2021-03-17 08:04:55"}
]

Hai dubbi? Contattaci