dalmarcolucas/docusign

DocuSign Rest API Wrapper for Laravel.

Installs: 1

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

pkg:composer/dalmarcolucas/docusign

v0.3.0 2025-12-28 17:50 UTC

README

This package was developed to utilize e-contract/signatures directly within a Laravel based CRM.

Latest Stable Version Total Downloads

Refer to

Latest Docusign API Documentation for outdated links.

Also see my eOriginal package

Installation

Using Composer

Add the package to your project:

composer require dalmarcolucas/docusign:0.4*@dev

Or add the following to your composer.json file:

"dalmarcolucas/docusign": "0.4*@dev"

Then run composer install or composer update to download and install.

Service Provider Registration

For Laravel 5.5 and above, the package uses auto-discovery, so the service provider and facade are automatically registered.

If you're using an older version of Laravel or need to register manually, add the service provider to your config/app.php file within the providers array:

'providers' => [
    Tjphippen\Docusign\DocusignServiceProvider::class,
]

Facade Registration

The package includes an auto-registered facade which provides the static syntax for managing envelopes, recipients, etc. If you have issues or need to register it manually, add it to your aliases array in config/app.php:

'aliases' => [
    '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