Pass Thru Model (Legacy QFE 5.4)

Pass-Thru Integration is for customers or partners who want Quik! to load and kick off the envelope with DocuSign on their behalf. Compared to the Self-Service Integration method that requires the customer to host the Quik! ESign Transport web service and control the entire process, this method is simpler and designed for customers who may not be able to host a .NET web service application (i.e. QuikESignTransport) and want to perform work with the form data prior to signing.

This method is a single web service call to Quik! that takes in the raw data posted by the HTML form and returns a DocuSign Envelope ID to the customer. The process flow is listed below.

Process Flow



The above graphic shows the basic architecture of how a Pass-Thru transaction works:

  1. The Quik! HTML Form will send the form data back to the customer's web server to start the e-sign process with Quik! directly.
  2. The customer sends the data to Quik! (via web service) and Quik! kicks off the process with DocuSign. Quik! then returns the DocuSign EnvelopeID to the customer to manage and use when polling for status, updating the envelope and archiving the signed document.


Pass-Thru Web Service URL: https://websvcs.quikforms.com/Docusign/ESignWSVersion/5400/ESignForPartnersWS.asmx

How To Use the Pass-Thru Method

To make the Pass-Thru e-sign method work, you'll need to do the following:

  1. Set up and host a web page designed to receive form data via a POST event that does the following (see sample web page in DocuSign_PassThroughWS_SamplePartnerProject.zip):
    1. Receive form data directly from a Quik! HTML form
    2. Pass the posted data to the e-sign Pass-Thru web service to generate the DocuSign envelope
    3. Receive the DocuSign EnvelopeID and do something with it to make it available to your system
  2. When you generate the Quik! HTML Form that you want signed, set the SignURL property to your hosted web page that you set up in step 1.

NOTE: While Quik! will set up and initiate the DocuSign envelope, it will be your responsibility to check for status and to download the final document from DocuSign.

Pass-Thru E-Sign Example

The code snippet below is from the DocuSign_PassThroughWS_SamplePartnerProject.zip included with the Quik! Forms Engine. 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
'Get the POST data
Dim postStream As Stream
postStream = Request.InputStream 
Dim strFormData As String = New StreamReader(postStream).ReadToEnd() 
'Verify the POST data is not empty
If Not IsNothing(strFormData) And strFormData.Length > 0 Then 
'Call the Quik! Partner ESign WS
Dim user = System.Configuration.ConfigurationManager.AppSettings("DocuSignUser")
Dim pass = System.Configuration.ConfigurationManager.AppSettings("DocuSignPass") 
Dim ESign As New esign.ESignForPartnersWS
Dim credentials As New esign.DocuSignCredentials
credentials.UserName = user
credentials.Password = pass
ESign.DocuSignCredentialsValue = credentials 
Dim json As String
Dim jsonLength As Integer 
'Call the web service to generate an envelope and return an EnvelopeID
Dim result As esign.QuikResultWS = ESign.GenerateDocusignEnvelope(strFormData) 
If result.ErrorCode = 0 Then
Dim strEnvelopeID As String = result.ResultData.Tables(0).Rows(0)(0).ToString
'Do something with this EnvelopeID and return a message to the form. 
'Prepare the status response with the following JSON format
json = "{""StatusCode"":""0"",""Envelope"":" + "[{""EnvelopeID"":""" & Server.HtmlEncode(strEnvelopeID) & """}]}"
jsonLength = json.Length 
Response.ContentType = "application/json"
Response.AddHeader("content-length", jsonLength)
Response.AddHeader("Access-Control-Allow-Origin", "*") 
Response.Write(json)
Else
json = "{""StatusCode"":""0"",""StatusMessage"":""" + Server.HtmlEncode(result.Message) + """}"
jsonLength = json.Length 
Response.ContentType = "application/json"
Response.AddHeader("content-length", jsonLength)
Response.AddHeader("Access-Control-Allow-Origin", "*") 
Response.Write(json)
End If
End If
End If
End Sub

For help regarding Quik! Forms and the Quik! API
Email: support@quikforms.com | Phone: (877) 456-QUIK