Написал запрос на открытие маркет ордера для сайта Huobi по
документации.Запрос представлен ниже.
var client = new RestClient("https://api.huobi.pro");
string Method = "POST";
string endpoint = "/v1/order/orders/place";
string base_uri = "api.huobi.pro";
var request = new RestRequest("/v1/order/orders/place");
request.AddHeader("Content-Type","application/json");
request.AddQueryParameter("AccessKeyId", apikey);
request.AddQueryParameter("account-id", "12105426");
request.AddQueryParameter("amount", "10");
request.AddQueryParameter("symbol", "expusdt");
request.AddQueryParameter("type", "buy-market");
request.AddQueryParameter("SignatureMethod", "HmacSHA256");
request.AddQueryParameter("SignatureVersion", "2");
request.AddQueryParameter("Timestamp", UTCtime());
request.AddQueryParameter("Signature", CreateSignature(request.Parameters, secret,Method,endpoint,base_uri));
var response = client.Post(request);
string content = response.Content;
Console.WriteLine(content);
Вот код создания сигнатуры.
public static string CreateSignature(List<Parameter> parameters, string secret,string Method,string endpoint,string base_uri)
{
Encoding ascii = Encoding.ASCII;
string pre_signed_text = Method + "\n" + base_uri + "\n" + endpoint + "\n" + string.Join("&", parameters).Replace(":","%3A");
Console.WriteLine(pre_signed_text);
HMACSHA256 hmac = new HMACSHA256(ascii.GetBytes(secret));
String calc_sig = Convert.ToBase64String(hmac.ComputeHash(ascii.GetBytes(pre_signed_text)));
return calc_sig;
}
При запуске запроса на покупку выдает ошибку
{"status":"error","err-code":"api-signature-not-valid","err-msg":"Signature not valid: Verification failure [校验失败]","data":null}
Что не так понять не могу.