Docusign - how to integrate docusign for multiple users each having different docusign credentials and multiple customers - node.js

I have an app were there are 2 kinds of users.
A builder and an owner.
Now there is a centralized platform that I am building, were each builder who have their own docu sign account with them, will register. And then provide with a docusign URL (I am not sure what that is), and the owner then clicks on the link, once they are logged in to their part of the system. They sign the document using docusign and the builder gets the corresponding response in the centralized system.
Is this approach can be done using docusign? Or the working of this is completely different?

You're likely referring to embedded signing vs remote signing from what I understood from your description.
https://developers.docusign.com/docs/esign-rest-api/esign101/concepts/embedding/
In embedded signing, your app will take care of authenticating the users on DocuSign's behalf.

Yes. The Builders are the DocuSign senders. As you say, they have the DocuSign accounts that will be integrated into your system.
The owners are DocuSign recipients. More specifically Signer Recipients.
The owners do not sign into DocuSign at all. They may register (and login) themselves with your app, that's a different issue.
When appropriate, the owners click a link on your app to sign documents.
You then have some options: did the builder initiate a signing request for the owner to sign at some point in the future? Or is the signing request initiated when the owner decides that they want a document generated that they will then sign? (Or both?)
When it comes time for signing, if the signing ceremony is presented by your app to the owner, we call that embedded signing.
If the builder initiates a document to be signed by the owner, then the quickest technique is to immediately send a signing request (by email or SMS) directly to the owner. That's called remote signing by DocuSign. (The other way to do it is to wait until the next time the owner logs into your app. I would not recommend this since it would tend to slow down the completion of the signing process.)

Related

How to sign a document via api call?

How can I sign a document via API call without email client and UI interaction? Or if there is no way to sign, perhaps there is a way to force change status of a document?
I've seen many people asked for this and the answer was no, but all those posts are 2 years old. Perhaps there is a solution to it today?
It is possible to do everything via UI, but it is a terrible idea to spend time on an external service instead of your system under test.
Some say it defeats the purpose as the signer must view the document first, yes, but it is irrelevant, I simply want to test the flow of the system under test.
Please advise!
For testing purposes, you do not need to unit test the DocuSign signing ceremony since we test it all of the time. Instead, test that your API calls create the DocuSign envelope correctly.
For example, after your application creates the DocuSign envelope, your tests can interrogate DocuSign (via the API) that the envelope exists, is ready to be signed, etc.
If you're using embedded signing, you can test that your app can successfully obtain the URL for the signing via the DocuSign API.
For an end to end test, test software is available (from test software organizations) to interact with a web browser as a human does. Only test envelopes can be "signed" in this way.
For production signing of documents, the DocuSign signature appliance supports programmatic signing of documents using standards-based signatures (digital signatures). Your workflow must be authorized to sign documents on behalf of the signer.
For example, programmatically signing invoices sent by a company to its customers.

Docusign Embedded Signing , How can sender share the “recipient signing URL” with multiple signer?

I am building a customer web portal or a self-service platform, one of the features of the portal is for customer to upload required documents. Customer would have to go through full authentication to access the web portal to upload required documents and perform other functions.
I want to embed DocuSign and use its signature capabilities for customer to fill out forms and provide signatures. Some of the documents requires multiple signatures from legal parties of an organization.
My questions:
How do I send DocuSign to multiple signers?
Would each signer have to authenticate to the portal to sign documents or is there a way DocuSign can route document to the signers without all of them authenticating to the portal?
Each signers/recipient can have their own unique URL which is different based on the recipient involved.
You can have multiple recipients sign the same document/envelope and each of time can sign, either in turn, or whenever based on the routing order.
URLs for signing should not be shared, as they are private for the signer.
Your app can either embed the URL inside, or if you would rather use remote signing, then each recipient would get an email with the link to sign.
There's no need for signers to authenticate, unless you wish them to do so, which is certainly more secure, but not a requirement of DocuSign.
Here is a code example for embedded signing in 7 languages.
Here is a code example for remote signing in 7 languages.

Docusign eSignature REST API authentication

I am trying to integrate Docusign in my Web application. The website workflow will be as follows:
Users visit my website and log in.
Users will be given the option to choose Docusign Templates.
After selection, users need to sign that document.
After a successful signing, the signed document is sent to some authority.
My problem is how can I link my users to Docusign to sign. Does every user needs to have an account for embedded signing?? I need some help in understanding the flow of authentication and signing in DocuSign REST API. I have gone through the documentation but didn't understand properly. When I try to use the auth grant GitHub code to understand the flow. After logging in, it throws a null pointer exception. Please, someone, help me.
You can find code example in different languages to do what you're asking (sign from a template). You will want to use embedded signing so that the user sign as part of the app and not remote signing (via email).
As for your authentication question, no, signers never need to be part of the account. The sender can be a single user that is "sending" envelopes that are embedded in the app. So while there's no sending technically, you can think of it this way.
Hope this makes sense, please ask additional questions if not clear
recipientID is a GUID uniquely used to identify a recipient in DocuSign. When you create an envelope, each recipient should have one.
"and If the same name+email combination comes again, will it get the same signature or generate a new one?" It will remember it if they have an account.

Possibility of changing the signature for Embedded Users - DocuSign API

