Hi, I have tried to login to websocket multiple times without success. Tried both live and demo endpoints, and it seems as soon as I open the connection, the server kicks me out This is the response I always get:
a[{"s":401,"i":1,"d":"\"Access is denied\""}]
Received closing frame Some(
CloseFrame {
code: Normal,
reason: "Bye",
},
)
I know my auth token is good because I had a 200 http response when I got it. The websocket doesn’t even wait for me to send the auth message, it just immediately sends that after the initial “o”.
Here’s the url I used:
wss://md.tradovateapi.com/v1/websocket
Any ideas on what I could be doing wrong?
@Alexander@Brady thank you guys still no success. I am not using the provided js library, I am writing my client in rust, which I have done for nearly all crypto exchanges that also use WebSockets and REST.
Here’s my app log to show you guys the messages I am sending and receiving.
2021-12-09T11:04:23.226454-08:00-sending auth token from https://live.tradovateapi.com/v1/auth/accesstokenrequest
2021-12-09T11:04:23.228236-08:00-RequestBuilder { method: POST, url: Url { scheme: “https”, cannot_be_a_base: false, username: “”, password: None, host: Some(Domain(“live.tradovateapi.com”)), port: None, path: “/v1/auth/accesstokenrequest”, query: None, fragment: None }, headers: {“content-type”: “application/json”, “accept”: “application/json”} }
2021-12-09T11:04:23.405773-08:00-Auth Request Status 200 OK
2021-12-09T11:04:23.406893-08:00-connecting to wss://md.tradovateapi.com/v1/websocket
2021-12-09T11:04:23.659681-08:00-Websocket connection status: 101
2021-12-09T11:04:23.659836-08:00-Opening Socket Connection…
2021-12-09T11:04:23.661295-08:00-sent
authorize
1
TY2fZaaEFex4utB[I deleted rest of token for this post]
2021-12-09T11:04:23.743888-08:00-a[{“s”:401,“i”:1,“d”:“"Access is denied"”}]
2021-12-09T11:04:23.744003-08:00-Received closing frame Some(
CloseFrame {
code: Normal,
reason: “Bye”,
},
)
Could this have something to do with 2FA? I received the unknown login email and went through the steps to authorize it, but it still didn’t work
Probably your best bet for getting tick stream data is to use a Market Data WebSocket and make a request to getChart with the UnderlyingType set to 'Tick'.
You seem like you understand the basics of connecting a WebSocket, so you may want to look at the first and second parts of the Chart Data portion of the Tradovate WebSocket tutorials. Making a request to for a tick chart should fulfill your needs, but it’s a good idea to review both those sections for clarity’s sake.
Edit: Don’t forget to use the market data URL when hooking up the WebSocket - wss://md.tradovateapi.com/v1/websocket