Public Sub PostRequest(strURL As String, strURI As String, strPropsAdditional As String, strAPI_Key As String, strAPI_Secret as String, strJobName As String)
Dim strNonce As String = DateTime.Now
Dim EncodedPayload As String = "nonce=" & strNonce & "&" & strPropsAdditional
Dim md As MessageDigest
Dim NonceAndPOST As B4XBytesBuilder
NonceAndPOST.Initialize
NonceAndPOST.Append(strNonce.GetBytes("utf8"))
NonceAndPOST.Append(EncodedPayload.GetBytes("utf8"))
Dim sha256() As Byte = md.GetMessageDigest(NonceAndPOST.ToArray, "SHA-256")
Dim full As B4XBytesBuilder
full.Initialize
full.Append(strURI.GetBytes("utf8")).Append(sha256)
Dim su As StringUtils
Dim b() As Byte = HMACSHA512(su.DecodeBase64(strAPI_Secret), full.ToArray)
Dim strSignature As String = su.EncodeBase64(b)
Dim jobPost As HttpJob
Dim strUrlUri As String = strURL & strURI
jobPost.Initialize(strJobName, Me)
jobPost.PostString(strUrlUri,EncodedPayload)
jobPost.GetRequest.SetHeader("API-Key", strAPI_Key)
jobPost.GetRequest.SetHeader("API-Sign",strSignature )
jobPost.GetRequest.SetContentType("application/x-www-form-urlencoded")
End Sub