Tradovate API

Tradovate addEntitlementSubscription: account live richiesto

L'account esiste chiaramente, ma addEntitlementSubscription continua a restituire "È richiesto un account live." Ecco cosa significa davvero il messaggio, e l'ordine esatto delle chiamate che lo risolve.

Verificato dal Trading Systems Team di PickMyTrade Ultimo aggiornamento
· Lettura di 6 minuti
Risposta dell'API Tradovate addEntitlementSubscription che restituisce HTTP 200 con errorText Live account is required

Avete effettuato il provisioning di un utente tramite l'API Tradovate, l'account è creato, tutto sembra pulito, ma la chiamata a addEntitlementSubscription continua a restituire Live account is required e l'entitlement dei dati di mercato non viene mai assegnato. È una delle risposte più confuse dell'intero flusso di provisioning, perché l'account esiste chiaramente e il messaggio vi indirizza nella direzione sbagliata. Ecco la versione breve: questo errore significa quasi sempre che l'utente non ha ancora firmato l'accordo sui dati di mercato non professionali. Fate firmare l'accordo, confermate che si sia sincronizzato, e la stessa chiamata andrà a buon fine. Di seguito trovate la diagnosi completa, l'ordine esatto in cui devono essere eseguite le chiamate e come un bridge come PickMyTrade elimina del tutto questa danza degli entitlement.

Checklist rapida

  • Fate firmare per prima cosa l'accordo sui dati di mercato non professionali, questo è il vero prerequisito che l'errore fuorviante nasconde.
  • Aggiungete le informazioni di contatto dell'utente, saltare questo passaggio blocca o ritarda l'assegnazione dell'entitlement.
  • Confermate che la firma si sia sincronizzata, il controllo dell'entitlement legge il record salvato, non il momento in cui l'utente ha cliccato su “accetta”.
  • Analizzate il corpo della risposta, non solo il codice di stato, la chiamata restituisce HTTP 200 con l'errore nel campo errorText.
  • Eseguite le chiamate nell'ordine corretto: creare l'utente → aggiungere le informazioni di contatto → creare l'account → confermare l'accordo → assegnare l'entitlement.
  • Verificate chi gestisce i dati sugli account prop, alcune società attivano i dati di mercato e gli entitlement a livello centrale, quindi potreste non essere voi a dover effettuare questa chiamata.

Cosa significa davvero "È richiesto un account live"

Prendete il messaggio alla lettera e perderete un intero pomeriggio. La risposta non dice che l'account manca, dice che l'account non è ancora idoneo a ricevere un entitlement di dati di mercato live. E il motivo più comune, di gran lunga, è un accordo sui dati di mercato mancante. Tradovate, come ogni broker di futures, deve avere in archivio un accordo sui dati di mercato CME firmato prima di poter fornire a un utente dati di borsa in tempo reale. Senza accordo, nessun entitlement, e l'API segnala questa lacuna con la stringa Live account is required.

Un dettaglio manda in confusione molte integrazioni: la richiesta non fallisce con un errore HTTP. Restituisce HTTP 200, e il vero problema si trova nel corpo JSON come valore errorText. Se il vostro script di provisioning controlla solo response.status === 200 e prosegue, registrerà un successo mentre l'entitlement non è mai stato assegnato in silenzio, e ve ne accorgerete solo quando l'utente aprirà un grafico con un simbolo vuoto, ritardato o senza quotazione. Leggete sempre il corpo della risposta.

Perché l'accordo è il vero ostacolo

I dati sui futures in tempo reale non arrivano senza burocrazia. Il CME Group richiede che ogni utente finale che riceve dati live venga classificato e accetti i termini sui dati di mercato della borsa, questo è l'“accordo” di cui parliamo qui. Gli utenti dichiarano se sono professionali o non professionali, e la stragrande maggioranza dei trader retail individuali rientra nella categoria non professionale. Questa dichiarazione, insieme ai termini accettati, è ciò che sblocca l'entitlement che la vostra chiamata API sta cercando di assegnare.

