nextgi / docusign
DocuSign Rest API Wrapper for Laravel 5
Requires
- php: >=5.4.0
- guzzlehttp/guzzle: ~6.0
- illuminate/support: ~5.1
- laravel/framework: 5.*
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-10-11 06:56:41 UTC
README
- Version 0.4 will be released mid September & include Docusign Connect, trait enhancements, plus an easy to use tab generator method.
- Please let me know any additional features you'd like & I'll try to squeeze them in :P
Installation
Add the following to your composer.json
file.
"tjphippen/docusign": "0.3.*@dev"
Then run composer install
or composer update
to download and install.
You'll then need to register the service provider in your config/app.php
file within providers
.
'providers' => array( Tjphippen\Docusign\DocusignServiceProvider::class, )
DocuSign includes a auto registered facade which provides the static syntax for managing envelopes, recipients etc. If you have issues simply add it manually to your aliases array
'aliases' => array( 'Docusign' => Tjphippen\Docusign\Facades\Docusign::class, )
Create configuration file using artisan
$ php artisan vendor:publish
The configuration file will be published to config/docusign.php
which must be completed to make connections to the API.
/** * The DocuSign Integrator's Key */ 'integrator_key' => '', /** * The Docusign Account Email */ 'email' => '', /** * The Docusign Account Password */ 'password' => '', ...
Examples
Get List of Users
Docusign::getUsers();
Get Individual User
Docusign::getUser($userId); Docusign::getUser($userId, true); // When true, the full list of user information is returned for the user.
Get Folders
Docusign::getFolders(); // By default only the list of template folders are returned Docusign::getFolders(true); // Will return normal folders plus template folders
Get Folder Envelope List
Docusign::getFolderEnvelopes($folderId);
See: All Parameters for this method.
Docusign::getFolderEnvelopes($folderId, array( 'start_position' => 1, // Integer 'from_date' => '', // date/Time 'to_date' => '', // date/Time 'search_text' => '', // String 'status' => 'created', // Status 'owner_name' => '', // username 'owner_email' => '', // email );
Get List of Templates
Docusign::getTemplates();
Or with Additional Parameters.
Docusign::getTemplates(array( 'folder' => 1, // String (folder name or folder ID) 'folder_ids' => '', // Comma separated list of folder ID GUIDs. 'include' => '', // Comma separated list of additional template attributes ... );
Get Template
Docusign::getTemplate($templateId);
Get Multiple Envelopes
$envelopes = array('49d91fa5-1259-443f-85fc-708379fd7bbe', '8b2d44a-41dc-4698-9233-4be0678c345c'); Docusign::getEnvelopes($envelopes);
Get Individual Envelope
Docusign::getEnvelope($envelopeId);
Get Envelope Recipient
Docusign::getEnvelopeRecipients($envelopeId);
To include tabs simply set the second parameter to true:
Docusign::getEnvelopeRecipients($envelopeId, true);
Get Envelope Custom Fields
Docusign::getEnvelopeCustomFields($envelopeId);
Get Tab Information for a Recipient
See: Tab Parameters
Docusign::getEnvelopeTabs($envelopeId, $recipientId);
Modify Tabs for a Recipient
This one is a bit tricky. The tabId
is required and must be within set of arrays.
See: [Tab Types and Parameters] (https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Tab%20Parameters.htm)
$tabs = ['textTabs' => [['tabId' => '270269f6-4a84-4ff9-86db-2a572eb73d99', 'value' => '123 Fake Street']]]; Docusign::updateRecipientTabs($envelopeId, $recipientId, $tabs);
Create/Send an Envelope from a Template
See: Send an Envelope or Create a Draft Envelope for full list of parameters/options.
Docusign::createEnvelope(array( 'templateId' => 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', // Template ID 'emailSubject' => 'Demo Envelope Subject', // Subject of email sent to all recipients 'status' => 'created', // created = draft ('sent' will send the envelope!) 'templateRoles' => array( ['name' => 'TJ Phippen', 'email' => 'tj@tjphippen.com', 'roleName' => 'Contractor', 'clientUserId' => 1], ['name' => 'Jane Someone', 'email' => 'demo@demo.com', 'roleName' => 'Customer']), ));
Modify Draft Envelope Email Subject and Message
The updateEnvelope
method can be used in a variety of ways..
Docusign::updateEnvelope($envelopeId, array( 'emailSubject' => 'New Email Subject', // Required 'emailBlurb' => 'Email message body text' ));
Post Recipient View
Returns embeded signing URL. [Reference] (https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Post%20Recipient%20View.htm)
Docusign::createRecipientView($envelopeId, array( 'userName' => 'TJ Phippen', 'email' => 'tj@tjphippen.com', 'AuthenticationMethod' => 'email', 'clientUserId' => 1, // Must create envelope with this ID 'returnUrl' => 'http://your-site.tdl/returningUrl' ));
Send Draft Envelope
Docusign::updateEnvelope($envelopeId, ['status' => 'sent']);
Void Envelope
Docusign::updateEnvelope($envelopeId, array( 'status' => 'voided', 'voidedReason' => 'Just Testing' ));
Delete Envelope
Docusign::deleteEnvelope($envelopeId);
Change Log
v0.2.0
- Updated Guzzle dependancy & namespace
v0.2.0
- Added trait
v0.1.0
- Released