Self-Service Integration refers to customers or partners who typically represent multiple users and want the ability to work directly with the e-sign vendor's APIs. In this scenario, Quik! will provide the customer with the form as a PDF, all the relevant XML data needed by the vendor and any other data. The customer will then submit this information through the e-sign vendor's API to fully control the signature process. This method enables customers to use their own workflows and integrations with e-sign vendors and to eliminate the need to further rely on Quik! to retrieve signature data and documents.
The above graphic shows the basic architecture of how a self-service transaction works. Quik! enables the transaction in two ways:
The QuikESignTransport web service is included in the software zip file as "QuikESignTransport.zip". This turnkey web service should be installed on your .NET web server running IIS 7.0 or higher and given its own application pool. The project is written in C-sharp and all source code is included so you can make modifications and incorporate it into your workflow.
NOTE: This project will only prepare the data necessary to create a DocuSign envelope including the PDF and XML file to submit to DocuSign.
Open the web.config file in this project and modify the <appSettings> section.
<appSettings> <add key="strAPIAccountId" value="YOUR DOCUSIGN API ACCOUNT ID"/> <add key="strAPIUserName" value="YOUR DOCUSIGN API USERNAME"/> <add key="strUserPassword" value="YOUR DOCUSIGN API PASSWORD"/> <add key="strAPIUrl" value="https://demo.docusign.net/api/3.0/api.asmx"/> <!--Change this to the production API (https://www.docusign.net/api/3.0/api.asmx) once certified by Docusign IF you modify this project. Otherwise, use the production URL now.--> <add key="SupportEmail" value ="YOUR SUPPORT EMAIL ADDRESS"/> <add key="SupportPhone" value ="YOUR SUPPORT PHONE NUMBER"/> </appSettings> |
Enter your values in each appSetting key per the key attributes described below.
NOTE: You must set up a DocuSign API key on your account to use DocuSign!
Property | Description |
strAPIAccountId | Enter your DocuSign account ID (found in your DocuSign account in the API screen) |
strAPIUserName | Enter your DocuSign username (found in your DocuSign account in the API screen) which has the naming convention of [API-Key-Value]email.com: [########################-############]email@email.com |
strUserPassword | Enter your DocuSign password (found in your DocuSign account in the API screen) |
strAPIUrl | The default demo URL should be used during development and changed according to instructions from DocuSign upon approval and go-live. |
SupportEmail | Enter your company's support email address for any issues that arise from using the system. |
SupportPhone | Enter your company's support phone number for any issues that arise from using the system. |
When you're certified with DocuSign and ready to go live, be sure to change the endpoint URLs to the appropriate production URLs as indicated by DocuSign's documentation.
NOTE: The sample production URLs below may not be the ones you end up using – be sure to read the documentation from DocuSign.
<client> <endpoint address="https://demo.docusign.net/api/3.0/credential.asmx" binding="basicHttpBinding" bindingConfiguration="CredentialSoap" contract="CredentialService.CredentialSoap" name="CredentialSoap"/> <!--Change this to the production API (https://www.docusign.net/api/3.0/credential.asmx) once certified by Docusign IF you modify this project. Otherwise, use the production URL now.--> <endpoint address="https://demo.docusign.net/api/3.0/api.asmx" binding="basicHttpBinding" bindingConfiguration="APIServiceSoap" contract="APIService.APIServiceSoap" name="APIServiceSoap"/> <!--Change this to the production API (https://www.docusign.net/api/3.0/api.asmx) once certified by Docusign IF you modify this project. Otherwise, use the production URL now.--> </client> |
The QuikESignTransport web service is designed to create envelopes with DocuSign, but there are two different ways you can create envelopes:
By default, when you run the QuikESignTransport web service an envelope will be created in DocuSign automatically. It is then up to you to poll for status using the EnvelopeID returned by the web service and to download the final document.
It is important that you modify the QuikESignTransport to do something with the EnvelopeID that is returned. See line 161 in the QuikSignTransport.aspx.cs file for the EnvelopeID.
Download this project on the Downloads page.
If you are building a system that will handle all the API calls to DocuSign, then you'll only use the QuikESignTransport web service to prepare and retrieve a final PDF of the forms and external documents, plus the fully-prepared XML file needed by DocuSign. You will want to then modify line 161 in the QuikSignTransport.aspx.cs file to NOT call DocuSign's envelope creation API. This is the point in the code where you will modify the process to do something else (e.g. hand off the returned PDF and XML to another process).
The following c-sharp variables contain the PDF and XML data that you need to perform your own work.
NOTE: Any modifications to the PDF and XML are at your own risk to ensure it conforms to DocuSign's API.
If you plan to collect your own envelope information and call the Quik! web service for Docusign directly, then use this URL. There are two methods – one returns XML and the other JSON formatted data.
Get Docusign Data - https://websvcs.quikforms.com/docusign/esignwsversion/5400/GetDocuSignData.asmx
If you need to retrieve a PDF form using the DocuSign web service and no signature fields are on the form you will need to pass an empty JSON value (i.e. "[]") in the SignLocations parameter for the GetDocusignResources method of the GetDocuSignData.asmx web service.