Finché l'utente non completa questo passaggio, l'account può tecnicamente esistere, può anche trattarsi di un account simulato o di valutazione, ma non può legalmente ricevere dati di borsa live. Quindi l'assegnazione dell'entitlement non ha nulla di valido a cui agganciarsi, e Tradovate la rifiuta. Questa è la stessa causa alla radice di un'intera famiglia di sintomi a valle: simboli che restano ritardati, grafici senza quotazioni e ordini rifiutati per “nessuna quotazione disponibile”. L'accordo è a monte di tutto questo.

Professionale o non professionale, in breve

Lo stato non professionale copre generalmente le persone che negoziano il proprio denaro per scopi personali. Lo stato professionale si applica a determinati usi aziendali, di consulenza o di ridistribuzione dei dati e comporta commissioni di borsa notevolmente più alte. È l'utente a dichiararlo, ed è responsabile di dichiararlo correttamente. Se un utente non è sicuro di quale sia il proprio stato, indirizzatelo ai criteri attuali della borsa invece di indovinare, la differenza di commissioni è reale e le regole cambiano.

La soluzione: fate firmare l'accordo, poi assegnate

Passaggio 1: fate firmare all'utente l'accordo sui dati di mercato non professionali

Questo è il passaggio che risolve l'errore. L'accordo viene presentato all'interno della piattaforma Tradovate in cui l'utente effettua l'accesso, di solito appare durante il primo login, nell'area account o accordi, oppure nel momento in cui l'utente prova ad attivare i dati di mercato. L'utente lo esamina, dichiara lo stato non professionale e accetta. Il testo esatto del menu cambia tra le versioni della piattaforma, quindi se state documentando questo passaggio per i vostri utenti, confermate l'etichetta attuale nell'app live invece di fissare un vecchio percorso.

Schermata dell'accordo sui dati di mercato non professionali di Tradovate in cui l'utente dichiara il proprio stato e accetta i termini CME

Passaggio 2: aggiungete le informazioni di contatto dell'utente

Prima che l'entitlement possa essere assegnato correttamente, l'utente deve avere le informazioni di contatto registrate. Se saltate questo passaggio durante il provisioning, all'utente verrà richiesto al primo accesso, e finché non esistono, l'assegnazione dell'entitlement può bloccarsi. Popolatele come parte del vostro flusso di configurazione così che nulla a valle debba attendere.

Passaggio 3: confermate che la firma si sia effettivamente sincronizzata

Ecco il dettaglio sottile. Il controllo dell'entitlement non legge il momento in cui l'utente ha cliccato su “accetta”, legge il record dell'account salvato e sincronizzato. Concedete alla firma un momento per propagarsi e risincronizzate lo stato dell'utente prima di riprovare. Richiamare addEntitlementSubscription nello stesso millisecondo in cui l'utente accetta è un modo affidabile per ottenere di nuovo lo stesso errore a causa di una race condition. Confermate prima che l'accordo risulti firmato nei dati sincronizzati.

Passaggio 4: chiamate addEntitlementSubscription

Con l'accordo firmato e sincronizzato e le informazioni di contatto in ordine, assegnate l'entitlement. Ora la chiamata ha un account valido e idoneo a cui agganciarsi e risponde correttamente. Ricontrollate il corpo della risposta, un successo non conterrà un errorText. Se state effettuando il provisioning in batch, contrassegnate un utente come “completato” solo dopo aver verificato il corpo, non il codice di stato.

Risposta riuscita di Tradovate addEntitlementSubscription dopo la firma dell'accordo sui dati di mercato, senza errorText

Passaggio 5: verificate che l'utente disponga ora di dati live

