Pre-signed url to upload file on DocuSign - docusignapi

I'm trying to integrate #docusignapi into my website and was looking for a pre-signed upload mechanism. But their API don't talk about that (at least I haven't seen it anywhere).
Did anyone successfully managed to do that?
If you are not familiar with pre-signed upload, here's a blogpost from Dropbox about how they propose that.

DocuSign does not offer a pre-signed upload feature at this time.
You can upload documents via the Envelope::create API call in the body of the JSON object after being Base64 encoded.
You can see this via scenario 2 in the example launchers (see below).
You can also upload document(s) in binary mode via a multi-part mime transaction. See scenario 10 in the example launchers.
Documents can also be uploaded in separate transactions if the envelope is first created in draft mode.
The example launchers are listed below. Each includes 14 or more scenarios.
C# -- https://github.com/docusign/eg-03-csharp-auth-code-grant-core
PHP – https://github.com/docusign/eg-03-php-auth-code-grant
Java – https://github.com/docusign/eg-03-java-auth-code-grant
Node.js – https://github.com/docusign/eg-03-node-auth-code-grant
Python – https://github.com/docusign/eg-03-python-auth-code-grant
Ruby – https://github.com/docusign/eg-03-ruby-auth-code-grant
Curl (direct API) – https://github.com/docusign/eg-03-curl

If you want UI to upload documents to the envelope before Sending the envelope for ESigning, the you can use Sender View for Draft envelope, with this soln. your customers need to come to your App, and then App can call this ESign APIs to generate one time URL, and load that URL in the browser to ask your users to upload the document on the Envelope.
Update:
There is one more option which can be used, but this will be only used if the recipient of the envelope has a DS Account, then you can add them as an Editor (Allow to Edit) recipient type in the workflow. When they will get email from DocuSign then they will login with their DS Credentials and can modify the envelope in same way as Sender of the envelope, with Editor Recipient Type, they can add/update Documents, add/update Recipients and their Tabs.

Related

DocuSign Uploaded Attachment Action in History

I need to poll DocuSign for all envelopes where the signer uploaded an attachment. I found a post suggesting listauditevents, but that is for one envelope ID. I need to determine if we have completed envelopes where the signer printed and then uploaded the document.
I want to avoid downloading all of the envelopes' data and then looping through to find this action.
Is there an endpoint for actions that I am just not finding?
Thanks for your help.
I was able to get this info from the DocuSign online reports. I customized the envelope recipient report to include 'signed on paper' column, downloaded the results to csv, opened in Excel and filtered where signed on paper = true.
Thank you for your suggestions and the use of this site.
Anytime you're thinking "polling", a better thought is to think "webhook." You can use the DocuSign webhook system (Connect) to be notified when an envelope is complete. Then check to see if an attachment was uploaded by a signer.
Easiest way to use webhooks and avoid the need to set up a server on the public internet is to use AWS et al to receive and queue the notification messages for your app (behind the firewall).
See
connect-node-listener-aws
connect-node-worker-aws
and the other examples for Azure and Google Cloud. Plus, more examples are on their way for C#, Java, PHP, and Python

Triggers available in Docusign on document completion

I have a web application integrated with DocuSign API, to pass in recipient details to a DocuSign template and initiate signing process. The template has tags for each recipient to enter relevant information and sign.
Once the document is completed/signed by all recipients, the information available in the document needs to be passed on to another web application bound to a DB. What are the options available in DocuSign to trigger document data(e.g. recipient1 signed date) transferred to a DB/other systems on document completion? Any advice on this is appreciated.
You probably need to provide more specific information but generally, you can use DocuSign Connect and configure your API source to integrate the data. After that, you will be able to use webhooks (or Connect) to send tabs data and signing statuses to your 'other systems'.
Once you get your Connect figured out, you can then have GET request using this
{{baseUrl}}/envelopes/{{envelopeId}}/recipients?include_tabs=true
and then have a wrapper class to export desired tabs (ex. Date Signed or other Text Tabs)
OR you can configure a webhook to sync your data between DocuSign and other systems:
Code Example: Using a Webhook to Track Envelope Status

Using Docusign with a PDF

I'm interested in using DocuSign. I ran the demo and I saw what appeared to be a PDF file. My document that I require signing is a PDF file. Several questions.
Do I have to re-make my PDF file with DocuSign?
Is it even possible to use a PDF or must I use some sort of private DocuSign file format?
Step 2 on the "how does it work" page states you need to indicate who needs to sign. Does that mean I need to specify the names of the persons going to sign the documents? I ask this because I do not know the names of the people before hand, they download a PDF file from my website, and the functionality I need is as simple having them sign the pdf file they download then re-upload it.
DocuSign accepts virtually any file type, but converts any file that you provide to PDF format (if it isn't already in PDF format). You can certainly provide files to DocuSign in PDF format; i.e., you don't need to convert your PDF files to any other format before submitting them to DocuSign.
Regarding question #3 -- typically you'd design your web app to collect the user's name and email address prior to calling DocuSign to initiate the signing of the document(s). That way, when you make the API call to DocuSign to create the envelope and initiate the signing session, you include signer information (name and email address) in the API request.
Finally, if you're looking for a quick/easy way to collect signer info (name & email address) and get document(s) signed from your website, without having to build an API integration -- I'd suggest you checkout DocuSign PowerForms. Based upon the information you've provided about your scenario, using PowerForms might enable you to achieve your goal of getting the document(s) signed. Please note though, even if you use PowerForms to get the document(s) signed, you'll still need to use either the API or DocuSign Connect to retrieve the signed document(s) so that you can store them on your web server.

Using docusign EnvelopeViews: createSender as preview

createSender creates a URL, which I would like to use to let the sender preview the document before it's send out. Hence the documents are created using templates and and the API.
The link which is created would lead me out of my UI. Does the user need to sign in? Future plan is to have many user's, which have no DocuSign account.
For embedded sending Your app will have to authenticate the user. If you are doing a Service Integration then your Api account will be used as the sender.
Once the sending url is generated using the createSenderView api, there is no authentication required to access the URL.
You also have an option to build a User Application using the docusign Api where your App can support sending from multiple accounts.
The createSenderView requires that the person is a DocuSign user (with their own account and password).
Only DocuSign users can send. We charge for sending, not for signing or receiving.
What exactly do you want to preview? (And why?)
the documents themselves? Use the EnvelopeDocuments resource. You can also preview the thumbnails of the documents.
the documents with the "fields" ("tabs") that indicate where people will sign? I'm not sure that is do-able.
or the recipients and their routing order? Use EnvelopeRecipients: list method.
Added
Another solution is to use a dummy certified delivery "recipient". Add this recipient as the first recipient. This will block the envelope from proceeding on the recipient routing.
Then get the envelope's documents to show as a preview.
Then, if ok, alter the envelope's recipients to remove the certified delivery recipient. The envelope will then continue on with the first "real" recipient.

Creating an Docusign envelope from an external file with Rest API

I want to create a envelope in Docusign from an external source. I am having the external file URL (a PDF or DOC). So does the API support like I will give an external URL and it will upload it to docusign by creating a new envelope.
In order to add a file to a DocuSign Envelope, you need to specify the document bytes in the API request. It's not possible to simply specify the URL in the request and have DocuSign read the file automatically using the URL.
Using the REST API, there are a couple of ways to supply the document bytes in the Create Envelope API request -- the simpliest way is to include the base64-encoded byte stream in the documentBase64 property under the document object. See the REST API Guide for further details (https://10226ec94e53f4ca538f-0035e62ac0d194a46695a3b225d72cc8.ssl.cf2.rackcdn.com/rest-api-guide-v2.pdf).

Resources