public async Task<SignatureRequest> SendAsync(SignatureRequestSendRequest request) { SignatureRequestWrapper signatureRequestWrapper = await helloSignService.MakeRequestWithFilesAsync<SignatureRequestWrapper>( settings.HelloSignSettings.Endpoints.SignatureRequest.Send, request); return signatureRequestWrapper.SignatureRequest; }
public async Task SendAndGetSignatureRequestTest() { var testEmail1 = Config.TestEmail1 ?? "*****@*****.**"; var sendRequest = new SignatureRequestSendRequest { TestMode = 1, Signers = new List<SignerRequest>() { new SignerRequest { EmailAddress = testEmail1, Name = "Test Test" }, } }; sendRequest.Files.AddFile("test.pdf"); SignatureRequest signatureRequest = await client.SignatureRequest.SendAsync(sendRequest); // Examine returned request Assert.IsNotNull(signatureRequest); try { Assert.AreEqual(Config.Username, signatureRequest.RequesterEmailAddress); Assert.IsNotNull(signatureRequest.SignatureRequestId); Assert.AreNotEqual(string.Empty, signatureRequest.SignatureRequestId); Assert.AreEqual(true, signatureRequest.TestMode); Assert.IsNotNull(signatureRequest.DetailsUrl); Assert.AreNotEqual(string.Empty, signatureRequest.DetailsUrl); Assert.IsNotNull(signatureRequest.FilesUrl); Assert.AreNotEqual(string.Empty, signatureRequest.FilesUrl); Assert.AreEqual(false, signatureRequest.HasError); Assert.AreEqual(false, signatureRequest.IsComplete); Assert.IsNotNull(signatureRequest.SigningUrl); Assert.AreNotEqual(string.Empty, signatureRequest.SigningUrl); Assert.IsNotNull(signatureRequest.CcEmailAddresses); Assert.AreEqual(0, signatureRequest.CcEmailAddresses.Count); Assert.IsNotNull(signatureRequest.CustomFields); Assert.AreEqual(0, signatureRequest.CustomFields.Count); Assert.IsNotNull(signatureRequest.Signatures); Assert.AreEqual(1, signatureRequest.Signatures.Count); Assert.AreEqual(testEmail1, signatureRequest.Signatures[0].SignerEmailAddress); Assert.AreEqual("Test Test", signatureRequest.Signatures[0].SignerName); Assert.AreEqual(false, signatureRequest.Signatures[0].HasPin); Assert.IsNull(signatureRequest.Signatures[0].Order); Assert.AreEqual(SignatureStatusCodes.AwaitingSignature, signatureRequest.Signatures[0].StatusCode); Assert.IsNotNull(signatureRequest.ResponseData); Assert.AreEqual(0, signatureRequest.ResponseData.Count); Assert.IsNotNull(signatureRequest.Metadata); Assert.AreEqual(0, signatureRequest.Metadata.Count); var sigId = signatureRequest.SignatureRequestId; // Use Get ans examine request again signatureRequest = await client.SignatureRequest.GetAsync(sigId); Assert.IsNotNull(signatureRequest); Assert.AreEqual(Config.Username, signatureRequest.RequesterEmailAddress); Assert.AreEqual(sigId, signatureRequest.SignatureRequestId); Assert.AreEqual(true, signatureRequest.TestMode); Assert.IsNotNull(signatureRequest.DetailsUrl); Assert.AreNotEqual(string.Empty, signatureRequest.DetailsUrl); Assert.IsNotNull(signatureRequest.FilesUrl); Assert.AreNotEqual(string.Empty, signatureRequest.FilesUrl); Assert.AreEqual(false, signatureRequest.HasError); Assert.AreEqual(false, signatureRequest.IsComplete); Assert.IsNotNull(signatureRequest.SigningUrl); Assert.AreNotEqual(string.Empty, signatureRequest.SigningUrl); Assert.IsNotNull(signatureRequest.CcEmailAddresses); Assert.AreEqual(0, signatureRequest.CcEmailAddresses.Count); Assert.IsNotNull(signatureRequest.CustomFields); Assert.AreEqual(0, signatureRequest.CustomFields.Count); Assert.IsNotNull(signatureRequest.Signatures); Assert.AreEqual(1, signatureRequest.Signatures.Count); Assert.AreEqual(testEmail1, signatureRequest.Signatures[0].SignerEmailAddress); Assert.AreEqual("Test Test", signatureRequest.Signatures[0].SignerName); Assert.AreEqual(false, signatureRequest.Signatures[0].HasPin); Assert.IsNull(signatureRequest.Signatures[0].Order); Assert.AreEqual(SignatureStatusCodes.AwaitingSignature, signatureRequest.Signatures[0].StatusCode); Assert.IsNotNull(signatureRequest.ResponseData); Assert.AreEqual(0, signatureRequest.ResponseData.Count); Assert.IsNotNull(signatureRequest.Metadata); Assert.AreEqual(0, signatureRequest.Metadata.Count); } finally { var result = await client.SignatureRequest.CancelAsync(signatureRequest.SignatureRequestId); Assert.IsTrue(result); } }
public async Task SendFullSignatureRequestTest() { var testEmail1 = Config.TestEmail1 ?? "*****@*****.**"; var testEmail2 = Config.TestEmail2 ?? "*****@*****.**"; var sendRequest = new SignatureRequestSendRequest { TestMode = 1, Title = "Test Signature Request", Subject = "test subject", Message = "test message", Signers = new List<SignerRequest>() { new SignerRequest { EmailAddress = testEmail1, Name = "Test Test", Order = 0, Pin = "testtesttest" }, new SignerRequest { EmailAddress = testEmail2, Name = "Test Test 2", Order = 1, Pin = "testtesttes2" } }, CcEmailAddresses = new List<string>() { "*****@*****.**", "*****@*****.**" }, SigningRedirectUrl = "http://test.com/redirect", UseTextTags = 1, HideTextTags = 1, Metadata = new Dictionary<string, string> { { "isHelloSignApiTest", "true" }, { "testkey1", "testdata1" }, { "testkey2", "testdata2" } }, //ClientId = Config.ClientId, FormFieldsPerDocument = new List<IList<FormFieldsRequest>> { new List<FormFieldsRequest> { new FormFieldsRequest { ApiId = "testapiid1", Height = 100, Width = 101, Name = "Test Field 1", Required = true, SignerIndex = 0, ValidationType = DataValidationTypes.NumbersOnly, Type = FieldTypes.Text, X = 102, Y = 103 }, new FormFieldsRequest { ApiId = "testapiid2", Height = 110, Width = 111, Name = "Test Field 2", Required = true, SignerIndex = 1, Type = FieldTypes.Checkbox, X = 112, Y = 113 } }, new List<FormFieldsRequest> { new FormFieldsRequest { ApiId = "testapiid3", Height = 120, Width = 121, Name = "Test Field 3", Required = false, SignerIndex = 0, Type = FieldTypes.DateSigned, X = 122, Y = 123 }, new FormFieldsRequest { ApiId = "testapiid4", Height = 130, Width = 131, Name = "Test Field 4", Required = true, SignerIndex = 1, Type = FieldTypes.Signature, X = 132, Y = 133 } } } }; sendRequest.Files.AddFiles("test.pdf", "test2.pdf"); SignatureRequest signatureRequest = await client.SignatureRequest.SendAsync(sendRequest); Assert.IsNotNull(signatureRequest); try { Assert.AreEqual("Test Signature Request", signatureRequest.Title); Assert.AreEqual("test message", signatureRequest.Message); Assert.AreEqual(Config.Username, signatureRequest.RequesterEmailAddress); Assert.IsNotNull(signatureRequest.SignatureRequestId); Assert.AreNotEqual(string.Empty, signatureRequest.SignatureRequestId); Assert.AreEqual("http://test.com/redirect", signatureRequest.SigningRedirectUrl); Assert.AreEqual("test subject", signatureRequest.Subject); Assert.AreEqual(true, signatureRequest.TestMode); Assert.IsNotNull(signatureRequest.DetailsUrl); Assert.AreNotEqual(string.Empty, signatureRequest.DetailsUrl); Assert.IsNotNull(signatureRequest.FilesUrl); Assert.AreNotEqual(string.Empty, signatureRequest.FilesUrl); Assert.AreEqual(false, signatureRequest.HasError); Assert.AreEqual(false, signatureRequest.IsComplete); Assert.IsNotNull(signatureRequest.SigningUrl); Assert.AreNotEqual(string.Empty, signatureRequest.SigningUrl); Assert.IsNotNull(signatureRequest.CcEmailAddresses); Assert.AreEqual(2, signatureRequest.CcEmailAddresses.Count); Assert.AreEqual("*****@*****.**", signatureRequest.CcEmailAddresses[0]); Assert.AreEqual("*****@*****.**", signatureRequest.CcEmailAddresses[1]); Assert.IsNotNull(signatureRequest.CustomFields); Assert.AreEqual(0, signatureRequest.CustomFields.Count); Assert.IsNotNull(signatureRequest.Signatures); Assert.AreEqual(2, signatureRequest.Signatures.Count); Assert.AreEqual(testEmail1, signatureRequest.Signatures[0].SignerEmailAddress); Assert.AreEqual("Test Test", signatureRequest.Signatures[0].SignerName); Assert.AreEqual(true, signatureRequest.Signatures[0].HasPin); Assert.AreEqual(0, signatureRequest.Signatures[0].Order); Assert.AreEqual(SignatureStatusCodes.AwaitingSignature, signatureRequest.Signatures[0].StatusCode); Assert.AreEqual(testEmail2, signatureRequest.Signatures[1].SignerEmailAddress); Assert.AreEqual("Test Test 2", signatureRequest.Signatures[1].SignerName); Assert.AreEqual(true, signatureRequest.Signatures[1].HasPin); Assert.AreEqual(1, signatureRequest.Signatures[1].Order); Assert.AreEqual(SignatureStatusCodes.AwaitingSignature, signatureRequest.Signatures[1].StatusCode); Assert.IsNotNull(signatureRequest.ResponseData); Assert.AreEqual(0, signatureRequest.ResponseData.Count); Assert.IsNotNull(signatureRequest.Metadata); Assert.AreEqual(3, signatureRequest.Metadata.Count); Assert.AreEqual("true", signatureRequest.Metadata?["isHelloSignApiTest"]); Assert.AreEqual("testdata1", signatureRequest.Metadata?["testkey1"]); Assert.AreEqual("testdata2", signatureRequest.Metadata?["testkey2"]); } finally { var result = await client.SignatureRequest.CancelAsync(signatureRequest.SignatureRequestId); Assert.IsTrue(result); } }
public async Task<List<SignatureRequest>> SendEmbeddedAsync(SignatureRequestSendRequest request) { return await helloSignService.MakeRequestAsync<List<SignatureRequest>>( settings.HelloSignSettings.Endpoints.SignatureRequest.SendEmbedded, request); }