We are trying to integrate with DocuSign using the DocuSign REST API. What we have observed is that when a user who is not registered with DocuSign and is coming into DocuSign from the partner system as an embedded user, he does not see the prompts to adopt or draw a signature and Sign (Adopt and Sign feature). Where as these prompts are always seen for external users i.e. when emails are triggered from DocuSign directly to the signers mail box and this user happens to be an unregistered user, he will always see these prompts to adopt a suggestion signature or draw a new signature.
The external users also see the prompts to 'register with DocuSign' once they have completed signing the Documents.
One more thing observed while making our portal users embedded users is that DocuSign does not shoot emails to their mailboxes when all parties have completed signing. but this email is sent to all the external users.
Are all these behavior expected when it comes to integrating using the API or is it there a way to achieve these prompts and notifications via the API too.
I would be more than grateful if anyone could help us with this information.
Thank you!
Short answer is that everything described above is expected under certain conditions/configurations. Users who do NOT have DocuSign user accounts will be prompted to adopt their signature each time (since there is no account to 'save' it). For embedded signing, as long as you pass the same name/email#/clientUserID for a specific individual, DocuSign will remember the signature they adopted and re-apply it for future signature events.
If for some reason you want to clear the saved signature (https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Delete%20Captive%20Recipient%20Signature.htm?Highlight=delete%20captive)
The external users also see the prompts to 'register with DocuSign' once they have completed signing the Documents.
This is configurable in your account as "Signer can create account" under Preferences -> Features.
One more thing observed while making our portal users embedded users is that DocuSign does not shoot emails to their mailboxes when all parties have completed signing. but this email is sent to all the external users.
This is configurable in your account as "Use Envelope Complete Email for (non-suppressed) Embedded Signers" under Preferences -> Features.

Provisioning limited DocuSign REST API Access

A 3rd party website is offering our service to their members. When they sign up, members have to agree to our contract. Currently this is handled manually, with envelopes being sent through email. We want to streamline this process allowing members to enter their information into the web site, and then immediately be presented with a contract to review and sign.
The 3rd party web site will collect the member information, then use the REST API to create a draft envelope based on a Template and information the the member enters on the website. The application will then display the contract in the web page so that the user can review and sign it. The document workflow will ensure that signed copies are routed to appropriate parties within our company via email for completion.
We want the 3rd party web site to have access to an account to which we can share templates. We want the 3rd party application to have very limited capabilities trhough the API:
Submit requests using a User ID and Integrator Key that we provide. These credentials need be different from other User Ids and Integrator Keys under our account
Create a draft envelope based on the templates we provide
Post a Recipient View allowing the application to display the document for review and siganture (in an IFrame)
Receive the signing status via the return URL provided in the Recipient View post
Possibly request status for an envelope
The external application should not have access to other templates, documents, or unnecessry API calls.
We want to be able to cancel the application's access at any time.
Question: Permissions and API Limitations
Is the above scenario feasible with respect to establishing limited access to the DocuSign REST API? How would we set this up?
Do account user permissions limit API use, if the API is enabled for the user? I found these settings in the user permissions section of the documentation. I can make guesses as to how to set them, but I need guidance on the actual implications of some settings.
Submit DocuSign API Requests: true
Manage Account: false
Send Envelope: true
Manage Templates: Use
DocuSign Desktop Client: false
Transfer Envelopes to User: false
Allow sender to set email language for recipients: false
I assume "Account-Wide Rights" should be false, but under that option in the documentation, it lists RequestStatus as one of calls covered. Will an application embedding the signing process still have sufficient permissions to complete the tasks listed above if "Account-Wide Rights" is false?
Are there other settings or issues I need to consider?
Firstly, thanks for using DocuSign. The answer to your question is in a few different parts. To clarify, I am answering assuming:
1.) You are a current customer (or about to be one) of DocuSign.
2.) You have a plan that is set up to allow integration (IE you aren't trying to do all of this with a personal plan, or something like that).
There are a couple of terms I will use... Sender and Recipient. In this scenario, the THird Party Website is "the sender" and they are Sending the documents through YOUR DocuSign account, using the API. The people who are signing up for your service are going to be Envelope Recipients.
Just like with the post office, someone has to send, and someone gets the envelope.
So far so good.
So what will happen is that the third party website will write some code that knows how to talk to the DocuSign API, and you will need to know:
-DocuSIgn Account ID (this is your DocuSign account)
-The Integrator Key (this is the key that you will need to certify before going live, which identifies all those API calls as coming from them)
-Credentials to access your account (this can be either the actual creds, or a token, etc).
Now, there are two ways to do it. You can either have the third party website make the and send all of the envelopes as if they all came from a single "user" in DocuSign (likely) or if you know that a particular user should send out things, you can do that too.
I am going to assume that all of the sign up packets will be sent as if they came from something like Signup#company.com.
So you will make sure you have a user in your DocuSIgn account with that Email address and name, and make sure that user has the ability to send via the API (there's a setting in DocuSign admin), and all envelopes will be sent as if that "person" sent them.
You will need the settings for that user (the one that will "send" all the envelopes), set as you showed above. You would need the Account Wide access if you wanted to send "on behalf of" a different user. But you aren't doing that, so you should be cool.
The last thing is that you will need to make sure you have an envelope based plan (as opposed to a seat based plan) because otherwise, that one mega-user will look suspicious (sending hundreds of envelopes in an automated fashion).
I hope this answers the question?
-Dan

Resources