ets/echosign-bundle

EchoSign Bundle contains methods to interact with EchoSign WebServices

Installs: 2 501

Dependents: 1

Stars: 4

Watchers: 16

Forks: 1

Language: PHP

0.2.4 2014-07-04 15:20 UTC

README

ETSEchoSignBundle provides a wrapper to EchoSign APIs: https://secure.echosign.com/public/docs/EchoSignDocumentService16

Build Status Scrutinizer Code Quality SensioLabsInsight

Installation

You can install the bundle by using composer.

composer.phar require ets/echosign-bundle

Use dev-master when it asks which version to install.

Enabling the bundle

Enable the bundle in the kernel:

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new ETS\EchoSignBundle\ETSEchoSignBundle()
    );
}

Configuration

The bundle requires mandatory parameters, in your config.yml:

ets_echo_sign:
    api:
        key:  YOUR_API_KEY
        gateway:  ECHOSIGN_API_GATEWAY #e.g: https://secure.echosign.com/services/EchoSignDocumentService16
        wsdl:  ECHOSIGN_API_WSDL_URL #e.g: https://secure.echosign.com/services/EchoSignDocumentService16?wsdl

You could also activate the debug option:

ets_echo_sign:
    debug:
        prefix:  YOUR_PREFIX

It does nothing more than adding the prefix to the filename when uploading. Since EchoSign offers no way to organize your files, the prefix should help you classify uploaded files in a "cleaner" way. For example, you could have a prefix "DEV_" for local development, "PREPROD_" for preprod environment.

And you have to specify a list of email addresses to use as recipients:

ets_echo_sign:
    recipients:  [email1@corp.com]

Available APIs

Client service offers wrappers to the most used methods:

  • sendDocument
  • getDocumentInfo
  • removeDocument
  • getMyDocuments

To send a document:

$recipients = new RecipientInfoCollection('recipient@test.com');
$fileCollections = new FileInfoCollection();
$fileCollections->addFileInfo(new FileInfo('file.pdf', 'file.pdf'));
$documentCreationInfo = new DocumentCreationInfo($recipients, 'Test document', $fileCollections);
$this->getContainer()->get('ets.echo.sign.client')->sendDocument($documentCreationInfo);

The method returns the document key of the newly uploaded file

To get info on a document

$this->getContainer()->get('ets.echo_sign.client')->getDocumentInfo($documentKey);

If the document doesn't exist, it will return null instead of a SoapFault exception as implemented by the original API.

To remove a document

$this->getContainer()->get('ets.echo_sign.client')->removeDocument($documentKey);

To retrieve all documents

$this->getContainer()->get('ets.echo_sign.client')->getMyDocuments();

Code License:

Resources/meta/LICENSE