public static void Main()
string response = ApiUnclaimedDraft(
"http://www.zimmer.com/content/dam/zimmer-web/documents/en-US/pdf/medical-professionals/reimbursement/product/Chondrofix_Sample_Insurance_Verification_Form.pdf",
"qqandhellosigndemo@gmail.com",
new[]{ "QQ-Upload-ContactID", "abc123" },
new[]{ "QQ-Upload-Filename", "Policy.pdf" }
Console.WriteLine(response);
public static string ApiUnclaimedDraft(bool isTest, string fileUrl, string type, string name, string email, string[][] metadata)
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.hellosign.com/v3/unclaimed_draft/create");
var postData = "test_mode=" + (isTest ? "1" : "0");
postData += "&file_url[0]=" + HttpUtility.UrlEncode(fileUrl);
postData += "&type=" + type;
postData += "&signers[0][name]=" + HttpUtility.UrlEncode(name);
postData += "&signers[0][email_address]=" + HttpUtility.UrlEncode(email);
for(int i = 0; i < metadata.Length; i++)
postData += "&metadata[" + HttpUtility.UrlEncode(metadata[i][0]) + "]=" + HttpUtility.UrlEncode(metadata[i][1]);
var data = Encoding.ASCII.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
stream.Write(data, 0, data.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
return new StreamReader(response.GetResponseStream()).ReadToEnd();