DocuSign® is The Global Standard for Digital Transaction Management. Accessible anytime, anywhere on any device, global enterprises, business departments, individual professionals, and consumers in all industries solve their paper problems by replacing manual, paper-based methods with DocuSign. The result is accelerated transactions that increase speed to results, reduce costs, improve visibility and control, and delight customers. DocuSign helps you keep business digital with the easiest, fastest, most secure way to send, sign, manage and store documents in the cloud.

Now UnityBase support DocuSign by model ub_model_dses. You can create your own envelope, define document and signers for it and subscribe for DocuSign envent notifications, witch is emited when DocuSign calls application calback.

Getting started

Create your developer sandbox and generate an Integrator Key. Enable docusign-connect.

Add model ub_model_dses to your application.

Install required npm modules for ub_model_dses. >cd <path to ub_model_dses> >npm install

Fill docusign section in customSettings section of application config

{
    ...
	"application": {
	    ...
		"customSettings": {
		    ...
			"docuSign": {
			    "userName": "<userName>",
			    "password": "<password>",
			    "integratorKey": "<integratorKey>",
			    "apiUrl": "https://demo.docusign.net/restapi"//"https://docusign.net/restapi" for production
			}
			...
		}
	    ...
	}
	...
}

Be sure that method dses_envelope.eventNotification is accessible for anonymous user and UB is accessible for DocuSign.

Now you are redy to use ub_model_dses

For production you have to Purchase an API Plan and enable your Integrator Key

Quick demo

Set up a Autotest application, run it, go to adminui. Enter into TEST decktop and enter into Docusign test shortcut. Create new envelope. Add document(with content) and receiver (with email). Press send button. Now you can see new envelope in your DocuSign accout in documents section.

Also all your recepients will get email notification then they must sign documents. After all recipients sign document Docusign will call UB method rest/dses_envelope/eventNotification (UB must be accessible for DocuSign) and your document's content will be updated(it can take several time).

Using

Creating new envelope

Method dses_envelope.addEnvelope

dses_envelope.addEnvelope({
    entity: 'tst_docusign',
	entityID: <tst_docusignID>,
	emailSubject: 'Please Sign my tst_docusign Envelope',
	emailBlurb: 'Hello, Please sign my my tst_docusign Envelope.',
	documents: [{
        entity: 'tst_document',
        attribute: 'fileStoreSimple',
        id: <tst_documentID1>,
        documentId: 1
	},{
        entity: 'tst_document',
        attribute: 'fileStoreSimple',
        id: <tst_documentID2>,
        documentId: 2
	}],
	signers: [{
            email: <email1>,
            fullName: <fullName1>,
            tabs: {
                signHere: [{
				    documentId: 1,
					pageNumber: 1,
					xPosition: 10,
					yPosition: 10
				},{
				    documentId: 2,
					pageNumber: 1,
					xPosition: 10,
					yPosition: 10
				}],
                fullName: [{
				    documentId: 1,
					pageNumber: 1,
					xPosition: 10,
					yPosition: 50
				}],
                dateSigned: [{
				    documentId: 2,
					pageNumber: 1,
					xPosition: 10,
					yPosition: 50
				}]
            }
	},{
            email: <email2>,
            fullName: <fullName2>,
            tabs: {
                signHere: [{
				    documentId: 2,
					pageNumber: 1,
					xPosition: 100,
					yPosition: 10
				}],
                fullName: [{
				    documentId: 2,
					pageNumber: 1,
					xPosition: 100,
					yPosition: 50
				}]
            }
	}]
});

Event Notifications

Event, than call method dses_envelope.addEnvelope emits next events : dses:Created, dses:Sent, dses:Delivered, dses:Signed, dses:Completed, dses:Declined, dses:Voided. You can subscribe for some of them.

tst_docusign.on('dses:Completed',function(id, envelopeID){dses_envelope.updateDocuments(envelopeID);});

See also

ub_model_dses module