DocuSign Account Provisioning API Guide
DocuSign Account Provisioning API Guide
DocuSign Account
th
701 5 Avenue, Suite 4500
Seattle, WA 98104
tel 206.219.0200
fax 206.622.0736
www.docusign.com
DocuSign Connect API Developer Guide ii
Stick-eTabs, DocuSign Professional, DocuSign Web, the DocuSign logo, “The fastest way to get a signature.”, and DocuSign are trademarks or registered trademarks of
DocuSign, Inc. in the United States and/or other countries. All other trademarks and registered trademarks are the property of their respective holders.
Licensed under U.S. Patent 6,289,460, U.S. Patent 6,944,648, and other patents pending.
Copyright ©2003-2010 DocuSign, Inc. All rights reserved.
DocuSignAccountProvisionAPI_201000722.pdf
DocuSign Account Provisioning API Guide iii
Table of Contents
DocuSign Account Provisioning API Overview ............................................................................1
Basic Concepts in DocuSign Account Provisioning .................................................................................................................................... 1
Process Flow
Application Initialization
When the external application first connects to DocuSign, it makes an API call and provides the application token in
the call. DocuSign checks the validity of the token and responds with a message that provides necessary
parameters for the application. These parameters are detailed in DocuSign’s API documentation (go to
http://docusign.com/resources/product_resources.php to download a pdf of the guide or the SDK kit), but, for
example, include:
DistributorCode – This identifies the Distributor to which the application’s users belong.
DistributorPassword – This password is supplied on API methods to prove that the application is allowed access.
PlanGroupPlanId – This indicates the price plan that all new accounts created by the application are enrolled in.
Should users need to change their price plan they may log in to the member console to change their plan.
PlanPromoText – This is marketing copy that is displayed in the external applications user interface to inform the
user about the plan they are signing up for.
2 DocuSign Account Provisioning API Guide
defaultConnectConfigurationId – For plans that include DocuSign Connect for Salesforce, this indicates which
standard Connect Configuration the plan receives. Changes to the configuration are made in the member console.
PasswordRuleText – This is text that explains the password rules to the user (Example: ‘Your password must be at
least six characters long.’).
These parameters are designed to ensure that there is a sufficient level of configurability in the behavior of the
external application without requiring re-coding.
Creating an Account
Once the external application is initialized, it has sufficient information to create accounts.
The information that DocuSign requires to create an account is detailed in the API specification, but on a general
level it consists of personal information (name, email address, physical address), security (password, forgotten
password question and response) and payment information (initially credit card information). This information is
sent to DocuSign along with authorization information (the Distributor Name and Password from above) and
configuration information (the PGP indicating the price plan that the account is subscribed to and, if applicable, the
default Connect configuration ID).
DocuSign evaluates this information and if it is insufficient in any way, provides a response indicating what elements
need to be corrected. If the information is sufficient, DocuSign provides a response that contains the account
credentials necessary to use the DocuSign system. These credentials must be stored in a manner that DocuSign
agrees is sufficiently secure. Depending on the configuration settings assigned to the external application, an
activation process may be required before the account can be used. Details of this process are provided below.
By default, DocuSign designates the person creating the account as the account administrator. This person will
have the authority to add new users to the account.
External applications that wish to use the DocuSign Connect for Salesforce feature must make an additional API call
to provide DocuSign with the credentials that are used when making status updates from DocuSign to Salesforce.
When these credentials are received DocuSign verifies them with Salesforce. If the verification fails an informative
response is provided to the caller. If the verification succeeds the credentials are stored in the DocuSign account
settings in the host application.
Activation Process
DocuSign might require that new users go through an activation process before being allowed access to the
DocuSign system. This is controlled by the configuration settings associated with the application token, and
DocuSign determines, on a case by case basis, what the necessary settings are for any given application.
For a new Account Create request, the required activation process may include the following steps:
1. Email Activation – an email is sent to the email address provided in the account create request. This email
contains a link that must be clicked to verify that the requester has access to the email address.
2. Acceptance of DocuSign Terms of Use – if this is required, then after the user clicks the link in the email in
step 1, they are presented with the DocuSign Terms of Use and they are required to accept them.
3. Acceptance of Consumer Disclosure - if this is required, then after the user clicks the link in the email in step
1, they are presented with the Consumer Disclosure agreement that covers their own DocuSign account.
They are required to accept this before being allowed to access the system.
4. Password Setup – if this is required, then after the user clicks the link in the email in step 1, they are
required to choose a password and select a ‘forgotten password’ question and answer.
Steps 2 – 4 are always contingent upon step 1 – that is, if any of steps 2 – 4 are required then step 1 is required as
well. However, if step 1 is not required, then steps 2 – 4 are not required.
The goal of this process is to allow trusted partners that have already authenticated their users to provision them
with DocuSign accounts with a minimum of disruption in the user experience.
• Display appropriate guidance at key points, specifically to include the display of DocuSign password
validation rules.
DocuSign validates supplied passwords and rejects any that do not meet the validation rules. External
applications do not need to enforce the validation rules, merely display the guidance and validation
messages.
5. Responsible API client behavior – the API client code should gracefully handle error messages and network
issues such as timeouts gracefully.
• In particular, making requests in a tight loop without user intervention or keyed off a timer event may
be considered abuse and treated as such.
Common Elements
AdminUserId – A GUID, in string format, that identifies a User with admin privileges.
AdminPassword – The corresponding password for the Admin User.
AccountId – A GUID, in string format, that identifies an Account in DocuSign.
ErrorMessage - Response Elements typically have an ErrorMessage element that should be checked at the
completion of an API call. If this element is empty or not present, it may be assumed that the call succeeded.
UserId – A GUID, in string format, that identifies a User in DocuSign.
Password - The corresponding password for the User.
dynamically rather than having to rely on config files or hard coded values. It is not required – if you know the
proper values and wish to use some other method to persist them you may.
Request
<getProvisioningInfoRequest>
<appToken>String</appToken>
</getProvisioningInfoRequest>
Response
The Response values returned are:
distributorCode - This is a string value identifying your company.
distributorPassword – A password that corresponds to the distributorCode
pgp – This is a GUID that defines the Price Plan that is used to enroll new accounts.
planPromoText – Promotional Text that describes the price plan.
defaultConnectConfigurationId – The Default Id for Salesforce Connect setup. This is only relevant if you are
working in the Salesforce Environment.
passwordRuleText – A description of the password rules applicable to new accounts. This is provided so that you
can provide the information to your customers, so they know the password requirements to reduce the chance that
the password they choose is rejected by DocuSign.
<getProvisioningInfoResponse>
<distributorCode></distributorCode>
<distributorPassword></distributorPassword>
<pgp></pgp>
<planPromoText></planPromoText>
<defaultConnectConfigurationId></defaultConnectConfigurationId>
<passwordRuleText></passwordRuleText>
<errorMessage></errorMessage>
</getProvisioningInfoResponse>
Create Account
This method is used to create a new account in the DocuSign system. This method requires the DistributorCode
and DistributorPassword for authorization, and also requires a valid PGP (indicating the desired price plan for the
account) and credit card information.
This method creates an initial member for the account and designates that member as the account administrator.
This administrator member can then add additional members.
Depending on Provisioning Settings at DocuSign, the account may need to be activated before being used. Refer
to the Activation Process section for details on this.
Additional elements in the Request are:
accountName – The name that the newly created account should have in DocuSign.
memberEmailAddress – The email address for initial account member.
memberUserName – The full name (as it would be signed) of the member (Example: John Q. Public).
memberPassword – The password for the member. This must conform to password rules for the distributor
(available from the GetProvisioningInfo method).
memberForgottenPasswordQuestion – A question asked if the member clicks the ‘Forgot Password?’ link when
attempting to log in to the DocuSign console.
6 DocuSign Account Provisioning API Guide
Request
<newAccountRequest>
<accountName></accountName>
<memberEmailAddress></memberEmailAddress>
<memberUserName></memberUserName>
<memberPassword></memberPassword>
<memberForgottenPasswordQuestion></memberForgottenPasswordQuestion>
<memberForgottenPasswordAnswer></memberForgottenPasswordAnswer>
<memberTitle></memberTitle>
<memberFirstName></memberFirstName>
<memberMiddleName></memberMiddleName>
<memberLastName></memberLastName>
<memberSuffix></memberSuffix>
<address1></address1>
<address2></address2>
<city></city>
<state></state>
<zip></zip>
<phone></phone>
<fax></fax>
<distributorCode></distributorCode>
DocuSign Account Provisioning API Guide 7
<distributorPassword></distributorPassword>
<pgp></pgp>
<referrer></referrer>
<referrerProvidedCode></referrerProvidedCode>
<paymentMethod>CreditCard</paymentMethod>
<ccNumber></ccNumber>
<ccExpirationMonth></ccExpirationMonth>
<ccExpirationYear></ccExpirationYear>
<ccType></ccType>
<ccUserName></ccUserName>
</newAccountRequest>
Response
accountId – A GUID that identifies the account in DocuSign.
siteId - An integer alternate key for the account.
userId – A GUID that identifies the user in DocuSign.
membershipId – A GUID that identifies the user’s membership in the account.
These values are used as credentials for other API methods, so they must persist in the client application. Refer to
Implementation Guidelines above.
<newAccountResponse>
<accountId></accountId>
<siteId></siteId>
<userId></userId>
<membershipId></membershipId>
<errorMessage></errorMessage>
</newAccountResponse>
Request
<addMemberToAccountRequest>
<adminUserId></adminUserId>
<adminPassword></adminPassword>
<accountId></accountId>
<members>
<member>
<memberEmailAddress></memberEmailAddress>
<memberUserName></memberUserName>
<memberPassword></memberPassword>
<memberForgottenPasswordQuestion></memberForgottenPasswordQuestion>
<memberForgottenPasswordAnswer></memberForgottenPasswordAnswer>
<memberTitle></memberTitle>
<memberFirstName></memberFirstName>
8 DocuSign Account Provisioning API Guide
<memberMiddleName></memberMiddleName>
<memberLastName></memberLastName>
<memberSuffix></memberSuffix>
<isAdmin></isAdmin>
<canSendEnvelopes></canSendEnvelopes>
<canSignEnvelopes></canSignEnvelopes>
<enableConnectForUser></enableConnectForUser>
</member>
<!-- Additional Members as desired -->
</members>
</addMemberToAccountRequest>
Response
For each Member element in response the values are identical to those returned in CreateNewAccount above. Note
that AccountId is specified in the request credentials and so is not returned with the response.
<addMemberToAccountResponse>
<members>
<member>
<userId></userId>
<membershipId></membershipId>
<errorMessage></errorMessage>
</member>
</members>
</addMemberToAccountResponse>
Request
<getAccountInfoRequest>
<userId></userId>
<password></password>
<accountId></accountId>
</getAccountInfoRequest>
Response
The elements returned are:
currentPlanId – A GUID, in string format, that identifies the account’s current Price Plan.
currentPlanName – The name of the account’s current Price Plan.
currentPlanStartDate – The date that the account subscribed to the current Price Plan.
currentPlanEndDate – The date that the current subscription ends. This value may be blank or not present, which
indicates that the current subscription continues indefinitely.
currentBillingPeriodStartDate – A billing period is a period of time, typically 30 days, that usage is calculated and
billed for. This value is the start date of the current billing period.
currentBillingPeriodEndDate – The end date of the current billing period.
currentBillingPeriodEnvelopesSent – The number of DocuSign envelopes sent in the current billing period.
currentBillingPeriodEnvelopesAllowed – The number of DocuSign envelopes that are included without additional
charge in the current billing period. Typically any envelopes sent above this amount are charged at an overage (per
use) rate.
DocuSign Account Provisioning API Guide 9
accountSuspensionStatus – If this value is present and non-blank, it indicates the reason why the account is
currently suspended.
accountSuspensionDate – If this value is present and non-blank, it shows the date that the account was
suspended.
<getAccountInfoResponse>
<currentPlanId></currentPlanId>
<currentPlanName></currentPlanName>
<currentPlanStartDate></currentPlanStartDate>
<currentPlanEndDate></currentPlanEndDate>
<currentBillingPeriodStartDate></currentBillingPeriodStartDate>
<currentBillingPeriodEndDate></currentBillingPeriodEndDate>
<currentBillingPeriodEnvelopesSent></currentBillingPeriodEnvelopesSent>
<currentBillingPeriodEnvelopesAllowed></currentBillingPeriodEnvelopesAllowed>
<accountSuspensionStatus></accountSuspensionStatus>
<accountSuspensionDate></accountSuspensionDate>
<errorMessage></errorMessage>
</getAccountInfoResponse>
Authenticate Member
This method is used to verify that a given set of credentials identify a user in an account in the DocuSign system.
The method allows the specification of either the DocuSign userId or the email address of the user, and the
password and accountId. This method can be used to retrieve the userId of a user when they only know their email
address.
Request
<authenticateMemberRequest>
<email></email>
<userId></userId>
<password></password>
<accountId></accountId>
</authenticateMemberRequest>
Response
<authenticateMemberResponse>
<userId></userId>
<accountId></accountId>
<UserAPI></UserAPI>
<CanManageAccount></CanManageAccount>
<CanSendEnvelope></CanSendEnvelope>
<CanSendAPIRequests></CanSendAPIRequests>
<errorMessage></errorMessage>
</authenticateMemberResponse>
Request
email – The email address of the user being checked.
<checkAccountMemberRequest>
<adminUserId></adminUserId>
<adminPassword></adminPassword>
10 DocuSign Account Provisioning API Guide
<accountId></accountId>
<email></email>
</checkAccountMemberRequest>
Response
status – This indicates the status of the member in the account. If the member is not active, they are not able to
use their credentials successfully.
userId – The userID that corresponds to the supplied email address.
<checkAccountMemberResponse>
<status></status>
<userId></userId>
<errorMessage></errorMessage>
</checkAccountMemberResponse>
DocuSign Account Provisioning API Guide 11
th
701 5 Avenue, Suite 4500
Seattle, WA 98104
tel 206.219.0200
fax 206.622.0736
www.docusign.com