Skip to content

Instantly share code, notes, and snippets.

@Ergin008
Last active March 21, 2016 23:24
Show Gist options
  • Save Ergin008/9365db1dc1b670fe0b01 to your computer and use it in GitHub Desktop.
Save Ergin008/9365db1dc1b670fe0b01 to your computer and use it in GitHub Desktop.
code snippet that shows how to create and send an envelope using the DocuSign PHP Client
<?php
// set recipient information
$recipientName = "[RECIPIENT_NAME]";
$recipientEmail = "[RECIPIENT_EMAIL]";
// configure the document we want signed
$documentFileName = "[PATH/TO/DOCUMENT.PDF]";
$documentName = "TestFile.pdf";
// instantiate a new envelopeApi object
$envelopeApi = new DocuSign\eSign\Api\EnvelopesApi($apiClient);
// 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->setDocumentId("1");
// 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("1");
$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);
// 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";
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment