Tradovate API

Renovar un token de API de Tradovate antes de su vencimiento

Un token de acceso de Tradovate solo dura 90 minutos. A continuación se explica cómo renovarlo de forma programada para que su sesión, y sus órdenes automatizadas, nunca lleguen a caducar.

Revisado por el equipo de Sistemas de Trading de PickMyTrade Última actualización
· Lectura de 5 minutos
Respuesta JSON del token de acceso de Tradovate que muestra los campos accessToken y expirationTime

Un token de acceso de Tradovate no dura toda su jornada de trading. Es válido durante 90 minutos desde el momento en que inicia sesión y, en cuanto esa ventana se cierra, toda llamada autenticada devuelve un error 401. Si un bot está manteniendo una posición cuando eso ocurre, no puede enviar un stop, un objetivo ni un cierre de posición hasta que se reautentique. No es una situación cómoda.

La solución es aburrida de la mejor manera posible: renueve el token mientras siga vigente, de forma programada, para que la sesión nunca llegue a caducar realmente. Llama a un endpoint, sustituye el token por el nuevo y continúa. Aquí tiene la rutina completa.

Por Qué Renovar en Lugar de Simplemente Iniciar Sesión de Nuevo

Podría capturar el error 401 y llamar al endpoint de inicio de sesión (/auth/accessTokenRequest) por segunda vez. No convierta eso en su práctica habitual. Un nuevo inicio de sesión abre una sesión completamente distinta, y Tradovate limita cuántas sesiones puede mantener a la vez y con qué frecuencia puede solicitar tokens. Si depende demasiado de nuevos inicios de sesión, terminará provocando un límite de frecuencia o una penalización temporal. Renovar mantiene activa la misma sesión, de modo que evita ambos problemas. Trate un reinicio de sesión completo como la salida de emergencia, no como la rutina.

Renovar /auth/renewAccessToken Nuevo inicio de sesión /auth/accessTokenRequest
SesiónMantiene su sesión actualInicia una nueva sesión
CredencialesNo se necesitan, usa su token actualNombre de usuario y contraseña completos
Cuándo usarloEn cada ciclo, antes del vencimientoSolo después de que el token haya caducado por completo
RiesgoMínimoPuede activar límites de sesión o de frecuencia

Antes de Empezar

  • El acceso a la API activado para su cuenta y un token de acceso funcional.
  • El accessToken y el expirationTime de su respuesta de inicio de sesión más reciente.
  • Cualquier mecanismo capaz de ejecutar un temporizador: una tarea cron, un setInterval, un hilo en segundo plano. El lenguaje no importa.

Renovar el Token: Paso a Paso

1

Guarde el expirationTime de Su Respuesta de Inicio de Sesión

Cuando se autentica, el JSON que recibe contiene más que el token. Aquí importan dos campos: accessToken, que envía en cada solicitud, y expirationTime, una marca de tiempo ISO que indica cuándo caduca ese token. Guarde ambos. El expirationTime es su reloj de cuenta regresiva, todo lo demás depende de él.

2

Revise el Reloj Cada Par de Minutos

No se limite a esperar 75 minutos fijos y confiar en que todo salga bien. Ejecute una comprobación ligera en un intervalo corto, cada dos minutos es más que suficiente, que compare la hora actual con su expirationTime almacenado. Cuando la diferencia caiga por debajo de unos 15 minutos, es momento de renovar. Comprobarlo a intervalos también significa que un proceso pausado o reiniciado se reevalúa frente al reloj real en lugar de frente a una cuenta regresiva desactualizada.

3

Llame al Endpoint de Renovación Mientras el Token Siga Siendo Válido

Llame a /auth/renewAccessToken con su token de acceso actual, todavía válido, en el encabezado Authorization: Bearer. Sin nombre de usuario, sin contraseña, sin volver a iniciar sesión, el endpoint simplemente extiende la sesión que ya tiene. La única regla estricta: el token que envía debe seguir siendo válido. Si intenta renovarlo después de que ya haya caducado, la llamada falla y termina de nuevo en un inicio de sesión completo.

4

Sustituya el Token Nuevo y Reinicie Su Reloj

La respuesta de renovación le entrega un accessToken nuevo y un expirationTime nuevo. Sobrescriba sus valores almacenados con ambos y deje que su intervalo siga vigilando la nueva marca de tiempo. Haga esto en cada ciclo y una sola sesión podrá funcionar todo el día, o toda la semana, sin interrupciones. Si se le pasa, tendrá que reautenticarse bajo presión.

Fragmento de código que ejecuta un intervalo comparando la hora actual con el expirationTime del tokenSolicitud a la API al endpoint renewAccessToken con un token Bearer y su respuesta exitosaValores de token almacenados actualizados que muestran el nuevo accessToken y el expirationTime renovado tras la renovación

POST /auth/renewAccessToken
Authorization: Bearer <accessToken>

Si el Token Ya Caducó

Sucede. Un proceso se pausa, una máquina entra en suspensión, la llamada de renovación se pasa del plazo. Cuando eso ocurre, renovar no lo salvará, el endpoint necesita un token que todavía esté vigente. Realice un inicio de sesión completo de nuevo para obtener un token nuevo e iniciar una sesión fresca, y luego vuelva de inmediato al ciclo de renovación para que no se repita. Si sigue viendo errores 401 y no está seguro de si se debe a la caducidad o a otra cosa, la solución del error 401 Unauthorized (token caducado) desglosa las causas habituales.

Una vez que su sesión se mantiene activa, la parte que realmente mueve volumen es el enrutamiento de órdenes; consulte cómo colocar órdenes a través de la API de Tradovate.

Automatice Esto con PickMyTrade

¿Prefiere no escribir ni supervisar en absoluto un ciclo de renovación? PickMyTrade mantiene la sesión activa por usted, de modo que sus alertas de TradingView se enrutan directamente a su cuenta sin que tenga que gestionar tokens manualmente.

Omita el Ciclo de Renovación de Tokens

¿Prefiere no escribir ni supervisar en absoluto un ciclo de renovación? PickMyTrade mantiene la sesión activa por usted, de modo que sus alertas de TradingView se enrutan directamente sin que tenga que gestionar tokens manualmente.

Comience su prueba gratuita de 5 días

Esta guía tiene fines exclusivamente educativos e informativos y no constituye asesoramiento financiero, de inversión o de trading. Operar con futuros y otros productos apalancados conlleva un riesgo sustancial de pérdida y no es adecuado para todos los inversores. PickMyTrade es una plataforma de automatización independiente de terceros y no está afiliada, respaldada ni patrocinada por Tradovate, Inc. "Tradovate" y todos los nombres, logotipos y marcas relacionados son propiedad de sus respectivos titulares. Las funciones y los pasos de la plataforma cambian con el tiempo, por lo que siempre debe confirmar el proceso actual en la plataforma y la documentación oficiales de Tradovate antes de actuar.