Hi all,
i have a problem . I am working with workwave API
problem that i am not understanding how can i resolve this is
1> how can i create a callback url ?
2> How can i get data from workwave to there ?
please help me about this. thanks for your valuable answer.
What I have tried:
for get i try this
private string CreateToken(string message, string secret)
{
secret = secret ?? "";
var encoding = new System.Text.ASCIIEncoding();
byte[] keyByte = encoding.GetBytes(secret);
byte[] messageBytes = encoding.GetBytes(message);
using (var hmacsha256 = new HMACSHA256(keyByte))
{
byte[] hashmessage = hmacsha256.ComputeHash(messageBytes);
return Convert.ToBase64String(hashmessage);
}
}
string dataUrl = "{\"url \": \"http://185.74.157.252:8096/json.aspx \",\"signaturePassword\" : \""+ signPassword + "\",\"test\":\"true\"}";
string Str = CallBackUrl("https://wwrm.workwave.com/api/v1/callback", dataUrl, userid, ApiKey);
string signPassword = CreateToken("http://185.74.157.252:8096/json.aspx" + " w/", ApiKey);
string CallBackUrl(string url, string urlregister, string bigApiUserID, string BigApiKey)
{
string responseStr = "";
HttpStatusCode statusCode;
WebRequest request = WebRequest.Create(url);
request.Credentials = new NetworkCredential(bigApiUserID, BigApiKey);
request.Method = "POST";
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(urlregister);
request.Headers.Add("X-WorkWave-Key", BigApiKey);
request.ContentType = "application/json";
request.ContentLength = bytes.Length;
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
HttpWebResponse response;
try
{
response = (HttpWebResponse)request.GetResponse();
statusCode = response.StatusCode;
if (Convert.ToString(response.StatusCode) == "OK")
{
Stream responseStream = response.GetResponseStream();
responseStr = new StreamReader(responseStream).ReadToEnd();
return responseStr;
}
}
catch (WebException ex)
{
using (var stream = ex.Response.GetResponseStream())
using (var reader = new StreamReader(stream))
{
string str = Convert.ToString(reader.ReadToEnd());
}
}
return responseStr;
}