Bittrex API #400 "Bad Request" WebRequest problem

Trabajo finalizado

Plazo de ejecución 5 horas
Comentario del Ejecutor
Great customer, very friendly and kindly.
Comentario del Cliente
Good and fast programmer, quickly responds to messages, stays on point.

Tarea técnica

I have been using bittrex bot for over a year and few days ago it started to report BAD REQUEST (400) error. (my code did not change, something changed in Bittrex)

this is my mql code:

int nonce = TimeGMT();
string uri = "https://bittrex.com/api/v1.1/market/getopenorders?apikey="+api_key+"&nonce="+nonce; 
StringToCharArray(uri, uri_char, 0, WHOLE_ARRAY, CP_UTF8); 
string output = CryptCreateSHA512Hash(uri,api_secret); 
ArrayResize(uri_char, ArraySize(uri_char)-1);
string headers = "apisign:"+output; 
int res=WebRequest("POST",uri, headers,private_api_timeout,uri_char, result_char, result_headers);
result = CharArrayToString(result_char,0,WHOLE_ARRAY);
if(res!=200)
{
   Print2("Authorization error #"+(string)res+", LastError="+(string)GetLastError());
   Print2("result = "+result);
   Print2("ERROR: Positions NOT LOADED from all pairs!");
} else {
...
}

reports:

Authorization error #400, LastError=0
result2 = Bad Request

php example, that works:

<?php

$apikey='xxx';
$apisecret='xxx'; 
$nonce=time(); 
$uri='https://bittrex.com/api/v1.1/market/getopenorders?apikey='.$apikey.'&nonce='.$nonce; 
$sign=hash_hmac('sha512',$uri,$apisecret); 
$ch = curl_init($uri); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign)); 
$execResult = curl_exec($ch); 
$obj = json_decode($execResult);

if (curl_error($ch)) {
    $error_msg = curl_error($ch);
    echo 'error='.$error_msg;
} else {
    echo 'execResult='.$execResult;
}

?>

returns:

{"success":true,"message":"","result":[]}execResult=1


When I wrote their customer support, they replied:

Hi,

The the V1.1 API has been changed to no longer accept request bodies. You must use the API as documented with a query string.

https://support.bittrex.com/hc/en-us/articles/115003723911-Developer-s-Guide-API

Best Regards,

But I still can't catch what am I doing wrong in my code. Another response from service desk, after me implying that their method doesn't work for me:

HI,

Our developers are working to resolve this issue. Please see the information below. 

There is a workaround to use GetOrdersEx which does not require a POST.

## API POST Account/GetOrders

* Method : POST
* URL : https://bittrex.com/api/v1.1/Account/GetOrders?apikey=xxx&nonce=1234
* HEADER :
  * apisign : signature with hmac(sah512) fro above URL
* BODY format :
  * {"orders":["xxxxxxxx-2f68-405b-bfd3-fb19b362feea","xxxxxxxx-3583-48e5-951f-29b3ed04b65f"]}
* LIMIT : orders count <= 1000

I need someone to make my code great again and make it work with Bittrex API, as it used to.

Han respondido

1
Desarrollador 1
Evaluación
(5)
Proyectos
5
20%
Arbitraje
2
0% / 100%
Caducado
1
20%
Libre
2
Desarrollador 2
Evaluación
(69)
Proyectos
93
34%
Arbitraje
10
40% / 30%
Caducado
5
5%
Libre
Solicitudes similares
MT5 Expert Advisor Development Brief — Forex Project objective I am looking for an experienced MQL5 developer to build a bespoke, fully automated Expert Advisor for MetaTrader 5. The EA will be used on both proprietary trading firm (prop-firm) accounts and my own live trading account. My priorities, in order, are: 1. Low drawdown and robust risk management. 2. Consistent, repeatable profitability. 3. Reliable
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
I am looking for an experienced developer to build a professional web-based trading performance dashboard connected to an MT5 trading account and/or FX Blue. The dashboard should automatically collect trading data and display: • Daily P&L calendar – profitable days green, losing days red and no-trade days grey • Equity/growth curve • Drawdown curve • Initial capital and current balance • Net profit and percentage

Información sobre el proyecto

Presupuesto
30 - 60 USD
Plazo límite de ejecución
de 1 a 2 día(s)