nimisha
nimisha

Reputation: 25

is there any way to create a template using docusign api

i am using the rest api (in php-codeigniter) for docusign. Currently i am creating templates from demo.docusign.net. Is there any API call to create a docusign template from my site by uploading a document ?

Upvotes: 2

Views: 2280

Answers (3)

David W Grigsby
David W Grigsby

Reputation: 1574

Yes,

The VERB is POST and the URI is {vx}/accounts/{accountid}/templates

Documentation Here

The DocuSign REST API Operations is at https://www.docusign.net/restapi/help#

Also the endpoint information is covered in this other Stack Overflow Question What WSDL URL to use for SOAP using Sandbox account?

The DocuSign Online Help Documentation is at https://docs.docusign.com/esign

Upvotes: 3

Kenneth P.
Kenneth P.

Reputation: 1816

Here is my solution from this post here. I uploaded an HTML file as a template for the signature document. This will able to give you an idea how to upload files as template.

// set recipient information
$recipientName = "";
$recipientEmail = "";

// configure the document we want signed
$documentFileName = "/../document.html";
$documentName = "document.html";

// instantiate a new envelopeApi object
$envelopeApi = new DocuSign\eSign\Api\EnvelopesApi($this->getApiClient());

// Add a document to the envelope
$document = new DocuSign\eSign\Model\Document();
$document->setDocumentBase64(base64_encode(file_get_contents(__DIR__ . $documentFileName)));
$document->setName($documentName);
$document->setFileExtension('html');
$document->setDocumentId("2");

// Create a |SignHere| tab somewhere on the document for the recipient to sign
$signHere = new \DocuSign\eSign\Model\SignHere();
$signHere->setXPosition("100");
$signHere->setYPosition("100");
$signHere->setDocumentId("2");
$signHere->setPageNumber("1");
$signHere->setRecipientId("1");

// add the signature tab to the envelope's list of tabs
$tabs = new DocuSign\eSign\Model\Tabs();
$tabs->setSignHereTabs(array($signHere));

// add a signer to the envelope
$signer = new \DocuSign\eSign\Model\Signer();
$signer->setEmail($recipientEmail);
$signer->setName($recipientName);
$signer->setRecipientId("1");
$signer->setTabs($tabs);
$signer->setClientUserId("1234");  // must set this to embed the recipient!

// Add a recipient to sign the document
$recipients = new DocuSign\eSign\Model\Recipients();
$recipients->setSigners(array($signer));
$envelop_definition = new DocuSign\eSign\Model\EnvelopeDefinition();
$envelop_definition->setEmailSubject("[DocuSign PHP SDK] - Please sign this doc");

// set envelope status to "sent" to immediately send the signature request
$envelop_definition->setStatus("sent");
$envelop_definition->setRecipients($recipients);
$envelop_definition->setDocuments(array($document));

// create and send the envelope! (aka signature request)
$envelop_summary = $envelopeApi->createEnvelope($accountId, $envelop_definition, null);
echo "$envelop_summary\n";

If you need more in depth information you can visit the docusign page.

Upvotes: 2

Jeff Kyllo
Jeff Kyllo

Reputation: 698

In case it isn't clear, you can also upload a document when creating an envelope via the API. Thus you can bypass creating a template if you don't actually need one.

Upvotes: 1

Related Questions