I have an AccesssToken still valid (please see image for EXP); however, whenever I placed a Buy Market order, it returned 404 bad request(see below)
Buy Function
Private Function BuyMarket(ByVal sSymbol As String, ByVal sAction As String) As Boolean
Dim urlOrder = CurServer + “/order/placeorder”
Debug.WriteLine(" Buy from Server " + urlOrder)
Dim wc As System.Net.WebClient = New System.Net.WebClient
wc.Headers.Add("Authorization", "Bearer " + txtAccessToken.Text)
wc.Headers.Add("Content-Type", "application/json")
wc.Headers.Add("Method", "POST")
wc.Headers.Add("Accept", "application/json")
Order.accountSpec = txtName.Text
Order.accountId = txtuserId.Text
Order.timeInForce = "FOK"
Order.isAutomated = True
sAction = UCase(sAction)
If sAction = "BUY" Then
Order.action = "Buy"
ElseIf sAction = "SELL" Then
Order.action = "Sell"
Else
Return False
End If
Order.symbol = UCase(sSymbol)
Dim sJson As String = clstd.Obj2StrJson(Order)
' Dim data As Byte() = System.Text.Encoding.Unicode.GetBytes(sJson)
Dim data As Byte() = System.Text.Encoding.Unicode.GetBytes(sJson)
wc.Headers.Add("ContentLength", data.Length.ToString)
Try
Dim sRet As String = System.Text.Encoding.Unicode.GetString(wc.UploadData(urlOrder, data))
Debug.WriteLine(" Return from MarketOrder = " + sRet)
Return (True)
Catch ex As Exception
Debug.WriteLine("ERROR!!! Fail to submit order " + ex.Message)
Return (False)
End Try
End Function 'BuyMarket
OUTPUT:
-6659
Socket Openned and Ready for Login
Main message rec = o
Socket Closed
Buy from Server https://demo.tradovateapi.com/order/placeorder
‘AutoTradeMaster.exe’ (CLR v4.0.30319: AutoTradeMaster.exe): Loaded ‘C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll’. Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
Exception thrown: ‘System.Net.WebException’ in System.dll
ERROR!!! Fail to submit order The remote server returned an error: (400) Bad Request.