<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DocuSign Blog &#187; DevCenter</title>
	<atom:link href="http://www.docusign.com/blog/tag/devcenter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.docusign.com/blog</link>
	<description>DocuSign News &#38; Electronic Signature Tips &#38; Ideas</description>
	<lastBuildDate>Wed, 01 Sep 2010 15:53:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Electronic Signature Code Walkthrough: Embedded Signing</title>
		<link>http://www.docusign.com/blog/2010/08/19/electronic-signature-code-walkthrough-embedded-signing/</link>
		<comments>http://www.docusign.com/blog/2010/08/19/electronic-signature-code-walkthrough-embedded-signing/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 16:43:06 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[documents]]></category>
		<category><![CDATA[e sign]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[e signatures]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[esign api]]></category>
		<category><![CDATA[esignatures]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[recipients]]></category>
		<category><![CDATA[remote signing]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=3515</guid>
		<description><![CDATA[
Overview
When planning your application integration with DocuSign, you should consider how you want to handle the signing process. DocuSign offers two methods of running a Signing Ceremony, known as Remote and Embedded Signing.
Remote signing is when DocuSign sends email invitations to the Recipients, and the Recipients click on a link in the email to go [...]]]></description>
			<content:encoded><![CDATA[<h3><a href="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-19-at-8.14.30-AM.png"><img class="alignright size-medium wp-image-3524" title="Screen shot 2010-08-19 at 8.14.30 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-19-at-8.14.30-AM-300x195.png" alt="Electronic Signature Code Walkthrough: Embedded Signing" width="300" height="195" /></a></h3>
<h3>Overview</h3>
<p>When planning your application integration with DocuSign, you should consider how you want to handle the signing process. DocuSign offers two methods of running a Signing Ceremony, known as Remote and Embedded Signing.</p>
<p>Remote signing is when DocuSign sends email invitations to the Recipients, and the Recipients click on a link in the email to go to the DocuSign site and sign the documents. DocuSign takes care of everything – sending emails to the Recipients, handling all of the possible actions that they can take during signing, providing access to the signed documents after the signing ceremony is complete. It’s very easy to use, and doesn’t require any setup so it’s a good choice if you need to get up and running quickly. Here’s how it might work in a sample application.</p>
<p>Let’s say that you have a web application that collects some information from your customer, and prepares an envelope with the documents that the customer needs to sign. You send the envelope, and then inform your customer that they will receive an email from DocuSign, and that they will need to click on the link in the email to start the signing process. Then, once the signing is complete, your application can be notified via a status callback from DocuSign, and you can then take additional steps as necessary.</p>
<p>For some applications this is the most desirable flow, but for others it isn’t. It splits the customer interaction into multiple processes – the customer interacts with your application, then they leave your application and interact with DocuSign, and then they (at some future point) interact with your application again. At any point the customer may abandon the transaction, or forget to complete it. Neither of these outcomes is desirable.</p>
<p>You can avoid these issues by using the Embedded Signing pattern. Embedded Signing allows you to host the signing process in your own application and manage the customer interactions directly. It allows you to put your own processes around the signing ceremony to accomplish complex workflows.</p>
<h3>How Embedded Signing Works</h3>
<p>Embedded Signing works by running a streamlined version of the DocuSign service inside of an iframe in your web application. Your application will make a request to DocuSign to start an Embedded Signing session for a particular Recipient, and DocuSign will provide you with a single use url (known as a RecipientToken) that can be used to start the session.</p>
<p>Your application will then set the iframe’s src attribute to this url, and the Embedded Signing session will start.<br />
While the session is running, DocuSign will conduct the signing ceremony in the iframe. When the Recipient concludes the signing ceremony by signing the documents (or indicating that they do not wish to sign), DocuSign will redirect the iframe to an url, known as a ClientURL, designated by you. When your application detects that the ClientURL is requested, you can then continue with your application workflow.</p>
<p><strong>The RecipientToken</strong><br />
Let’s look at the RecipientToken workflow in more detail.<br />
First, you need to indicate which Recipients can use Embedded Signing when you send the Envelope. You do this by setting the CaptiveInfo object on the Recipient object. You can set the CaptiveInfo object on as many Recipients as you like, but you have to set it when you send the Envelope. The CaptiveInfo object has a single property named ClientUserId, and you must set this to some value that is unique on the Envelope. You can use something simple like “1” or “2”, or you can use some localID that is significant in your application – like a customerId. It just has to be unique on the envelope because this value will be used along with the Recipient’s Name and Email to request the RecipientToken. Remember that while the you can have multiple Recipients with the same Name and Email address (because the same person can act in multiple roles on a single envelope), they must all have different ClientUserIds.</p>
<p>Here’s an example of setting up a Recipient with the CaptiveInfo ClientUserId. In a real application this would have to be done on an Envelope of course – you can review the <a href="http://www.docusign.com/blog/2010/07/22/code-walkthrough-create-and-send-electronic-signature-envelope/">Create And Send Envelope walkthrough</a> to see a complete Envelope setup.</p>
<pre>//.NET
	Recipient recipient= new Recipient();
	recipient.Email = "test@docusign.com";
	recipient.UserName = "Test User";
	recipient.ID = "1";
	recipient.Type = RecipientTypeCode.Signer;
	recipient.RequireIDLookup = false;
	recipient.CaptiveInfo = new RecipientCaptiveInfo();
	recipient.CaptiveInfo.ClientUserId = "1";</pre>
<pre>//PHP
	$Recipient = new Recipient();
	$Recipient-&gt;Email = "test@docusign.com";
	$Recipient-&gt;UserName = "Test User";
	$Recipient-&gt;ID = "1";
	$Recipient-&gt;Type = "Signer";
	$Recipient-&gt;RequireIDLookup =false;
	$Recipient-&gt;CaptiveInfo-&gt;ClientUserId ="1";</pre>
<p>Second, you have to get a RecipientToken for each Recipient that you want to have sign. When you get a Token, it is locked to the Recipient that you specify in the parameters. If you are having multiple Recipients sign, you will have request multiple RecipientTokens. Also note that the RecipientToken is a single use token. Once you use it, it is marked as used and if you try to reuse it, you will get an error. The RecipientToken also has a timeout (five minutes by default), so if you request a RecipientToken and try to use it ten minutes later, you will get an error.</p>
<p>The way to get a RecipientToken is the RequestRecipientToken API method. This method has a couple of parameters that we haven’t discussed yet, so let’s cover those and then we’ll show some code samples.</p>
<p><strong>The Authentication Assertion</strong><br />
Part of Embedded Signing is allowing you to authenticate the Recipients who will be signing the documents. In exchange for DocuSign allowing you to do this, you have to supply DocuSign with a record referencing your authentication record, and the time, method, and domain of the authentication. The parameters are:</p>
<table border="1">
<tbody>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
<tr>
<td>AuthenticationID</td>
<td>The recordId of your authentication record. For example, if you are tracking authentications in a log table, you could use the logId of the authentication event here.</td>
</tr>
<tr>
<td>AuthenticationInstant</td>
<td>The date and time that the authentication was performed.</td>
</tr>
<tr>
<td>AuthenticationMethod</td>
<td>An enumerated value that has common security methods listed, like ‘password’, ‘certificate’, etc.</td>
</tr>
<tr>
<td>SecurityDomain</td>
<td>An identifier used to distinguish which part of your application performed the authentication. You can pass any value here – you might use the url of your website, or a string value like ‘CustomerPortal’, or your app name, etc.</td>
</tr>
</tbody>
</table>
<p><strong>ClientURLs</strong><br />
ClientURLs are an array of urls that are used when the Signing Ceremony is completed. The Array is keyed by event codes, so you can specify different urls for different events. There are currently 10 different events, and this may increase in the future. The exhaustive list is always specified in the API Documentation, but here is the current list (August 2010):</p>
<table border="1">
<tbody>
<tr>
<th>Event</th>
<th>Description</th>
</tr>
<tr>
<td>OnSigningComplete</td>
<td>The Recipient successfully completed the signing the document.</td>
</tr>
<tr>
<td>OnViewingComplete</td>
<td>The Recipient successfully viewed the document.</td>
</tr>
<tr>
<td>OnCancel</td>
<td>The Recipient cancelled the document while viewing the envelope.</td>
</tr>
<tr>
<td>OnDecline</td>
<td>The recipient declined the envelope.</td>
</tr>
<tr>
<td>OnSessionTimeout</td>
<td>The recipient session has timed out.</td>
</tr>
<tr>
<td>OnTTLExpired</td>
<td>If a Recipient Token URL is invoked after it is expired.</td>
</tr>
<tr>
<td>OnAccessCodeFailed</td>
<td>The Recipient failed to provide the correct Access Code.</td>
</tr>
<tr>
<td>OnIdCheckFailed</td>
<td>The Recipient failed to pass the ID Check authentication questions.</td>
</tr>
<tr>
<td>OnException</td>
<td>If an exception is thrown.</td>
</tr>
<tr>
<td>OnFaxPending</td>
<td>If a faxed in document is pending.</td>
</tr>
</tbody>
</table>
<p>Since there are different event codes, you can decide to use different pages on your site for each event, or you can use a single url with different parameters to indicate which event occurred. This latter method is usually employed just to reduce the amount of code that you maintain in your application.</p>
<p><strong>ClientURLs and Security. </strong><br />
Although DocuSign is using these urls to signal your application, you should always confirm events by checking the status of the transaction whenever you receive one of these events. This is because a clever attacker could determine what your ClientURLs are and attempt to spoof your application by beginning a transaction and then manually requesting the SigningComplete ClientURL which would indicate that the signing is complete when it is not. Always confirm the transaction status when you get the Callback event.</p>
<p><strong>The Code</strong><br />
Ok, let’s look at some sample code for this.</p>
<pre>//.NET
	string EnvelopeId = "Your EnvelopeID Here";

	// All of these three values must match an existing Recipient on the specified Envelope
	string UserName = "Test User";
	string Email = "test@docusign.com";
	string ClientUserId = "1";

	RequestRecipientTokenAuthenticationAssertion assert = new RequestRecipientTokenAuthenticationAssertion();
	assert.AssertionID = "Your AssertionID Here";
	assert.AuthenticationInstant = DateTime.Now;
	assert.AuthenticationMethod = RequestRecipientTokenAuthenticationAssertionAuthenticationMethod.Password;
	assert.SecurityDomain = "YourApp.com";

	RequestRecipientTokenClientURLs clientURLs = new RequestRecipientTokenClientURLs();

	clientURLs.OnAccessCodeFailed = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnAccessCodeFailed";
	clientURLs.OnCancel = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnCancel";
	clientURLs.OnDecline = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnDecline";
	clientURLs.OnException = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnException";
	clientURLs.OnFaxPending = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnFaxPending";
	clientURLs.OnIdCheckFailed = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnIdCheckFailed";
	clientURLs.OnSessionTimeout = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnSessionTimeout";
	clientURLs.OnSigningComplete = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnSigningComplete";
	clientURLs.OnTTLExpired = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnTTLExpired";
	clientURLs.OnViewingComplete = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnViewingComplete";

	// assumes apiService = preconfigured api proxy
	string RecipientToken = apiService.RequestRecipientToken(EnvelopeId,ClientUserId,UserName,Email,assert,clientURLs);

	// now we would set the iframe src attribute location to RecipientToken.</pre>
<pre>// PHP
	$RequestRecipientTokenParams = new RequestRecipientToken();
	$RequestRecipientTokenParams-&gt;EnvelopeID = "Your EnvelopeID Here" ;

	// All of these three values must match an existing Recipient on the specified Envelope
	$RequestRecipientTokenParams-&gt;Username = "Test User";
	$RequestRecipientTokenParams-&gt;Email = "test@docusign.com";
	$RequestRecipientTokenParams-&gt;ClientUserID = "1";
	//
	$RequestRecipientTokenParams-&gt;AuthenticationAssertion-&gt;AssertionID = "Your AssertionID Here";
	$RequestRecipientTokenParams-&gt;AuthenticationAssertion-&gt;AuthenticationInstant = date("Y")."-".date("m")."-".date("d")."T00:00:00.00";
	$RequestRecipientTokenParams-&gt;AuthenticationAssertion-&gt;AuthenticationMethod = "Password";
	$RequestRecipientTokenParams-&gt;AuthenticationAssertion-&gt;SecurityDomain = "YourApp.com";

	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnAccessCodeFailed =  "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnAccessCodeFailed";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnCancel = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnCancel";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnDecline =  "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnDecline";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnException = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnException";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnFaxPending =  "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnFaxPending";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnIdCheckFailed =  "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnIdCheckFailed";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnSessionTimeout ="https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnSessionTimeout";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnSigningComplete =  "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnSigningComplete";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnTTLExpired = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnTTLExpired";
	$RequestRecipientTokenParams-&gt;ClientURLs-&gt;OnViewingComplete = "https://YourApp.com/DocuSignCallback.html?envelopeId=YourEnvelopeId&amp;event=OnViewingComplete";

	// assumes $api = preconfigured api proxy
	$RequestRecipientTokenResponse = $api-&gt;RequestRecipientToken($RequestRecipientTokenParams);

	$RecipientToken = $RequestRecipientTokenResponse-&gt;RequestRecipientTokenResult;

	// now we would set the iframe src attribute location to $RecipientToken.</pre>
<p>As you can see, the code is pretty straightforward. One thing to remember is that you have to use absolute, rather than relative, Urls for the ClientURLs. This is because the redirect will be evaluated against the iframe’s current url, rather than the url of your hosting page. It’s best to come up with some function to dynamically build the ClientURLs – for example, by inspecting the current hostname – rather than hardcoding them.</p>
<p>Now that we have the RecipientToken, we just set our iframe’s src attribute to this and let the session run. When the session is complete, the appropriate ClientURL will be loaded in the iframe. You will probably want to break out of the frame at this point – One pattern that you will see in the LoanCo and InsuranceCo samples is the use of a simple html page as the ClientURL, and then that page redirects the top frame to the appropriate page (signingreturn.php or signingreturn.aspx as appropriate) when it loads:</p>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-19-at-8.01.34-AM.png"><img class="aligncenter size-medium wp-image-3522" title="Screen shot 2010-08-19 at 8.01.34 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-19-at-8.01.34-AM-300x110.png" alt="Electronic Signature Code Walkthrough: Embedded Signing" width="450" height="165" /></a>Then when the actual signingreturn page loads you can inspect the event and envelopeId parameters and check the status of the transaction.</p>
<p>That concludes our walkthrough. I highly recommend that you read the relevant sections of the official API Documentation as well – it covers all the details of the process and is the authoritative guide. And remember to check the <a href="http://www.docusign.com/developers-center/developers-center-overview">DocuSign DevCenter</a> if you have any questions or need additional resources.</p>
<p><strong>Additional Resources</strong></p>
<ul>
<li><a href="http://www.docusign.com/blog/2010/08/12/electronic-signature-code-walkthrough-the-requeststatus-methods/">RequestStatus code walkthrough</a></li>
<li><a href="http://www.docusign.com/blog/2010/07/29/code-walkthrough-retrieving-documents-from-docusign/">Retrieving Documents code walkthrough</a></li>
<li><a href="http://www.docusign.com/developers-center/developers-center-overview">DocuSign DevCenter</a></li>
<li><a href="http://www.docusign.com/developers-center/documentation">Electronic Signature API Documentation</a></li>
</ul>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F08%2F19%2Felectronic-signature-code-walkthrough-embedded-signing%2F&amp;linkname=Electronic%20Signature%20Code%20Walkthrough%3A%20Embedded%20Signing"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/08/19/electronic-signature-code-walkthrough-embedded-signing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Electronic Signature Code Walkthrough: The RequestStatus Methods</title>
		<link>http://www.docusign.com/blog/2010/08/12/electronic-signature-code-walkthrough-the-requeststatus-methods/</link>
		<comments>http://www.docusign.com/blog/2010/08/12/electronic-signature-code-walkthrough-the-requeststatus-methods/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 12:00:32 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[documents]]></category>
		<category><![CDATA[e sign]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[e signatures]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[Envelope Object]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[recipients]]></category>
		<category><![CDATA[RequestStatus]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=3436</guid>
		<description><![CDATA[RequestStatus Methods
This walkthrough covers the RequestStatus family of methods. These methods are used to get the status of existing DocuSign Envelopes for electronic signature and are probably the most frequently used methods.
Of course, you should already be comfortable with working with webservices to follow along here. There will be code samples displayed in both C# [...]]]></description>
			<content:encoded><![CDATA[<h3>RequestStatus Methods</h3>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-11-at-3.53.04-PM.png"><img src="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-11-at-3.53.04-PM-300x225.png" alt="Electronic Signature Code Walkthrough: The RequestStatus Methods" title="Screen shot 2010-08-11 at 3.53.04 PM" width="300" height="225" class="alignright size-medium wp-image-3441" /></a>This walkthrough covers the RequestStatus family of methods. These methods are used to get the status of existing DocuSign Envelopes for electronic signature and are probably the most frequently used methods.</p>
<p>Of course, you should already be comfortable with working with webservices to follow along here. There will be code samples displayed in both C# (using .NET 3.5) and PHP, but you should already know how to get your local proxy class setup and your credentials entered.</p>
<h3>Getting Status</h3>
<p>So, let’s say that you’ve gone through the <a href="http://www.docusign.com/blog/2010/07/22/code-walkthrough-create-and-send-electronic-signature-envelope/">electronic signature code walkthrough on using the CreateAndSendEnvelope method</a> and sent your first envelope. After sending the envelope, you should receive the return value of the method, an EnvelopeStatus object containing a property called EnvelopeID, which is the DocuSign unique identifier for an envelope. <strong>You should always save this value somewhere in your application, because it is the primary means used to identify an envelope.</strong> If you want to get the status of an envelope, you need the EnvelopeID. If you want to download an envelope, you need the EnvelopeID. If you want to void an envelope, you need the EnvelopeID. You always want to keep the EnvelopeID.</p>
<h3>Here’s the RequestStatus method call:</h3>
<pre>//.NET
	string EnvelopeID = "Your EnvelopeID";
	EnvelopeStatus envStatus = apiService.RequestStatus(EnvelopeID);</pre>
<pre>//PHP
	$RequestStatusParams = new RequestStatus();
	$RequestStatusParams->EnvelopeID = "Your EnvelopeID";
	$result = $api->RequestStatus($RequestStatusParams);
	$envStatus = $result->RequestStatusResult;</pre>
<p>Pretty simple; you send in the EnvelopeID, and you get back an EnvelopeStatus object. The EnvelopeStatus object has a lot of information in it, so let’s take a look at it. The top level of the EnvelopeStatus object contains information about the Envelope itself – for example, the EnvelopeID, the Subject of the Envelope, the Username and Email of the Envelope Sender, timestamps for key events in the Envelope’s lifetime, etc. You will probably be most interested in the Status property. This is a string value that indicates where the Envelope is in the signing process. The values for Status are:</p>
<table border="1">
<tr>
<th>Status</th>
<th>Description</th>
</tr>
<tr>
<td>Created</td>
<td>The envelope was created but has not been sent yet. You typically see this on draft envelopes.</td>
</tr>
<tr>
<td>Sent</td>
<td>The envelope has been sent.</td>
</tr>
<tr>
<td>Delivered</td>
<td>At least one recipient has been notified to sign the envelope.</td>
</tr>
<tr>
<td>Signed</td>
<td>At least one recipient has signed the envelope.</td>
</tr>
<tr>
<td>Completed</td>
<td>All recipients have signed the envelope.</td>
</tr>
<td>Declined</td>
<td>A recipient indicated that they do not wish to sign the envelope.</td>
</tr>
<td>Voided</td>
<td>The envelope was cancelled by the sender.</td>
</tr>
<td>Deleted</td>
<td>The envelope was removed from the system.</td>
</tr>
<td>Template</td>
<td>The EnvelopeID refers to a Template, not an Envelope.</td>
</tr>
<td>Processing</td>
<td>The envelope is still being processed. This status is used with envelopes that are sent asynchronously and are placed in a queue pending processing.</td>
</tr>
</table>
<p>The Status value also has a timestamp value associated with it – for example, for a Created Status value there is an associated date-time value that indicates when the Status changed to Created, and the date-time associated with the Sent status tells you when an Envelope was sent.</p>
<p>Along with the Envelope level information, there are collections (or arrays) that provide status information on Recipients and CustomFields. A RecipientStatus object will let you see when the recipient received and signed the envelope, any extra authentication information that was used, and the status of the tabs assigned to the recipient.</p>
<p>Using the CustomFields status you can retrieve the value of any CustomFields that were specified when the envelope was sent. A CustomField is a collection of name-value pairs that are set by the sender and not visible to the recipients and they can be used to add information to an envelope that is useful to your application.</p>
<p>Of course, there are more status fields than the ones we’ve covered here – you can see the full list in the API documentation in the “EnvelopeStatus” section.</p>
<p>Now, let’s cover the rest of the RequestStatus family. There are actually four methods that differ based on the number of envelopes we are asking the status of and how much information we want to get back.</p>
<table border="1">
<tr>
<th>Method</th>
<th>Number of Envelopes</th>
<th>Extended Information</th>
</tr>
<tr>
<td>RequestStatus</td>
<td>Single</td>
<td>No</td>
</tr>
<tr>
<td>RequestStatusEx</td>
<td>Single</td>
<td>Yes</td>
</tr>
<tr>
<td>RequestStatuses</td>
<td>Multiple</td>
<td>No</td>
</tr>
<tr>
<td>RequestStatusesEx</td>
<td>Multiple</td>
<td>Yes</td>
</tr>
</table>
<h3>The Ex Methods</h3>
<p>The Ex suffix on an API method indicates that there will be additional elements returned in the status and that these elements might change. The current version of the API documentation indicates which additional elements are currently being returned. There might be additional elements added in subsequent releases, so you should be sure that your code can accept the surprise appearance of new status properties. The Ex method’s input parameters are identical to the standard version – so the RequestStatusEx method takes a single EnvelopeID, just like the RequestStatus method.</p>
<h3>The Es Methods</h3>
<p>The ‘Es’ methods indicate that the method operates on multiple envelopes at a time. Because of this, they take different input parameters than the single envelope versions and they return a different object. Although they still use the same EnvelopeStatus object described above, it’s just placed in an array in a wrapper object.</p>
<p>The input parameter to these methods is an EnvelopeStatusFilter. This object is used to specify search parameters to identify the set of envelopes that are reported on. You can specify the Sender’s Username and Email, a span of Dates for an envelope event (for example, all envelopes where the Signed date is between the start and end dates), the current status of the envelope, or even a list of specific EnvelopeIDs. The AccountID is a required parameter and is used to indicate which account is the target of the search. So your code should prepare an EnvelopeStatusFilter representing the search you want to perform, pass that in to the method, and in return you get a FilteredEnvelopeStatuses object.</p>
<p>The FilteredEnvelopeStatuses object has a property called ResultSetSize that tells you how many envelopes matched your criteria. It also contains the EnvelopeStatusFilter used to make the request and an array of up to 200 EnvelopeStatus objects.</p>
<p>The methods are limited to returning up to 200 status objects per call, so if you have a large resultset you will have to make multiple calls. You can do this by passing in the number that you want to start at each time as the StartAtIndex of the EnvelopeStatusFilter. If your initial response indicated that there were 300 envelopes that matched your criteria, you would have received the first 200 status objects in the response, and then you would call the method again, this time setting the StartAtIndex property of the EnvelopeStatusFilter to 200, and you would receive the last 100 status objects in the response.</p>
<p>Here is an example of a request to retrieve all envelopes that are in a Complete status and were sent in the last 24 hours.</p>
<pre>//.NET
	int StatusesReceived = 0;
	bool moreStatusesAvailable = true;
	FilteredEnvelopeStatuses statuses ;

	EnvelopeStatusFilter filter = new EnvelopeStatusFilter();
	filter.AccountId = "Your AccountID Here";
	filter.Statuses = new EnvelopeStatusCode[1];
	filter.Statuses[0] = EnvelopeStatusCode.Completed;
	filter.BeginDateTime = new EnvelopeStatusFilterBeginDateTime();
	filter.BeginDateTime.statusQualifier = "Sent";
	filter.BeginDateTime.Value = DateTime.Now.AddDays(-1);
	while (moreStatusesAvailable==true)
	{
		// apiService is an already configured api proxy
		statuses = apiService.RequestStatuses(filter);

		// do something with statuses here

		StatusesReceived += statuses.EnvelopeStatuses.Length;

		if (statuses.ResultSetSize == StatusesReceived)
		{
			moreStatusesAvailable = false;
		}
		else
		{
			filter.StartAtIndex = StatusesReceived.ToString();
		}
	}</pre>
<pre>//PHP
	$StatusesReceived = 0;
	$moreStatusesAvailable = true;

	$oneDay = 60 * 60 * 24;
	$BeginDateVal = date("c",time() - $oneDay);

	$filter = new EnvelopeStatusFilter();
	$filter->AccountId = "Your AccountID Here";
	$filter->Statuses[0] = "Completed";
	$filter->BeginDateTime->statusQualifier = "Sent";
	$filter->BeginDateTime->_ = $BeginDateVal;
	$RequestStatusesParam = new RequestStatuses();
	$RequestStatusesParam ->EnvelopeStatusFilter = $filter;

	while($moreStatusesAvailable === true){
		$result = $api->RequestStatuses($RequestStatusesParam);
		$statuses = $result->RequestStatusesResult;
		// do something with statuses

		// this check is because php won't create an empty status array if there are no results,
		if($statuses->ResultSetSize > 0){
			$StatusesReceived += count($statuses->EnvelopeStatuses->EnvelopeStatus);
		}

		if ($statuses->ResultSetSize === $StatusesReceived)
		{
			$moreStatusesAvailable = false;
		}
		else
		{
			$filter->StartAtIndex = $StatusesReceived;
		}
	}</pre>
<p>Both examples assume that you are doing something with the status results, like updating a local database, or preparing a list of documents to retrieve, etc.</p>
<p>So that’s the RequestStatus family. Be sure to check the API docs for full details on the methods and parameters, especially for the Ex methods. And as always, if you have any questions, please use the <a href="http://www.docusign.com/forums">DocuSign DevCenter forums</a> for assistance.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F08%2F12%2Felectronic-signature-code-walkthrough-the-requeststatus-methods%2F&amp;linkname=Electronic%20Signature%20Code%20Walkthrough%3A%20The%20RequestStatus%20Methods"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/08/12/electronic-signature-code-walkthrough-the-requeststatus-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Walkthrough: Anchor Tabs</title>
		<link>http://www.docusign.com/blog/2010/08/05/code-walkthrough-anchor-tabs/</link>
		<comments>http://www.docusign.com/blog/2010/08/05/code-walkthrough-anchor-tabs/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 16:27:35 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[anchor tabs]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Code Walkthrough]]></category>
		<category><![CDATA[e sign]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[e signatures]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[recipients]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=3386</guid>
		<description><![CDATA[Anchor Tab Overview
In this electronic signature code walkthrough, we&#8217;ll cover Anchor Tabs. If you want a general overview of DocuSign Tabs, you can click for more information. 
An Anchor Tab is any DocuSign Tab defined by its relative location to a string in the document’s text. To illustrate this, let’s consider the scenario of a [...]]]></description>
			<content:encoded><![CDATA[<h3>Anchor Tab Overview</h3>
<p><img src="http://www.docusign.com/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-05-at-9.13.57-AM-300x197.png" alt="Code Walkthrough: Anchor Tabs" title="Screen shot 2010-08-05 at 9.13.57 AM" width="300" height="197" class="alignright size-medium wp-image-3390" />In this electronic signature code walkthrough, we&#8217;ll cover Anchor Tabs. If you want a general overview of <a href="http://wiki.github.com/docusign/DocuSign-eSignature-SDK/concepts-tabs">DocuSign Tabs</a>, you can click for more information. </p>
<p>An Anchor Tab is any DocuSign Tab defined by its relative location to a string in the document’s text. To illustrate this, let’s consider the scenario of a user signing up for a new service. The user will have to sign a service contract, and this contract may change depending on where the user lives. When the contract changes, the place where the user must sign will also change – it will shift down the page as more lines are added to the contract.</p>
<p>If we attempt to use a Fixed Tab in this scenario, we will have to calculate the Fixed Tab location for every possible variant of the contract, and store those in our application, and then use the correct location depending on where the user lives. Clearly we don&#8217;t want to do this additional work.</p>
<p>The solution to this problem &#8211; Anchor Tabs. Since an Anchor Tab works by matching a string present in the document’s text, we would just need to examine the document and see if there is a suitable bit of text. Many contracts have something like “Sign Here” printed on the document, so we could use that as the anchor text, and then DocuSign would place a Signature Tab on the document everywhere it finds the text “Sign Here”.</p>
<p><b>Now, if for some reason we insert a new paragraph in the middle of the contract, and the “Sign Here” text moves down the page, the Signature Tab will follow it.</b></p>
<p>That’s the simple scenario, just to illustrate the concept. Let’s look a little deeper to examine some real implementation strategies.</p>
<h3>The Details</h3>
<p>Anchor Tab placement happens when your envelope is sent to DocuSign. DocuSign will parse the envelope. If it sees an Anchor Tab defined, then it will perform a Text search on the specified document. It will get the X &#038; Y coordinates of every instance of the anchor text, and create a new Fixed Location tab using those coordinates. It does this by finding the bounding box of the anchor text (basically the rectangle containing the text) and using the Lower Right corner of the bounding box as the Lower Left corner of the Tab.</p>
<p>You can fine tune the position of the placed Tab by setting the X and Y offset properties of the Anchor Tab. This will simply move the Tab in the X or Y from its calculated position. You can set the Units for the offset, so it can specified in Pixels, or Inches, or Centimeters, or Millimeters. Remember that the offset will be applied to every tab generated by the Anchor Tab – so if your anchor text is found in five places, you will get five Fixed Tabs, and they will all be shifted by the offset amount.</p>
<p>Selecting your Anchor Text can be challenging – sometimes it’s obvious, but other times it isn’t. Remember that you can use any text as an anchor, so as long as the text is in a fixed location relative to the signature block. You should also remember that the anchor text should only be present near the signature block – If you use a common word or phrase as the anchor, you will end up with a Tab at every place that the anchor text shows up in the document.</p>
<p>If you can’t find good anchor text in your document, you may be able to add it. One very common solution is to edit the contract, and place text strings in every location that needs a Tab. Once entered, you change the text to the document’s background color so they are effectively invisible but still parseable. You can utilize a naming convention that will help you assign the tabs correctly. For example, a signature tab for the first recipient might be indicated by placing ‘\s1\’ at the appropriate place, and the signature tab for the co-Signer could be indicated by ‘\s2\’. Initials could be indicated by ‘\i1\’ and ‘\i2\’, optional initials by ‘\oi1\’ and so on and so forth.</p>
<p>If you are having trouble getting the Tab placed correctly, you can always log in to the DocuSign console and create a new envelope with your document and use the Web Tagger to create Anchor Tabs and see them positioned in real time. This exercise will familiarize you with Anchor Tabs in general.</p>
<p>The Anchor Tab also supports a flag, called “IgnoreIfNotPresent”, that allows you to control what DocuSign will do if it doesn’t find the anchor text in the document. If this flag is set to False, then DocuSign will throw an exception if it doesn’t find the text. If it is true, then no exception will be thrown and the envelope will be sent. This allows you to specify Anchor Tabs that will be placed if the text is found, and ignored otherwise. This can be very handy if your documents are generated dynamically and may contain optional clauses that require initials if present.</p>
<h3>The Code</h3>
<p>So that we know all about Anchor Tabs, let’s place a couple of them. If you read the article on Create And Send Envelope , I’m using the same code here, so this will just be adding an anchor tab to the envelope that we constructed there. We will add a tab that looks for the text “X:”, and is offset 50 pixels right and 100 pixels down. We will also specify the flag that tells DocuSign to send the envelope even if it doesn’t find the Anchor Text.</p>
<pre> 	// .NET
	Tab tab = new Tab();
	tab.DocumentID = "1";
	tab.RecipientID = "1";
	tab.Type = TabTypeCode.SignHere;
	tab.PageNumber = "1";
	tab.AnchorTabItem = new AnchorTab();
	tab.AnchorTabItem.AnchorTabString = "X:";
	tab.AnchorTabItem.Unit = UnitTypeCode.Pixels;
	tab.AnchorTabItem.UnitSpecified = true;
	tab.AnchorTabItem.XOffset = 50;
	tab.AnchorTabItem.YOffset = 100;
	tab.IgnoreIfNotPresent = true;
</pre>
<pre> 	// PHP
	$tab = new Tab();
	$tab->Type = "SignHere";
	$tab->DocumentID = "1";
	$tab->RecipientID = "1";
	$tab->PageNumber =  "1";
	$tab->AnchorTabItem->AnchorTabString = "X:";
	$tab->AnchorTabItem->Unit = "Pixels";
	$tab->AnchorTabItem->XOffset = 50;
	$tab->AnchorTabItem->YOffset = 100;
	$tab->AnchorTabItem->IgnoreIfNotPresent = true;
</pre>
<p>So that’s it. Remember, Anchor Tabs are a Tab Location option, and they can be used with any type of Tab, not just Signature Tabs. As always, if you have any questions about these API methods, please use the <a href="http://www.docusign.com/forums">DocuSign DevCenter forums</a> for assistance.</p>
<p><i><a href="http://www.flickr.com/photos/dorron/238249259/">Photo by Dorron</a></i></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F08%2F05%2Fcode-walkthrough-anchor-tabs%2F&amp;linkname=Code%20Walkthrough%3A%20Anchor%20Tabs"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/08/05/code-walkthrough-anchor-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Walkthrough: Retrieving Documents From DocuSign</title>
		<link>http://www.docusign.com/blog/2010/07/29/code-walkthrough-retrieving-documents-from-docusign/</link>
		<comments>http://www.docusign.com/blog/2010/07/29/code-walkthrough-retrieving-documents-from-docusign/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 12:00:57 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[document retrieval]]></category>
		<category><![CDATA[documents]]></category>
		<category><![CDATA[e sign]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[e signatures]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[envelope certificate]]></category>
		<category><![CDATA[Envelope Object]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[recipients]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=3317</guid>
		<description><![CDATA[
In this walkthrough, we will cover the different methods that you can use to retrieve documents with electronic signature from DocuSign. You should already be comfortable with working with webservices to follow along here. There will be code samples displayed in both C# (using .net 3.5) and PHP, but you should already know how to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-28-at-4.44.17-PM.png"><img class="alignright size-medium wp-image-3323" title="Screen shot 2010-07-28 at 4.44.17 PM" src="http://www.docusign.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-28-at-4.44.17-PM-300x193.png" alt="Code Walkthrough: Retrieving Documents From DocuSign" width="300" height="193" /></a></p>
<p>In this walkthrough, we will cover the different methods that you can use to retrieve documents with electronic signature from DocuSign. You should already be comfortable with working with webservices to follow along here. There will be code samples displayed in both C# (using .net 3.5) and PHP, but you should already know how to get your local proxy class setup and your credentials entered.</p>
<h3>The Documents</h3>
<p>Once you send a DocuSign envelope, and the Recipients e-sign it, the next step is usually to retrieve the signed documents. While you can leave them in the DocuSign account, many implementors want their systems to keep copies locally. Additionally, DocuSign provides a document called the Envelope Certificate that displays key data about the signing ceremony, and this document is often kept locally along with the signed documents to provide evidence of the transaction.</p>
<h3>RequestPDF</h3>
<p>The first method we’ll discuss is the RequestPDF method. This method takes an EnvelopeID as a parameter, and returns a structure that contains the EnvelopeID and a PDF file. The PDF File contains the entire contents of the envelope, so if you sent in an envelope with five different documents in it, the resulting PDF will contain all five documents in order.</p>
<p>Here’s an example of using the RequestPDF method:</p>
<pre>//.NET
	APIServiceSoapClient apiService = new APIServiceSoapClient();
	apiService.ClientCredentials.UserName.UserName = "Your DocuSign UserName here";
	apiService.ClientCredentials.UserName.Password = "Your DocuSign Password here";

	string envelopeID = "Some EnvelopeID";
	EnvelopePDF envPDF = apiService.RequestPDF(envelopeID);</pre>
<p>For the php code, we are assuming that we have the wsdl file cached locally in the indicated location.</p>
<pre>//PHP
	$api_endpoint= "https://demo.docusign.net/api/3.0/api.asmx";
	$api_wsdl = "api/APIService.wsdl";
	$api_options =  array('location'=&gt;$api_endpoint,'trace'=&gt;true,'features' =&gt; SOAP_SINGLE_ELEMENT_ARRAYS);
	$api = new APIService($api_wsdl, $api_options);
	$api-&gt;setCredentials("Your DocuSign UserName here", "Your DocuSign Password here");

	$RequestPDFParam = new RequestPDF();
	$RequestPDFParam-&gt;EnvelopeID = $envelopeID;
	$result = $api-&gt;RequestPDF($RequestPDFParam);
	$envPDF = $result-&gt;RequestPDFResult;</pre>
<p>Now that you have the EnvelopePDF object, you can access the raw bytes via the EnvelopePDF.PDFBytes accessor and write them out to a file ( or a database blob field, etc)</p>
<pre>//.NET
	System.IO.File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + @"\envelope.pdf", envPDF.PDFBytes);</pre>
<pre>//PHP
	file_put_contents("./envelope.pdf", $envPDF-&gt;PDFBytes);</pre>
<h3>RequestDocumentPDFs</h3>
<p>The RequestDocumentPDFs is used when you want to get all of the Envelope’s contents back as individual documents. This is very useful when you have a package of documents that are signed and then need to be routed to different departments after signing. For example, using the Auto Insurance example, you might have an Electronic Funds Transfer authorization form in the Envelope along with the Insurance Application, and post signing you need to send the EFT form to finance and the Application to whereever Insurance applications go to. This method also includes the Envelope Certificate, so if you want this you have to use this method rather than RequestPDF.</p>
<p>The returned data from this call is a DocumentPDFs object, which contains the EnvelopeID and an array of DocumentPDF objects – 1 for each original document, plus the Envelope Certificate.</p>
<p>Assuming that you already have your API proxy setup, here’s the code:</p>
<pre> //.NET
	string envelopeID = "Some EnvelopeID";
	DocumentPDFs docPDFs = apiService.RequestDocumentPDFs(envelopeID);</pre>
<pre>//PHP
	$RequestDocumentPDFsParam = new RequestDocumentPDFs();
	$RequestDocumentPDFsParam-&gt;EnvelopeID = $envelopeID;
	$result = $api-&gt;RequestDocumentPDFs($RequestDocumentPDFsParam);
	$docPDFs = $result-&gt;RequestDocumentPDFsResult;</pre>
<p>With the DocumentPDFs object, you will need to iterate the array of DocumentPDF objects, and access the PDFBytes property on each DocumentPDF. You will also see some other properties there – like ‘Name’, which will contain the name of the file when it was sent in the envelope. For the Envelope Certificate, the Name will be ‘Summary’. Remember that the name will be whatever it was set to, so if you are saving it out to the filesystem you will need to add the ‘pdf’ extension to the Name.</p>
<pre>//.NET
	foreach (DocumentPDF doc in docPDFs.DocumentPDF)
	{
		System.IO.File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + @"\" + doc.Name + ".pdf", doc.PDFBytes);
	}</pre>
<pre> //PHP
	foreach($docPDFs-&gt;DocumentPDF as $doc){
		file_put_contents("./" . $doc-&gt;Name . ".pdf", $doc-&gt;PDFBytes);
	}</pre>
<p>You will also see a couple of properties – currently DocumentID and DocumentType – that will not be populated. This is because the DocumentPDFs object is used as the return value both for the RequestDocumentPDFs method and the RequestDocumentPDFsEx method.</p>
<h3>RequestDocumentPDFsEx</h3>
<p>This method is a variant of the RequestDocumentPDFs method that returns additional elements in the response. The exact elements that can be returned will change over time, so if you are using this method you need to be sure that your code won’t break if it encounters an unexpected property here. Currently the DocumentID and DocumentType properties are being returned but there may be additional elements here in the future.<br />
Also note that these additional elements return data that would have been supplied at the time the envelope was created. If you did not specifically add this data to the envelope, it will not be there when you call this method.</p>
<h3>Account Options</h3>
<p>You may also have your account configured to pass back additional information in the metadata elements of the PDF file. Please see the API documentation for more information about this ( see the Rules for Using RequestDocumentPDFs on page 79).</p>
<p>So that’s how to get your documents back out of DocuSign. If you have trouble using these API methods, please use the <a href="http://www.docusign.com/forums/">DocuSign DevCenter forums</a> for assistance.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F07%2F29%2Fcode-walkthrough-retrieving-documents-from-docusign%2F&amp;linkname=Code%20Walkthrough%3A%20Retrieving%20Documents%20From%20DocuSign"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/07/29/code-walkthrough-retrieving-documents-from-docusign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating End-to-End Cloud-Based Loan and Account Origination Program for Financial Institutions</title>
		<link>http://www.docusign.com/blog/2010/07/28/creating-end-to-end-cloud-based-loan-and-account-origination-program-for-financial-institutions/</link>
		<comments>http://www.docusign.com/blog/2010/07/28/creating-end-to-end-cloud-based-loan-and-account-origination-program-for-financial-institutions/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 12:00:58 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[Getting to Know DocuSign Users]]></category>
		<category><![CDATA[Product Announcements]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dave Thorpe]]></category>
		<category><![CDATA[DocuSign]]></category>
		<category><![CDATA[Doug Glagola]]></category>
		<category><![CDATA[e sign]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signature integration]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[esign]]></category>
		<category><![CDATA[LoansPQ]]></category>
		<category><![CDATA[MeridianLink]]></category>
		<category><![CDATA[Xpress Accounts]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=3289</guid>
		<description><![CDATA[DocuSign Electronic Signature Service and MeridianLink Application Service Provider Closes the Final Mile of Online Loan Origination and New Account Process

We&#8217;re excited to announce a partnership with MerdianLink, the leading application service provider for financial institutions. Including DocuSign&#8217;s electronic signature management service to MerdianLink’s web-based consumer loan origination and account opening solution platform (LoansPQ and [...]]]></description>
			<content:encoded><![CDATA[<p><em>DocuSign Electronic Signature Service and MeridianLink Application Service Provider Closes the Final Mile of Online Loan Origination and New Account Process</em><br />
<a href="http://www.docusign.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-27-at-2.18.53-PM.png"><img class="alignright size-medium wp-image-3291" title="Screen shot 2010-07-27 at 2.18.53 PM" src="http://www.docusign.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-27-at-2.18.53-PM-300x189.png" alt="Creating End to End Cloud Based Loan and Account Origination Program for Financial Institutions " width="300" height="189" /></a><br />
We&#8217;re excited to announce a partnership with MerdianLink, the leading application service provider for financial institutions. Including DocuSign&#8217;s electronic signature management service to MerdianLink’s web-based consumer loan origination and account opening solution platform (LoansPQ and Xpress Accounts) closes the loop in the loan funding and account opening completion process. You can get the final integrated offering the includes <a href="www.docusign.com/credit-unions">electronic signature from MeridianLink</a> now!</p>
<p>Doug Glagola, vice president at MeridianLink, explains how DocuSign extends MeridianLink&#8217;s platform, enabling the entire process to be conducted in the cloud:</p>
<blockquote><p>With the success financial institutions are experiencing with their investment in online lending and account opening capabilities and the millions of loans and accounts now being originated online, it seemed only natural to also finalize and close the transaction online. With DocuSign, the entire process can be conducted seamlessly in the cloud—eliminating paper, hassles and wasted time. DocuSign is the final mile in completing the loan process.</p></blockquote>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/07/MeridianLink.png"><img src="http://www.docusign.com/blog/wp-content/uploads/2010/07/MeridianLink-300x237.png" alt="Creating End to End Cloud Based Loan and Account Origination Program for Financial Institutions " title="MeridianLink" width="300" height="237" class="alignright size-medium wp-image-3296" /></a>MeridianLink’s platform, an online application, instantly generates pre-qualified loan decisions for all types of consumer loans and generates new accounts for all types of deposit accounts. Commercial loan origination and deposit accounts are also available. MeridianLink’s platform fully integrates loan origination and account opening, core processing and internal banking software in almost any configuration to produce a fully paperless lending and account opening program for any financial institution. Now with the integration of DocuSign electronic signature services within the MeridianLink platform, online transactions can be originated, approved, signed and funded without interruption. DocuSign finalizes the process by offering financial institutions and borrowers the convenience to electronically sign and complete the final mile of the process all within the MeridianLink workflow.</p>
<p>Just as the MeridianLink platform has transformed how loans and new deposit accounts are originated and processed, electronic signatures are further transforming these transactions so they are conducted entirely in the cloud. By moving loan and deposit account document signing into the cloud, financial institutions can leverage the time and cost efficiencies of cloud computing while gaining real-time insight into the signing process. And, through the integration of the DocuSign electronic signature platform, MeridianLink financial institution customers have complete real-time visibility into the entire process.</p>
<p>Dave Thorpe, market director at DocuSign, explains what integrating the DocuSign electronic signature solution into the MeridianLink platform means for banks and credit unions:</p>
<blockquote><p>More than 450 banks and credit unions have currently deployed the MeridianLink platform. With the integration of the DocuSign electronic signature service, we anticipate an accelerated adoption of the MeridianLink automated loan and account opening solution. DocuSign is excited to align with MeridianLink and we look forward to collaborating with them to further extend the power of the DocuSign electronic signature platform and the MeridianLink’s platform in streamlining the loan and account opening process, reducing costs and ensuring the continued success of our joint customers.</p></blockquote>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F07%2F28%2Fcreating-end-to-end-cloud-based-loan-and-account-origination-program-for-financial-institutions%2F&amp;linkname=Creating%20End-to-End%20Cloud-Based%20Loan%20and%20Account%20Origination%20Program%20for%20Financial%20Institutions"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/07/28/creating-end-to-end-cloud-based-loan-and-account-origination-program-for-financial-institutions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Walkthrough: Create And Send Electronic Signature Envelope</title>
		<link>http://www.docusign.com/blog/2010/07/22/code-walkthrough-create-and-send-electronic-signature-envelope/</link>
		<comments>http://www.docusign.com/blog/2010/07/22/code-walkthrough-create-and-send-electronic-signature-envelope/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 16:02:16 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[documents]]></category>
		<category><![CDATA[e sign]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[e signatures]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[Envelope Object]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[recipients]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=3187</guid>
		<description><![CDATA[
In this walkthrough, we&#8217;ll cover the sending of an electronic signature Envelope using the CreateAndSendEnvelope method. This is the most common method of sending a DocuSign Envelope as it does not require too much preparatory work. It requires a PDF document that you wish to get signed, some knowledge of where the signatures should go, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-22-at-9.01.08-AM.png"><img class="aligncenter size-medium wp-image-3189" title="Screen shot 2010-07-22 at 9.01.08 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/07/Screen-shot-2010-07-22-at-9.01.08-AM-300x197.png" alt="Code Walkthrough: Create And Send Electronic Signature Envelope" width="300" height="197" /></a></p>
<p>In this walkthrough, we&#8217;ll cover the sending of an electronic signature Envelope using the CreateAndSendEnvelope method. This is the most common method of sending a DocuSign Envelope as it does not require too much preparatory work. It requires a PDF document that you wish to get signed, some knowledge of where the signatures should go, and the name and email address of the person who should sign it. A common business scenario for this is getting an application signed &#8211; in fact, there are two sample projects in the SDK that use this scenario: LoanCo and InsuranceCo. Both of these sample apps show an end user filling out an application which is then sent to DocuSign and prepared for signature.</p>
<p>You should already be comfortable with working with webservices to follow along here. There will be code samples displayed in both C# (using .net 3.5) and PHP, but you should already know how to get your local proxy class setup and your credentials entered.</p>
<p>If you have looked over the API Documentation, you might have seen the CreateAndSendEnvelope method call, and the parameters that you can pass in. There are a lot. We are going to ignore most of them, as they deal with advanced functionality, and just concentrate on the basics:	<strong>Recipients</strong>, <strong>Documents</strong>, and <strong>Tabs</strong>.</p>
<h3>The Envelope Object</h3>
<p>First, let&#8217;s create the objects for our method call. In the PHP Code, using the proxy classes from the SDK, it looks like this:</p>
<pre>$CreateAndSendEnvelopeParam = new CreateAndSendEnvelope();</pre>
<p>Here&#8217;s the .NET version:</p>
<pre>Envelope envelope = new Envelope();</pre>
<p>Notice that the PHP class is one level higher in the hierarchy so we will end up using</p>
<pre>$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;property</pre>
<p>whereas in .NET we will use</p>
<pre>envelope.property</pre>
<p>Other than that, the code samples will look very similar.</p>
<p>Now let&#8217;s populate these objects.</p>
<h3>Recipients</h3>
<p>A Recipient is someone who will participate in the Envelope Signing in some way &#8211; they may sign the documents, they may help prepare the documents, or they may be sent a copy of the documents. The most common type of Recipient is a signer.<br />
Here&#8217;s a basic signer constructed in .NET:</p>
<pre>	Recipient recipient = new Recipient();
	recipient.ID = "1";
	recipient.Email = "someemail@somewhere.com";
	recipient.UserName = "Some Person";
	recipient.Type = RecipientTypeCode.Signer;
	recipient.RequireIDLookup = false;</pre>
<p>And in PHP:</p>
<pre>	$Recipient = new Recipient();
	$Recipient-&gt;ID = "1";
	$Recipient-&gt;Email = "someemail@somewhere.com";
	$Recipient-&gt;UserName = "Some Person";
	$Recipient-&gt;Type = "Signer";
	$Recipient-&gt;RequireIDLookup = false;</pre>
<p>Since there can be multiple recipients on an Envelope, the DocuSign API expects an array of Recipients, so we&#8217;ll put them in one:</p>
<pre>	//.NET
	envelope.Recipients = new Recipient[1];
	envelope.Recipients[0] = recipient;</pre>
<pre>	//PHP
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;Recipients-&gt;Recipient[] = $Recipient;</pre>
<p>(Note the PHP hierarchy has an extra level in it &#8211; instead of using Recipients[] as you might expect, it uses Recipients-&gt;Recipient[]. This is due to the code that generated the PHP proxy objects (wsdl2php ver 0.2). If you happen to use some other code to generate your proxy objects you might see a slightly different class hierarchy. All of these code samples are using the proxy objects included in the php sample code in the SDK.)</p>
<h3>Documents</h3>
<p>We need a document. For this case, let&#8217;s assume that we have a PDF document available to our code, so we can read it in as a byte array;</p>
<pre>	//.NET
	envelope.Documents = new Document[1];
	Document doc = new Document();
	doc.ID = "1";
	doc.Name = "Our Document";
	doc.PDFBytes = System.IO.File.ReadAllBytes(Server.MapPath("resources/Loan.pdf"));
	envelope.Documents[0] = doc;</pre>
<pre>	//PHP
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;Documents-&gt;Document[0]-&gt;ID = "1";
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;Documents-&gt;Document[0]-&gt;Name = "Document";
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;Documents-&gt;Document[0]-&gt;PDFBytes = file_get_contents("resources/Loan.pdf");</pre>
<h3>Tabs</h3>
<p>Now that we have a Recipient, and a Document, we need some way to express that the Recipient is supposed to sign the Document in a certain place. We do this using a Signature Tab. The tab will reference a Recipient and a Document, and provide the location of the signature.</p>
<pre>	//.NET
	Tab tab = new Tab();
	tab.DocumentID = "1";
	tab.RecipientID = "1";
	tab.Type = TabTypeCode.SignHere;
	tab.PageNumber = "1";
	tab.XPosition = "100";
	tab.YPosition = "100";
	envelope.Tabs = new Tab[1];
	envelope.Tabs[0] = tab;</pre>
<pre>	//PHP
	$tab = new Tab();
	$tab-&gt;Type = "SignHere";
	$tab-&gt;DocumentID = "1";
	$tab-&gt;RecipientID = "1";
	$tab-&gt;PageNumber =  "1";
	$tab-&gt;XPosition = "100";
	$tab-&gt;YPosition = "100";
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;Tabs-&gt;Tab[] = $tab;</pre>
<p>Note that while we are using a single signature tab for this example,  there are several different types of tabs available for use. As well as indicating signature locations, they can be used to indicate locations of a Recipient&#8217;s Initials, Form Field locations where Recipients can enter data, System Information, etc. You can also set Tab locations by specifying a bit of text that appears in your document, and having DocuSign place a tab at every location that text appears in your document. This technology is called &#8220;Anchor Tabs&#8221;, and will be discussed in more detail in another article.</p>
<h3>Ready to Send?</h3>
<p>Not quite. We have to set a couple of pieces of information on the Envelope object itself. We are going to give our Envelope a subject, so when the Recipient sees it in their inbox they will know what it is for, and we are going to provide an bit of text that will be included in the email that is sent to the Recipient &#8211; this will allow us to personalize it a bit. And finally, we will set the AccountID that the Envelope will be sent from. Since DocuSign allows users to be in multiple accounts, the AccountID is necessary to indicate which account the Envelope should be sent from.</p>
<pre>	//.NET
	envelope.AccountId = "Your AccountID Here";
	envelope.Subject = "Sample Application";
	envelope.EmailBlurb = "You can add a personal message here.";</pre>
<pre>	//PHP
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;AccountId = "Your AccountID Here";
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;Subject = "Sample Application";
	$CreateAndSendEnvelopeParam-&gt;Envelope-&gt;EmailBlurb = "You can add a personal message here.";</pre>
<p>At this point we are ready to send the envelope. When we send an envelope we get a status object (of type EnvelopeStatus) in return.<br />
We will use our API Proxy to call the CreateAndSendEnvelope Method:</p>
<pre>	//.NET
	APIServiceSoapClient apiService = new APIServiceSoapClient();
	apiService.ClientCredentials.UserName.UserName = "Your DocuSign UserName here";
	apiService.ClientCredentials.UserName.Password = "Your DocuSign Password here";
	EnvelopeStatus envStatus = apiService.CreateAndSendEnvelope(envelope);
	string envelopeId = envStatus.EnvelopeID;</pre>
<p>For the php code, we are assuming that we have the wsdl file cached locally in the indicated location.</p>
<pre>	//PHP
	$api_endpoint= "https://demo.docusign.net/api/3.0/api.asmx";
	$api_wsdl = "api/APIService.wsdl";
	$api_options =  array('location'=&gt;$api_endpoint,'trace'=&gt;true,'features' =&gt; SOAP_SINGLE_ELEMENT_ARRAYS);
	$api = new APIService($api_wsdl, $api_options);
	$api-&gt;setCredentials("Your DocuSign UserName here", "Your DocuSign Password here");

	$result = $api-&gt;CreateAndSendEnvelope($CreateAndSendEnvelopeParam);
	$envStatus = $result-&gt;CreateAndSendEnvelopeResult;
	$envelopeID = $envStatus-&gt;EnvelopeID;</pre>
<p>The response from the CreateAndSendEnvelope method is an EnvelopeStatus object, which contains detailed status about the process of the envelope signing. In this example, we are grabbing the EnvelopeID property from this object so that we can store it somewhere in our own system. The EnvelopeID is the unique Identifier for this envelope in DocuSign, and there are several other API methods that will use it as a parameter &#8211; methods for requesting status, retrieving documents, voiding the envelope, etc.</p>
<p>At this point the envelope has been sent, and the Recipient should have gotten an email from DocuSign. This email will contain a link that will take the Recipient to the DocuSign site, and guide them through the process of signing the Document.</p>
<p>To get DocuSign tools and a free developer account please visit <a href="http://www.docusign.com/devcenter">DocuSign DevCenter</a>. To see what other developers have created on DocuSign&#8217;s electronic signature platform, take a look at DocuSign&#8217;s github <a href="http://github.com/docusign/DocuSign-eSignature-SDK">e-siganture code repository</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F07%2F22%2Fcode-walkthrough-create-and-send-electronic-signature-envelope%2F&amp;linkname=Code%20Walkthrough%3A%20Create%20And%20Send%20Electronic%20Signature%20Envelope"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/07/22/code-walkthrough-create-and-send-electronic-signature-envelope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spring &#8216;10 Developer Feature &#8211; PowerForms 2.0</title>
		<link>http://www.docusign.com/blog/2010/06/24/powerforms2-0/</link>
		<comments>http://www.docusign.com/blog/2010/06/24/powerforms2-0/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 17:44:04 +0000</pubDate>
		<dc:creator>Mike Borozdin</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[esign]]></category>
		<category><![CDATA[esignature]]></category>
		<category><![CDATA[esignatures]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[google sites]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[PowerForms]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[securefields]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=2955</guid>
		<description><![CDATA[Today I’d like to drill into the new way to launch DocuSign envelopes – the feature we call PowerForms 2.0. PowerForms have existed in DocuSign for a long time and were originally designed to enable sending a PDF form that could be filled in, eSigned, and tracked with DocuSign. With the Spring ’10 release, DocuSign PowerForms 2.0 extends this feature to allow direct launch without the PDF form in the middle of the process and before you know it, we’ve got a whole new protocol!]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re getting ready for our eSign developer webinar highlighting our Spring ‘10 release, packed full of new features. We have a recording of the webinar where our product management team reviews all the enhancements from an end user perspective.</p>
<p>My job? To show you the automation and extension features built into the Spring ‘10 release!</p>
<p>We&#8217;ve:</p>
<ul>
<li>extended the workflow for new types of recipients in the transaction</li>
<li>added a way for recipients to collaborate on documents via markup</li>
<li>added a way for you to build conditional logic for SecureFields™</li>
<li>created a new way for you to launch a DocuSign envelope</li>
<li>included many more features</li>
</ul>
<p>Today I’d like to drill into the new way to launch DocuSign envelopes – the feature we call PowerForms 2.0.  PowerForms have existed in DocuSign for a long time and were originally designed to enable sending a PDF form that could be filled in, eSigned, and tracked with DocuSign.  With the Spring ’10 release, <strong>DocuSign PowerForms 2.0 extends this feature to allow direct launch without the PDF form in the middle of the process</strong> and before you know it, we’ve got a whole new protocol!</p>
<p>Previously, if you wanted to create a DocuSign envelope in response to a click on your website you had to write some server side code.  While this wasn’t a big issue for a lot of people who already had some back-end systems, those with a Google Site or a pure HTML site had to extend their infrastructure.  Now with PowerForms 2.0 to launch a DocuSign transaction <strong>all you need to do is create a PowerForm and copy the link to it.</strong></p>
<p>You can send that link via e-mail or add it to your website.  In addition to the link, you can add data or recipient information from your site to the URL and that information is inserted into the appropriate fields in the envelope.  The data can be passed in the URL or in a form post.</p>
<p>As a proof of concept, we created a small form on a Google site that takes a few form fields and posts the data and the recipient information to a PowerForm.  As a result, without any code (JavaScript or back-end code like C#, Java or PHP), a new envelope is created and we have an integrated solution.</p>
<p>Here is the form (you will need to map it to your own PowerForm link of course).</p>
<div id="_mcePaste" style="font-family: 'courier new';">&lt;form action=&#8221;https://demo.docusign.net/Member/PowerFormSigning.aspx?PowerFormId=3dd155eb-a04d-4522-9bff-2446b909362e&#8221;&gt;</div>
<div style="font-family: 'courier new';">Name: &lt;input name=&#8221;Insured_UserName&#8221; type=&#8221;TEXT&#8221; /&gt;</div>
<div id="_mcePaste" style="font-family: 'courier new';">Email: &lt;input name=&#8221;Insured_Email&#8221; type=&#8221;TEXT&#8221; /&gt;</div>
<div id="_mcePaste" style="font-family: 'courier new';">Make: &lt;input name=&#8221;Make&#8221; type=&#8221;TEXT&#8221; /&gt;</div>
<div id="_mcePaste" style="font-family: 'courier new';">Model: &lt;input name=&#8221;Model&#8221; type=&#8221;TEXT&#8221; /&gt;</div>
<div id="_mcePaste" style="font-family: 'courier new';">VIN: &lt;input name=&#8221;VIN&#8221; type=&#8221;TEXT&#8221; /&gt;</div>
<div style="font-family: 'courier new';">&lt;input name=&#8221;activateonly&#8221; type=&#8221;hidden&#8221; value=&#8221;1&#8243; /&gt;</div>
<div id="_mcePaste" style="font-family: 'courier new';">&lt;input type=&#8221;submit&#8221; /&gt;</div>
<div id="_mcePaste" style="font-family: 'courier new';">&lt;/form&gt;</div>
<p>Which looks like:</p>
<div id="attachment_2956" class="wp-caption aligncenter" style="width: 402px"><a href="http://www.docusign.com/blog/wp-content/uploads/2010/06/screenshot.png"><img class="size-full wp-image-2956 " title="Google Sites Screenshot" src="http://www.docusign.com/blog/wp-content/uploads/2010/06/screenshot.png" alt="Google Sites Screenshot" width="392" height="471" /></a><p class="wp-caption-text">Google Sites Screenshot</p></div>
<p>For more on the PowerForm data syntax see the <a href="http://docusign.com/resources/documentation/PowerForms_User_Guide.pdf">PowerForms User Guide</a></p>
<p>Want to inject DocuSign&#8217;s electronic signature capabilities into your existing technology? Take a look at the <a href="http://www.docusign.com/devcenter">DocuSign eSignature Developer Center</a> and register here for a <a href="http://www.docusign.com/devcenter/sign_up/register.php">DocuSign Developer account for free access to the leading eSignature API and SDK</a>!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F06%2F24%2Fpowerforms2-0%2F&amp;linkname=Spring%20%26%238216%3B10%20Developer%20Feature%20%26%238211%3B%20PowerForms%202.0"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/06/24/powerforms2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Want to Use DocuSign From Your Mobile Device? Here&#8217;s How!</title>
		<link>http://www.docusign.com/blog/2010/06/17/want-to-use-docusign-from-your-mobile-device-heres-how/</link>
		<comments>http://www.docusign.com/blog/2010/06/17/want-to-use-docusign-from-your-mobile-device-heres-how/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 18:04:49 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[Product Announcements]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[developer webinar]]></category>
		<category><![CDATA[developer workshop]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[electronic signatures]]></category>
		<category><![CDATA[esign]]></category>
		<category><![CDATA[esignature]]></category>
		<category><![CDATA[esignatures]]></category>
		<category><![CDATA[ESIGNControl]]></category>
		<category><![CDATA[google android]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[stevie awards]]></category>
		<category><![CDATA[webinars]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=2895</guid>
		<description><![CDATA[With &#8220;Designed for Mobile,&#8221; all DocuSign electronic signature service subscribers can access their DocuSign console from their iPad, iPhone, BlackBerry, Windows Mobile, and Google Android devices, which earned us finalist status at the Stevie Awards. We&#8217;re not stopping there!

The summer&#8217;s heating up for DocuSign&#8217;s developers, working with our API to inject eSignature capabilities into other [...]]]></description>
			<content:encoded><![CDATA[<p>With &#8220;Designed for Mobile,&#8221; all DocuSign electronic signature service subscribers can access their DocuSign console from their <a href="http://www.docusign.com/blog/2010/04/05/want-to-use-esign-from-docusign-on-your-apple-ipad/">iPad</a>, iPhone, BlackBerry, Windows Mobile, and Google Android devices, which earned us <a href="http://www.docusign.com/blog/2010/05/14/docusign-designed-for-mobile-esignature-service-dialed-up-for-eighth-annual-stevie-awards/">finalist status at the Stevie Awards</a>. We&#8217;re not stopping there!</p>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-9.27.56-AM.png"><img class="aligncenter size-medium wp-image-2909" title="Screen shot 2010-06-17 at 9.27.56 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-9.27.56-AM-300x181.png" alt="Want to Use DocuSign From Your Mobile Device? Heres How!" width="300" height="181" /></a></p>
<p>The summer&#8217;s heating up for DocuSign&#8217;s developers, working with our API to inject eSignature capabilities into other technologies. We&#8217;ve seen some amazing integrations recently, highlighted in our <a href="http://www.docusign.com/devcenter/applications.php">Featured eSign Applications</a>. These electronic signature applications were all built using our <a href="http://www.docusign.com/devcenter/sign_up/register.php">Free eSign Development Account</a> &#8211; you can register to get free access to the DocuSign API and SDK! Take a <a href="http://www.docusign.com/devcenter/index.php">look at the DocuSign DevCenter</a> &#8211; did you know that one of our talented DocuSign DevCenter developers has created and released eSignControl, a new mobile app for DocuSign? Available as an iPhone app and iPad app, eSignControl enables users to track and report results as well as send and sign documents.</p>
<p>With eSignControl, available for iPhone and iPad, you can:</p>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-10.32.40-AM.png"><img class="aligncenter size-full wp-image-2910" title="Screen shot 2010-06-17 at 10.32.40 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-10.32.40-AM.png" alt="Want to Use DocuSign From Your Mobile Device? Heres How!" width="186" height="265" /></a></p>
<ul>
<li>See current status and history</li>
<li>Review contracts</li>
<li>Correct envelopes</li>
</ul>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-10.32.31-AM.png"><img class="aligncenter size-full wp-image-2911" title="Screen shot 2010-06-17 at 10.32.31 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-10.32.31-AM.png" alt="Want to Use DocuSign From Your Mobile Device? Heres How!" width="194" height="267" /></a></p>
<ul>
<li>Send from Google Docs, DocuSign templates (using your local address book) and your local drafts folder</li>
<li>Drag / drop tags onto documents with Mobile Tagger</li>
</ul>
<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-10.32.00-AM.png"><img class="aligncenter size-full wp-image-2912" title="Screen shot 2010-06-17 at 10.32.00 AM" src="http://www.docusign.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-17-at-10.32.00-AM.png" alt="Want to Use DocuSign From Your Mobile Device? Heres How!" width="194" height="264" /></a></p>
<ul>
<li>Create groups of users to track</li>
<li>Filter envelopes based on envelope or data fields</li>
<li>Generate performance reports with totals</li>
<li>Email reports</li>
</ul>
<p>Want to learn more about DocuSign&#8217;s API and eSign developer community? Join Mike Borozdin for our <a href="http://www.docusign.com/devcenter/webinar.php">weekly Developer Webinars</a> on Thursdays &#8211; click to register!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F06%2F17%2Fwant-to-use-docusign-from-your-mobile-device-heres-how%2F&amp;linkname=Want%20to%20Use%20DocuSign%20From%20Your%20Mobile%20Device%3F%20Here%26%238217%3Bs%20How%21"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/06/17/want-to-use-docusign-from-your-mobile-device-heres-how/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anniversary of a Paperless Life, Possible with eSignature and Other Online Services</title>
		<link>http://www.docusign.com/blog/2010/04/19/anniversary-of-a-paperless-life-possible-with-esignature-and-other-online-services/</link>
		<comments>http://www.docusign.com/blog/2010/04/19/anniversary-of-a-paperless-life-possible-with-esignature-and-other-online-services/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 21:24:40 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[Getting to Know DocuSign Users]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[DocuSign Developer Center]]></category>
		<category><![CDATA[Earth Class Mail]]></category>
		<category><![CDATA[electronic signature]]></category>
		<category><![CDATA[esign]]></category>
		<category><![CDATA[esignature]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[Paperless]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=2623</guid>
		<description><![CDATA[
At DocuSign, we think electronic signature and paperless processes add convenience and eliminate the need to fax, copy and file paper. From our customers, we&#8217;ve heard accounts of their clients appreciating the convenience DocuSign&#8217;s eSignature services provides. From Mike Borozdin, manager of professional services here at DocuSign, we have a story of how going paperless [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.docusign.com/blog/wp-content/uploads/2010/04/Picture-658.png"><img class="aligncenter size-medium wp-image-2624" title="Picture 658" src="http://www.docusign.com/blog/wp-content/uploads/2010/04/Picture-658-300x185.png" alt="Anniversary of a Paperless Life, Possible with eSignature and Other Online Services" width="300" height="185" /></a></p>
<p>At DocuSign, we think electronic signature and paperless processes add convenience and eliminate the need to fax, copy and file paper. From our customers, we&#8217;ve heard accounts of their clients appreciating the convenience DocuSign&#8217;s eSignature services provides. From <a href="http://mikebz.blogspot.com/2010/04/anniversary-of-paperless-life.html">Mike Borozdin, manager of professional services here at DocuSign</a>, we have a story of how going paperless has changed his life:</p>
<p><em>In less than a month it&#8217;s going to be a year since I stopped storing paper. Last spring before my move from Madrona to Capitol Hill I did a bit of spring-cleaning. As I was cleaning out my closets and the attic I realized how much old and useless stuff I had. Some of my old tech toys ended up with my friends. Most of my old clothes ended up at Good Will. And then I started cleaning out my files. For a guy who has been on the bleeding edge of tech for a bit I had a surprising amount of old statements and receipts. Consolidated it was three full boxes.</em></p>
<p><em>During my childhood my parents told me not to lose paper. I remember carefully storing and filing my bank statements “just in case something happened.” My car was hit in the late nineties and sure enough I had a full folder of papers for a car that was totaled a decade ago. I was torn: I had an emotional attachment to my old dusty paper, yet I was too lazy to move these boxes with me. I decided that I am going to go paperless.</em></p>
<p><em>I decided to scan some of the most important documents from my past and have them backed up online. I promised to myself that going forward I would not store any more paper. It seemed like in the age of Internet it should be pretty easy. After all Chase already offered paperless statements and Fidelity did too. My Comcast bill could be viewed and paid online and so was AT&amp;T’s. Those were the first steps and they took care of a lot of my paper.</em></p>
<p><em> </em></p>
<p><em>This seemed like a piece of cake and I lasted without accumulating any more paper for about a month. Then I had a dentist appointment. My dentist is great when it comes to my teeth, but his assistant still writes the bills by hand and stuffs them in little blue envelopes that cost 40 cents to deliver less than a mile. My accountant insisted on sending me things via mail and the worst was healthcare. Between the Polyclinic on Broadway and Regence I must have 5 letters for every visit to the doctor.</em></p>
<p><em>I had to counteract this somehow. I employed two services: for anything where people wanted me to sign anything I used DocuSign and for all the paper that people wanted to send me still I created an Earth Class Mail account.</em></p>
<p><em>It took a little getting used to. Not for me, but for all the people that all of a sudden were shocked that I resisted their attempts to send me pages of stuff in the mail. My accountant was probably the most shocked. I kept telling her that I really don’t want my tax return sent to me. I kept reminding to send me things in a PDF file via some secure delivery service such as our own DocuSign, but she kept on trying to give me paper. Thankfully EarthClassMail would scan it in and then, if there were signatures required, I would DocuSign it and send it back to her via e-mail.</em></p>
<p><em>So after 5-6 months of constantly attempting to fend off the influx of paper at my door I finally ended up getting most of my important mail electronically. My life has altered a bit. I stopped going to my mailbox to see if there is anything new. The only new things were junk mail from Pizza Hut and Office Max. I tried taking that stuff out and putting it into the recycling bin but then I got lazy about that too. I stopped going to the mailbox altogether. On the eleventh month I went to clean my mailbox one more time and to my surprise it was completely clean with just a yellow note from my local post office. It read: “Your address has been marked as vacant.” According to the old paper world I might no longer exist.</em></p>
<p>Mike can track all of his necessary documents through various online services and uses DocuSign for his electronic signature needs. Congratulations to Mike for being paperless personally AND professionally!</p>
<p>Interested in <a href="http://www.docusign.com/devcenter/downloads.php">taking a look at the DocuSign API and downloading the DocuSign SDK</a> to integrate DocuSign into your existing technology? Take a look at the <a href="http://www.docusign.com/devcenter/index.php">DocuSign dev center</a>, which Mike manages, to get your <a href="http://www.docusign.com/devcenter/sign_up/register.php">FREE development account</a> today!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F04%2F19%2Fanniversary-of-a-paperless-life-possible-with-esignature-and-other-online-services%2F&amp;linkname=Anniversary%20of%20a%20Paperless%20Life%2C%20Possible%20with%20eSignature%20and%20Other%20Online%20Services"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/04/19/anniversary-of-a-paperless-life-possible-with-esignature-and-other-online-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drive Success With A Free DocuSign Developer Live Webinar</title>
		<link>http://www.docusign.com/blog/2010/02/04/drive-success-with-a-free-docusign-developer-live-webinar/</link>
		<comments>http://www.docusign.com/blog/2010/02/04/drive-success-with-a-free-docusign-developer-live-webinar/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:00:33 +0000</pubDate>
		<dc:creator>An Bui, DocuSign Social Media</dc:creator>
				<category><![CDATA[Conferences, Community]]></category>
		<category><![CDATA[DevCenter]]></category>
		<category><![CDATA[developer workshop]]></category>
		<category><![CDATA[DocuSign API]]></category>
		<category><![CDATA[e signature]]></category>
		<category><![CDATA[esign]]></category>
		<category><![CDATA[Mike Borozdin]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[webinars]]></category>

		<guid isPermaLink="false">http://www.docusign.com/blog/?p=2125</guid>
		<description><![CDATA[
Our first e-Signature developer workshop was such a success, so we’re offering another ESIGN developer workshop! Join Mike Borozdin, Manager of Professional Services, in a free electronic signature developer workshop.
Are you evaluating the DocuSign API to integrate electronic signature with you existing processes or technologies? Have you’ve heard about the DocuSign API but aren’t sure how to get started?
This free webinar [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-2128" title="Picture 441" src="http://www.docusign.com/blog/wp-content/uploads/2010/02/Picture-441.png" alt="Picture 441" width="268" height="183" /></p>
<p>Our first e-Signature developer workshop was such a success, so we’re offering another ESIGN developer workshop! Join Mike Borozdin, Manager of Professional Services, in a <strong><a href="https://www1.gotomeeting.com/register/336746345">free</a></strong><a href="https://www1.gotomeeting.com/register/336746345"> electronic signature developer workshop</a>.</p>
<p>Are you evaluating the DocuSign API to integrate electronic signature with you existing processes or technologies? Have you’ve heard about the DocuSign API but aren’t sure how to get started?</p>
<p>This free webinar will help you get started! In one hour, you’ll learn how to get set up a DocuSign .NET Sample and connect it to your DocuSign developer account. You’ll also get a brief overview of DocuSign interfaces and object model.</p>
<p>So when is this all happening?<strong> Wednesday, February 17th, from 1:00 – 2:00 pm PST.</strong></p>
<p>Please <a href="https://www1.gotomeeting.com/register/336746345">register for the e-Signature developer workshop</a>, get your <a href="http://www.docusign.com/devcenter/sign_up/register.php">free DocuSign Developer account</a> and <a href="http://www.docusign.com/devcenter/downloads.php">download the DocuSign SDK</a> prior to the workshop.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.docusign.com%2Fblog%2F2010%2F02%2F04%2Fdrive-success-with-a-free-docusign-developer-live-webinar%2F&amp;linkname=Drive%20Success%20With%20A%20Free%20DocuSign%20Developer%20Live%20Webinar"><img src="http://www.docusign.com/blog/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.docusign.com/blog/2010/02/04/drive-success-with-a-free-docusign-developer-live-webinar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
