I am using .net to integrate with DocuSign however I have a requirement to take a pdf/word/html file and send it via docusign but before add a few fields to the document. I believe adding the fields should be possibly from what I have read but I am unsure how to send the pdf / word / html file directly? Please note, I will not be using a template stored in DocuSign and filling in the fields.
Other question, if I do use a template, I see you can attach other documents but can I merge the template doc and my doc I am uploading into one or will it send two different files?
Thanks,
Alex
Yes what you want is to send a Signature Request on a Document (as opposed to on a Template) which is easy to do, you just need to make a multipart/form-data POST request. Have you gone through the DocuSign Developer Center and subsequently the API Tools page? One of the tools is the API Walkthroughs, which shows 9 of the most common API use cases, and you'll see that the 4th one (the middle left square) is titled "Request Signature on Document".
That code walkthrough shows in 6 different languages how to send a signature request on a local document- not sure what stack you're using since you didn't tag a language. You can copy the source for you're stack and fill in the variables (or mimic the code if your language is not listed) and that will request a signature on a document.
NOTE 1: These samples place one signature tab at location (100, 100) to just show how to use absolute positioning. You can alternatively use relative (or anchor) positioning, see Dev Center for more info.
NOTE 2: Most of the code samples send a PDF and therefore use a Content-Type of application/pdf. You will have to change that for your various document types.
To answer your question on if you can merge template documents with a local document(s) and send in one single request- Yes, you can use Composite Templates to accomplish that.
Related
I am using the PHP SDK to create and send documents. I need to insert initial here on all pages, except the signature pages.
The content of the document is variable, it can have at least 7/8 pages. So I believe that using templates is not interesting.
Is there a way to place the initial here on all pages, without knowing the number of pages?
Is it possible to count the number of pages before sending the document?
What solution could you apply?
Yes, you can make an API call to get all the documents meta-data which include the number of pages in each document.
When you add an initial tab (or any tab) you get to set the page number.
So that's the simple approach I would use. Add it to pages 1 .. n-1 and find n by making another API call.
PHP call:
envelopes_api->getEnvelopes($account_id, $envelope_id);
I have a form built in Kentico and want to change the form action to point to a marketing automation vendor website (eloqua) to process the form. I noticed that there's no way to change the Action on the Form app, so I thought of using js to replace the action dynamically. I'm not sure whether it'll work, but another immediate problem I have is the field name/id generated by Kentico is so long (> 70 characters - e.g. p$lt$ctl02$pageplaceholder$p$lt$ctl03$On_lineForm$viewBiz$Company$txtText) and exceeds the length allowed by the vendor. Is there a way to shorten those names/ids?
To clarify, the reason I need to edit the name because the vendor allows to map (copy/paste) html name to whatever name it's using. I've tried pasting the whole string from one Kentico field and got the error message of exceeding character limit.
First part of the question, how do i direct a form to submit to another site?
In ASP.Net, the only way is to use javascript to alter the 's action url. Since you want to be careful where you edit this, i would use jQuery to replace the "Submit" button on your form with a javascript function that will alter the form before submission (so you don't mess up other postbacks)
$("button.MySubmitButton").click(function() {
$("form").attr("action", "http://TheVendor.com/PostLocation");
});
Next question is to alter the field names. If you absolutely MUST have form element IDs sub 70 characters, you will have to use Javascript again and it will break any postback-related functionality of the elements, so make sure the form is "as is" before doing it.
Again there is security concern because when you post to another location, you are sending ALL the data, including hidden asp.net inputs that contain viewstates and the like. You may want to take the time to 'eliminate' right before you submit any field that you don't want sent to the other site.
Something like this (Test it out a bit first though)
$("input:not(id*='txtName'):not(id*='txtEmail'),select:not(id*='ddlQuestion')").remove();
As #trevor-j-fayas points out, you can use javascript to point a form action to another url. While this does work you may end up writing a lot of javascript to not only point the form to a new url but also to do some data massaging (changing id's, doing url formatting, etc) before sending it to the target.
Additionally you lose some of the benefits of using a Kentico Form because the data never actually gets submitted back to Kentico such as email alerts.
I have worked in a similar scenario where were we sending data to Eloqua but instead of doing it client side we did it from the server by using either:
The OnOnAfterSave event on the BizForm control itself
The global BizForm submit hook BizFormInfo.TYPEINFO.Events.Insert.After
After the form is submitted to Kentico, our custom hook code runs which sends the data to Eloqua. In either hook you can fully access the Form metadata, field names, and submitted values. You can then craft an HTTP POST request and submit it asynchronously using a class such as HttpClient.
Is not a good idea from the architecture stand point and most likely not going to work without opening a huge hole in their vendor web site security. First of all how are they going to process the from if they don't know the field names, what if form fields change etc. Secondly you going to run into hell of trouble trying to submit form one site to another etc. What if the vendor site is not responding etc.
What you need to do is submit the form back to kentico web site i.e. process it on kentico web site and send email notification with results to marketing automation vendor website (the easy way for now) and redirect user to vendor web site.
Redirection and email - you can do out of the box without any programming. Actually to do all the above requires no programming and you get all the information recorded on your Kentico site.
I need create documents from my software to api integration but I would like of mark the place of signature for client.
Its possible?
Sure, easy-peasy. When creating the DocuSign envelope, include a sign here tab with the create call. And use anchor text to tell DocuSign where the signature request should appear.
Here is the recipe. And here is example software that you can run on Heroku for free.
Note: in order to run the recipe on Heroku, you'll need a free developer account on DocuSign, plus a free integration key.
When creating envelopes in the DocuSign system there are generally three different methods for placing signature and other tabs.
Absolute (or fixed) positioning.
Relative positioning (aka Anchor Tags or Auto-Place).
PDF Form fields.
(1): With absolute positioning you can set the (x,y) coordinates of where you want to place tabs through your documents. You can set that manually by dragging and dropping through the DocuSign Website, or you can set those locations through the API. See Larry's API Recipes links.
(2): The anchor tagging (aka Auto-place) feature places tabs in your documents based on the actual document content itself. For instance, you can place a signature tab anywhere the text "Please Sign Here" is found in your document(s). However please note that it will place a signature tab for each and every instance of that string it finds, not just the first.
(3): The third option for placing tabs only work with non-flattened PDF files. If you have a PDF with form fields in it, DocuSign can read those fields and locations and place tabs there. This is easy and powerful, but of course only works with PDF files.
Learn more about all these option at the DocuSign Developer Center.
What I've found is that it will place a signature tab for every document in an envelope, even if the other documents are using a different server template.
We have a system that creates pre-filled PDF contracts that we then need to send to the customer for signature and also allow the customer to update fields that may contain erroneous information.
I have reviewed the API extensively and understand that I can use text tabs placed on the document to allow customer to edit those fields. However this approach is not replacing the value already on the PDF, rather writing over it. See attached screenshot of sample document: DocuSign Overwrite text field
What is the alternative or any tips on how to get around this issue will be highly appreciated.
Here is one workaround or option but I hope there is a better way
1) Instead of using the templating engine that generates this PDF, move this burden to Docusign. We can then use the text tabs within Docusign to pre-populate fields and leave it editable.
When you send a PDF with form fields DocuSign can convert those PDF form fields into DocuSign data tabs which I believe is the workaround you've mentioned. This is definitely the easiest approach and should work.
You can do a quick manual test by uploading a document into the DocuSign console (ie login to your account through the website) and if you feed it a PDF with form fields the system will ask if you'd like to convert them to DocuSign tabs. To achieve this through the API you can use the transformPdfFields property in the document object.
If I have a list containing NAME and EMAIL of approximately 10 rows, is there a workflow work-around allowing me to send an email to all recipients of the “selected view” of the list? The scenario involves simply browsing the list, opening a link (or clicking a button) that launches a new message in Outlook. If the above is possible, can I customize the (a) message body with a stored template, (b) carbon copy recipients and (c) message subject? Have any workarounds to accomplish this? Trying to do so without any extensions to SP with Visual Studio. Any links, tips, tricks to accomplishing this?
I intentionally created an SP site with external sharing enabled because I wanted any child sites beneath it to be externally accessible. I want to do so, however, without external users accessing the parent. Is this possible?
I’m exploring opportunity #2 above because I’d like teachers to collect documents from a “shared” read-only folder yet be permitted to create a personal (i.e. team) folder that is writable. In doing so, I’d like the modified document in their personal folder to be (a) numerically rated and (b) freely tagged with meta attributes. Thinking here is that team members can search for docs that are associated with the freely created meta data. Question is, is there a way to propagate all the meta data generated so that users can select/enter it in their subsequent searches?
Thanks
I'll only answer to your 1 (because I don't understand the 2, and the 3 seems too complex to help on a forum like that).
A workflow looks at only one row/item, so you cannot do what you want in that way. At my work I don't have access to the backend programming (C#) so I'm doing everything with JavaScript. In your case you could use JavaScript in this scenario :
The user goes to a page and click on a button
A JavaScript code is triggered and gets all the data from the list
The JavaScript code creates a new item into a special list with the collected data
There is a workflow tied to this special list that sends an email based on the different fields
The last step of the workflow is to delete the item from the special list
In this scenario you can use templates for the body, and do all the things you want.
To use JavaScript with Sharepoint you can look at my framework that is called SharepointPlus or at the popular SPServices.