Chiudete il cerchio confermando che l'utente veda effettivamente quotazioni in tempo reale. Fategli aprire un simbolo del mese più vicino e verificate che sia live e non ritardato. Se l'entitlement è stato assegnato ma l'utente vede ancora dati ritardati, potrebbe essere necessario controllare anche il lato dell'abbonamento ai dati di mercato, l'entitlement e un abbonamento dati attivo sono correlati ma non identici, ed entrambi devono essere corretti per un feed live pulito.

Area dell'abbonamento ai dati di mercato di Tradovate che conferma un feed di borsa in tempo reale attivo per l'utente

L'ordine di provisioning che funziona

Quasi tutti i ticket “Live account is required” derivano dall'aver eseguito queste chiamate nell'ordine sbagliato o dall'averne saltata una. Mantenete la sequenza intatta:

Passaggio Cosa fate Perché è importante
1. Creare l'utenteEffettuare il provisioning del record utenteNulla può agganciarsi senza un utente a cui agganciarsi
2. Aggiungere le informazioni di contattoCompilare i dati di contatto dell'utenteLe informazioni di contatto mancanti bloccano l'assegnazione dell'entitlement
3. Creare l'accountCreare l'account di trading/valutazioneL'entitlement viene assegnato a un account reale
4. Confermare l'accordo sui datiL'utente firma; voi verificate che si sia sincronizzatoIl vero prerequisito dietro il messaggio di errore
5. Assegnare l'entitlementChiamare addEntitlementSubscriptionOra ha successo perché l'account è idoneo

Tabella di risoluzione dei problemi

Sintomo Significato Soluzione
200 con errorText: Live account is requiredL'accordo sui dati di mercato non è ancora firmatoFate firmare all'utente l'accordo non professionale, quindi riprovate
La chiamata “riesce” ma i dati restano ritardatiIl vostro codice controllava lo stato, non il corpoAnalizzate il corpo della risposta alla ricerca di errorText prima di considerarlo completato
Fallisce immediatamente dopo l'accettazione dell'utenteLa firma non si è ancora sincronizzataRisincronizzate lo stato dell'utente, quindi chiamate l'endpoint
Fallisce anche con l'accordo firmatoInformazioni di contatto mancanti o account sbagliatoAggiungete le informazioni di contatto; verificate di usare l'account corretto
L'entitlement viene assegnato ma le quotazioni restano ritardateNessun abbonamento ai dati di mercato attivoConfermate che sia attivo un abbonamento di borsa in tempo reale per l'utente
L'account prop/di valutazione non accetta l'entitlementLa società controlla i dati a livello centraleControllate le regole della prop firm; potrebbero attivare i dati per voi

Una nota su account prop e di valutazione

Gli account di valutazione e simulati veicolano comunque dati di borsa live, quindi il requisito dell'accordo non scompare solo perché non c'è denaro reale in gioco. Ciò che cambia è la titolarità. Molte prop firm gestiscono i dati di mercato e gli entitlement a livello centrale come parte dell'account che vi emettono, in questi casi non dovreste chiamare affatto addEntitlementSubscription, e farlo può entrare in conflitto con il modo in cui la società effettua il provisioning dei dati. Le regole variano in base alla società e al tipo di account, quindi confermate il processo attuale della vostra società prima di effettuare voi stessi il provisioning degli entitlement. Quando è la società a possedere la pipeline dei dati, la soluzione per i dati live mancanti è una richiesta di supporto a loro, non una chiamata API da parte vostra.

Evitate la lotta con gli entitlement grazie a PickMyTrade

Se il vostro obiettivo è semplicemente fare trading con i vostri segnali TradingView su un account Tradovate live, e non gestire una pipeline di provisioning, PickMyTrade si occupa dell'idraulica lato broker così non dovrete mai toccare le chiamate di entitlement:

  • Connessione gestita, lo stato dell'accordo sui dati e dell'entitlement del vostro account viene rispettato prima ancora che venga inviato un ordine, quindi non dovrete eseguire il debug di un errorText in una risposta API grezza.
  • Instradamento da alert a ordine, gli alert di TradingView arrivano direttamente al vostro account Tradovate senza che dobbiate scrivere o sequenziare chiamate API.
  • Consapevolezza di entitlement e rischio, gli ordini rispettano lo stato dei dati del vostro account e i limiti della prop firm invece di rimbalzare per un prerequisito mancante.
  • Sincronizzazione multi-account, replicate un segnale su più account senza dover risolvere di nuovo il provisioning per ciascuno.

