hellosign / hellosign-dotnet-sdk Goto Github PK
View Code? Open in Web Editor NEWA .NET SDK for the HelloSign API
License: MIT License
A .NET SDK for the HelloSign API
License: MIT License
I have created a new MVC application targeting .Net 4.7.1 and added the HelloSign NuGet package v0.5.7. On running the application I get:
Could not load type 'HelloSign.Client' from assembly 'HelloSign, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
https://github.com/HelloFax/hellosign-dotnet-sdk/blob/v3/HelloSignTestApp/Program.cs
this defaults to staging and not production
and this results in an authorization error which confuses users.
Test
If you're using embedded templates and offering merge_fields, the only way to see which merge_fields the sender actually chose to include is to extract the form_fields from the template object.
Add attachment parameters when sending a signature request
When updating the SDKs to include editable merge fields, please also update the SDK git repos README examples (if necessary) and the following in the API docs:
TemplateSignatureRequest should include the ability to add appended files (or file_urls).
Need to implement form_fields_per_document to allow specifying signature fields on documents
Add in the C# SDK the required parameter for custom fields (Workaround from a customer documented here)
For signature requests that send the request using a template:
v3/signature_request/send_with_template is one example
The API Supports making an editable custom field with a required requirement
This issue is to request the ability to add the required parameter to the SDK. This is only required if there is an editor.
Potential workaround provided by a customer:
List customFields = new List();
foreach (var entry in signatureRequest.CustomFields)
{
CustomFieldParam fld = new CustomFieldParam();
fld.name = entry.Name;
fld.value = entry.Value;
fld.editor = entry.Editor;
fld.required = entry.Required.ToString().ToLower();
customFields.Add(fld);
}
request.AddParameter("custom_fields",
JsonConvert.SerializeObject(customFields.ToArray()));
Perhaps there is a more elegant solution, but this got the customer to where they needed
to be.
HelloSign added the ability for Signer Reassignment in March 2017
Could this please be implemented in the API? It should be as simple as adding a new boolean called allow_reassign
to the Signature Request, in the style of allow_decline
.
Using Embedded Signing, I am creating a template programatically. I dont see any option to update or add custom branding. Is there a method missing? or am I missing something. Please tell me how to change custom logo.
Thanks
Are there any plans for this to happen in the near future? If not, would it be okay for me to add it to our private NuGet feed as a temporary measure?
Adding the signing_options parameter to all non-embedded and embedded signature request endpoints.
ie:
signing_options = {"draw": true, "type": true, "upload": true, "phone": false, "default": "draw"}
The ability to pass oAuth creds through the C# sdk should be added. Currently does not support oAuth.
The function UnclaimedDraft _CreateUnclaimedDraft is missing
if (signatureRequest.AllowDecline) request.AddParameter("allow_decline", "1");
The endpoint supports allow_decline
https://app.hellosign.com/api/reference#create_unclaimed_draft
Greetings! I'm evaluating integrating Hellosign into a new solution. Are there plans to target NETStandard to support those of us running on .NET Core?
Allow for the argument 'name' to be supported when hitting /signature_request/remind/[:signature_request_id]
For the
GET /signature_request/files/[:signature_request_id] endpoint under the section “Obtain a copy of the current documents specified by the signature_request_id parameter.”
There is an optional parameter “get_url”. That is the functionality that I would like, but I don’t think this version of the sdk supports it.
https://app.hellosign.com/api/reference#create_embedded_template_draft
The C# Sample code from the above endpoint if the following two lines are removed results in an exception.
Merge field is missing "name" parameter
If these lines are removed, the exception is thrown:
//draft.AddMergeField("Full Name", MergeField.FieldType.Text);
//draft.AddMergeField("Is Registered?", MergeField.FieldType.Checkbox);
Sample code from https://app.hellosign.com/api/reference#create_embedded_template_draft
var client = new Client("SIGN_IN_AND_CONFIRM_EMAIL_TO_SEE_YOUR_API_KEY_HERE");
var draft = new EmbeddedTemplateDraft();
draft.TestMode = true;
draft.AddFile(@"NDA.pdf");
draft.Title = "Test Template";
draft.Subject = "Please sign this document";
draft.Message = "For your approval.";
draft.AddSignerRole("Client");
draft.AddSignerRole("Witness");
draft.AddCcRole("Manager");
//draft.AddMergeField("Full Name", MergeField.FieldType.Text);
//draft.AddMergeField("Is Registered?", MergeField.FieldType.Checkbox);
var response = client.CreateEmbeddedTemplateDraft(draft, "clientID");
However, merge fields should be optional.
Hi,
HelloSignClient#getEmbeddedTemplateEditUrl(String templateId, boolean skipSignerRoles, boolean skipSubjectMessage) with both skipSignerRoles and skipSubjectMessage set to true doesn't seem to work.
Currently skipSignerRoles workes, but skipSubjectMessage not - if it set to true then step with SubjectMessage appears. Could you please fix it?
Thanks
The HelloSign .net SDK Signature class is missing the Error property - is it supposed to be the DeclineReason property instead of Error? I assume the text in the 'error' tag should be deserialized into the DeclineReason property?
The value from 'error' is not being deserialized into the object (probably due to the name mismatch).
Support the POST /signature_request/update endpoint and the posible parameters.
The following changes have been made to the API:
The SDK does not include an implementation for the Document Model nor its corresponding Form Fields. Our company is evaluating purchasing a subscription to HelloSign. One of the features we are looking for is the ability to use Form Fields pulled from a Template object, but sent with varying PDFs. Similar to the scenario described on the developer site, Template Walkthroughs, titled, "Using Files and Form Fields"
I have the api key installed and am using the demo I pulled off Git. I keep getting the following error:
{"No connection could be made because the target machine actively refused it 184.168.221.47:443"}
stack trace = at System.Net.HttpWebRequest.GetResponse()
at RestSharp.Http.GetRawResponse(HttpWebRequest request)
at RestSharp.Http.GetResponse(HttpWebRequest request)
Currently you can only use WithFields
with the version of AddFile
which accepts a byte array. We need to update the other AddFile
versions to do this as well.
ux_version
is a new optional parameter that can be set to either 1 or 2 (integer). The following endpoints need a way of passing it:
Test
When trying to call AddMemberToTeam, it looks like internally it's trying to use GET rather than POST.
Error Received:
HelloSign.MethodNotAllowedException: GET is not supported for this URI
I'm trying to use a text tag with a preset value
In the document I have
[text-merge|req|sender|client_name|client_name]
in the C# SDK I do not see an AddCustomField method on the SignatureRequest object like I do with TemplateSignatureRequest
Instead I'm adding the fields to the CustomFields List
request.CustomFields.Add(new CustomField { Name = "client_name", Value = "My Test", ApiId = "client_name" });
However the value is not rendered in the final document
Add in client requester_email_address parameter for non-embedded signing
Hello
It would be nice if i could specify page number of document where to put custom field on.
Thanks
The UnclaimedDraft response object is missing the signatureRequestId parameter in the C# SDK.
https://app.hellosign.com/api/reference#UnclaimedDraft
var request = new SignatureRequest();
request.AddFile(@"/Users/userid/NDA.pdf");
request.TestMode = true;
var response = client.CreateUnclaimedDraft(request, UnclaimedDraft.Type.SendDocument);
// Console.WriteLine(response.SignatureRequestId);
Workarounds while this issue is open:
The project I'm working on has a custom implementation using HttpClient
and is all async. I'd like to switch over to this instead but without async support I can't.
Add support for the GET /template/files endpoint to download template files.
Please implement the POST https://[api key]:@api.hellosign.com/v3/template/update_files/[:template_id]
You currently have just a single version number for your dependencies (Newtonsoft.Json and RestSharp). This forces versions of these dependencies to be at least that version. Instead you should specify the range of allowed versions e.g. "". We are using HelloSign 0.5.5. with Newtonsoft.Json version 6.0.3 without problems but we have to go through a big pain to make sure nuget doesn't try to replace our Newtonsoft.Json with a more recent version which breaks other dependencies.
RestSharp dependency needs to be updated to signed version.
Add .snk file and update .csproj file to sign.
CHANGE FROM:
var request = new TemplateSignatureRequest();
request.AddTemplate(template_withBasicCustomFields);
request.Subject = "Template test";
request.Message = "Template message";
request.AddSigner("Client", "[email protected]", "George");
request.AddCustomField("newline", "$20,000");
request.TestMode = true;
CHANGE TO:
Being able to support the parameters Editor and Required also in Adding CustomField
like this, which was created using RestSharp (because the SDK does not support currently editor and required:
request.AddParameter("custom_fields", "[{"name":"newline", "value":"$20,000", "editor":"Client", "required":true}]");
CHANGE AREAS:
https://github.com/HelloFax/hellosign-dotnet-sdk/blob/v3/HelloSign/HelloSign.cs#L603
https://github.com/HelloFax/hellosign-dotnet-sdk/blob/v3/HelloSign/HelloSign.cs#L1238
I need to be able to create signature requests where the user signs the document through your website, but the endpoint notified of any views/signs etc is an individual client app. Currently you can only get app callbacks by calling CreateEmbeddedSignatureRequest
Please add the ability to use custom fields when using form fields per document.
/signature_request/send
/signature_request/create_embedded
Does the C# SDK support passing in multiple Template IDs on the TemplateSignatureRequest object that you pass into CreateEmbeddedSignatureRequest?
It seems as though TemplateSignatureRequest.TemplateId is just a string.
If not, is there any other easy way to do this. I am doing everything right now using the C# SDK.
Add in the C# SDK the editor parameter for custom fields (Workaround documented here)
For signature requests that send the request using a template:
v3/signature_request/send_with_template is one example
The API Supports making an editable custom field
in the case where there is only one signer.
This issue is to request the ability to add the editor parameter to the SDK. A workaround is to use RestSharp directly
example code:
`try
{
var hslogin = "your EMAIL ADDRESS";
var hspassword = "Your Password";
var apiKey = "API KEY";
var restClient = new RestClient();
string buildTheRequest = "https://" + apiKey + ":@api.hellosign.com";
Console.WriteLine(buildTheRequest);
restClient.BaseUrl = new Uri(buildTheRequest);
restClient.Authenticator = new HttpBasicAuthenticator(hslogin, hspassword);
var request = new RestRequest();
request.Resource = "v3/signature_request/send_with_template";
request.Method = Method.POST;
request.AddParameter("template_id", "TEMPLATE ID HERE");
request.AddParameter("title", "test");
request.AddParameter("message", "testing");
request.AddParameter("signers[Client][name]", "George");
request.AddParameter("signers[Client][email_address]", "[email protected]");
request.AddParameter("custom_fields", "[{"name":"fName","value":"alex","editor":"Client"}]");
request.AddParameter("test_mode", 1);
IRestResponse response = restClient.Execute(request);
Console.WriteLine(response.Content);
if (response.ErrorException != null)
{
const string message = "Error retrieving response. Check inner details for more info.";
var helloSignException = new ApplicationException(message, response.ErrorException);
throw helloSignException;
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message, ex.InnerException.Message);
}
}`
Users need to get the signature request object to extract data (like response_data), and adding some instruction around that to the readme would be helpful.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.