Rinnova un token API Tradovate prima della scadenza
Un token di accesso Tradovate dura solo 90 minuti. Ecco come rinnovarlo secondo una pianificazione, così la vostra sessione, e i vostri ordini automatizzati, non decadono mai realmente.
Un token di accesso Tradovate non dura per l'intera giornata di trading. È valido per 90 minuti dal momento del login e, una volta chiusa questa finestra, ogni chiamata autenticata restituisce un errore 401. Se un bot sta gestendo una posizione in quel momento, non può inviare uno stop, un target o una chiusura della posizione finché non si riautentica. Non è una situazione ideale.
La soluzione è noiosa nel migliore dei modi: rinnovare il token mentre è ancora valido, secondo una pianificazione, in modo che la sessione non scada mai realmente. Si chiama un endpoint, si sostituisce il token con quello nuovo e si prosegue. Ecco la procedura completa.
Perché rinnovare invece di limitarsi a effettuare nuovamente il login
È possibile intercettare l'errore 401 e richiamare una seconda volta l'endpoint di login (/auth/accessTokenRequest). Non fatene però la vostra prassi predefinita. Un nuovo login apre una sessione completamente nuova, e Tradovate limita quante sessioni potete mantenere contemporaneamente e con quale frequenza potete richiedere token. Se vi affidate troppo ai nuovi login, prima o poi incapperete in un rate limit o in una penalità temporale. Rinnovare mantiene attiva la stessa sessione, permettendovi di evitare entrambi i problemi. Considerate un login completo come l'uscita di emergenza, non come la routine.
| Rinnova /auth/renewAccessToken | Nuovo login /auth/accessTokenRequest | |
|---|---|---|
| Sessione | Mantiene la sessione corrente | Avvia una nuova sessione |
| Credenziali | Non necessarie, utilizza il token corrente | Nome utente e password completi |
| Quando usarlo | Ad ogni ciclo, prima della scadenza | Solo dopo che il token è completamente scaduto |
| Rischio | Minimo | Può far scattare limiti di sessione o di frequenza |
Prima di iniziare
- L'accesso API attivato per il vostro account e un token di accesso funzionante.
- L'
accessTokene l'expirationTimeottenuti dalla vostra risposta di login più recente. - Qualcosa in grado di eseguire un timer: un cron job, un
setInterval, un thread in background. Il linguaggio non ha importanza.
Rinnovare il token: passo dopo passo
Salvate l'expirationTime dalla risposta di login
Quando vi autenticate, il JSON restituito contiene più del solo token. Due campi sono importanti qui: accessToken, che inviate a ogni richiesta, ed expirationTime, un timestamp ISO che indica quando quel token scade. Salvate entrambi. L'expirationTime è il vostro conto alla rovescia, tutto il resto si basa su di esso.
Controllate l'orologio ogni paio di minuti
Non limitatevi a attendere 75 minuti sperando che vada bene. Eseguite un controllo leggero a intervalli brevi, ogni due minuti è più che sufficiente, che confronti l'ora corrente con l'expirationTime salvato. Quando il divario scende sotto circa 15 minuti, è ora di rinnovare. Controllare a intervalli significa anche che un processo messo in pausa o riavviato si rivaluta rispetto all'orologio reale invece che a un conto alla rovescia obsoleto.
Chiamate l'endpoint di rinnovo mentre il token è ancora valido
Chiamate /auth/renewAccessToken con il vostro token di accesso corrente e ancora valido nell'header Authorization: Bearer. Nessun nome utente, nessuna password, nessun nuovo login: l'endpoint si limita a estendere la sessione che avete già. L'unica regola ferrea: il token inviato deve essere ancora valido. Se provate a rinnovarlo dopo che è già scaduto, la chiamata fallisce e vi ritrovate a dover effettuare un login completo.
Sostituite il nuovo token e reimpostate l'orologio
La risposta di rinnovo vi fornisce un nuovo accessToken e un nuovo expirationTime. Sovrascrivete i valori salvati con entrambi, quindi lasciate che il vostro intervallo continui a monitorare il nuovo timestamp. Fatelo a ogni ciclo e una singola sessione potrà funzionare per un'intera giornata, o un'intera settimana, senza interruzioni. Se lo perdete, dovrete riautenticarvi sotto pressione.



POST /auth/renewAccessTokenAuthorization: Bearer <accessToken>
Se il token è già scaduto
Succede. Un processo viene messo in pausa, una macchina va in sospensione, la chiamata di rinnovo supera la scadenza. In questi casi rinnovare non vi salva: l'endpoint richiede un token ancora valido. Effettuate di nuovo un login completo per ottenere un nuovo token e avviare una sessione fresca, quindi tornate subito nel ciclo di rinnovo in modo che non si ripeta. Se continuate a vedere errori 401 e non siete sicuri se dipenda dalla scadenza o da altro, la guida alla risoluzione dell'errore 401 Unauthorized (token scaduto) analizza le cause più comuni.
Una volta che la vostra sessione resta attiva, l'elemento che effettivamente muove le posizioni è l'instradamento degli ordini: scoprite come inviare ordini tramite l'API Tradovate.
Automatizzate tutto questo con PickMyTrade
Preferite non scrivere e sorvegliare affatto un ciclo di rinnovo? PickMyTrade mantiene la sessione attiva al posto vostro, così i vostri alert di TradingView arrivano direttamente al vostro account senza che dobbiate gestire i token manualmente.
Saltate il ciclo di rinnovo del token
Preferite non scrivere e sorvegliare affatto un ciclo di rinnovo? PickMyTrade mantiene la sessione attiva al posto vostro, così i vostri alert di TradingView arrivano direttamente senza che dobbiate gestire i token manualmente.
Inizia la tua prova gratuita di 5 giorniQuesta guida ha uno scopo esclusivamente educativo e informativo e non costituisce consulenza finanziaria, di investimento o di trading. Il trading di futures e altri prodotti a leva comporta un rischio di perdita significativo e non è adatto a tutti gli investitori. PickMyTrade è una piattaforma di automazione indipendente e di terze parti, non affiliata, sostenuta o sponsorizzata da Tradovate, Inc. "Tradovate" e tutti i nomi, loghi e marchi correlati sono di proprietà dei rispettivi titolari. Le funzionalità e le procedure della piattaforma cambiano nel tempo, pertanto verificate sempre il processo attuale sulla piattaforma e nella documentazione ufficiale di Tradovate prima di agire.