Evitate la lotta con gli entitlement

Collegate i vostri alert e fate trading live su Tradovate senza scrivere o sequenziare una sola chiamata API di entitlement.

Avviate la vostra prova gratuita di 5 giorni

Domande frequenti

La formulazione è fuorviante. In pratica la chiamata fallisce perché l'utente non ha ancora firmato l'accordo sui dati di mercato non professionali. Finché tale accordo non è in archivio, Tradovate considera l'account non idoneo a ricevere l'entitlement dei dati di mercato, e l'endpoint restituisce quel messaggio. Fate firmare l'accordo, confermate che si sia sincronizzato, quindi riprovate la chiamata.

Viene presentato all'interno della piattaforma Tradovate in cui l'utente effettua l'accesso, di solito nell'area account o accordi, e appare anche durante il primo login o quando l'utente prova ad abbonarsi ai dati di mercato. L'utente dichiara lo stato non professionale e accetta i termini sui dati di mercato CME. Le etichette esatte del menu cambiano tra le versioni della piattaforma, quindi confermate il percorso attuale nell'app live.

Tradovate restituisce HTTP 200 e colloca il problema nel corpo della risposta come campo errorText con il valore 'Live account is required'. Se il vostro codice controlla solo il codice di stato HTTP, sembrerà un successo mentre l'entitlement non è mai stato assegnato. Analizzate sempre il corpo alla ricerca di errorText, non solo lo stato.

Create l'utente, aggiungete le sue informazioni di contatto, create l'account, confermate che l'accordo sui dati di mercato sia firmato, e solo allora chiamate addEntitlementSubscription. Saltare il passaggio del contatto o dell'accordo è il motivo abituale per cui la chiamata dell'entitlement rimbalza.

La maggior parte dei trader retail individuali si qualifica come non professionale, che è lo stato previsto da questo flusso. La classificazione professionale si applica a determinati usi aziendali, di consulenza o di ridistribuzione e comporta commissioni di borsa più alte. L'utente è responsabile di dichiarare correttamente; in caso di dubbio, dovrebbe controllare i criteri attuali della borsa.

Sì. Anche gli account di valutazione e simulati veicolano dati di borsa live, quindi l'accordo sui dati di mercato deve comunque essere firmato prima che l'entitlement venga assegnato. Ciò che varia è chi è autorizzato ad attivarlo, alcune prop firm gestiscono i dati e gli entitlement a livello centrale, quindi controllate le regole della società prima di effettuare voi stessi il provisioning.

Concedete alla firma un momento per propagarsi e risincronizzate lo stato dell'utente prima di riprovare, poiché il controllo dell'entitlement legge il record sincronizzato, non il clic. Confermate anche di aver aggiunto le informazioni di contatto dell'utente e di puntare all'account corretto. Se continua a fallire dopo una sincronizzazione pulita, l'account potrebbe non essere ancora completamente attivato.

Questa guida ha scopo esclusivamente educativo e informativo e non costituisce consulenza finanziaria, di investimento o di trading. Il trading di futures e altri prodotti con leva comporta un rischio sostanziale di perdita e non è adatto a tutti gli investitori. PickMyTrade è una piattaforma di automazione indipendente di terze parti e non è affiliata, approvata o sponsorizzata da Tradovate, Inc. “Tradovate” e tutti i nomi, i loghi e i marchi correlati sono di proprietà dei rispettivi titolari. Le funzionalità e i passaggi della piattaforma cambiano nel tempo, quindi confermate sempre il processo attuale nella piattaforma e nella documentazione ufficiali di Tradovate prima di agire.