private async Task <T> PostRequest <T>(RequestBase req)
        {
            var properties = req.BuildProperties() ?? new Dictionary <string, string>();

            properties["access_key"] = _config.ApiKey;
            properties["tonce"]      = req.Timestamp.ToString();
            properties["signature"]  = Sign(req.BuildPayload(properties), _config.ApiSecret);

            var content        = new StringContent(req.BuildQueryStringFromParams(properties), Encoding.UTF8, "application/x-www-form-urlencoded");
            var requestMessage = new HttpRequestMessage(req.Method, req.Url())
            {
                Content = content
            };
            var response = await _apiClient.SendAsync <T>(requestMessage);

            return(Resolve(response));
        }