Sample code for 30+ languages & platforms
Classic ASP

Send DocuSign XML Request

See more HTTP Misc Examples

Demonstrates how to send a DocuSign XML request.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' This requires the Chilkat API to have been previously unlocked.
' See Global Unlock Sample for sample code.

set req = Server.CreateObject("Chilkat.HttpRequest")

req.HttpVerb = "POST"

' Replace "12999999" with your own account number. (12999999 is a ficticious account number)
req.Path = "/restapi/v2/accounts/12999999/envelopes"

req.AddHeader "Accept","application/xml"

' Don't worry about the boundary string.  Chilkat will automatically generate one and include it.
req.ContentType = "multipart/form-data"

set xmlCred = Server.CreateObject("Chilkat.Xml")
xmlCred.Tag = "DocuSignCredentials"
xmlCred.UpdateChildContent "Username","YOUR_DOCUSIGN_USERNAME"
xmlCred.UpdateChildContent "Password","YOUR_DOCUSIGN_PASSWORD"
xmlCred.UpdateChildContent "IntegratorKey","ABCD-12345678-1234-AAAA-BBBB-abcdabcdabcd"
xmlCred.EmitXmlDecl = 0
xmlCred.EmitCompact = 1
req.AddHeader "X-DocuSign-Authentication",xmlCred.GetXml()

' Don't worry about Host or Content-Length headers, Chilkat automatically adds them...

' Build the XML for the 1st body part..
set xml = Server.CreateObject("Chilkat.Xml")
xml.Tag = "envelopeDefinition"
success = xml.AddAttribute("xmlns","http://www.docusign.com/restapi")
xml.UpdateChildContent "emailSubject","Signature Request: Test Test:001019:033611"
xml.UpdateChildContent "status","sent"
xml.UpdateChildContent "documents|document|documentId","1"
xml.UpdateChildContent "documents|document|name","001019_TestTest_RetailDeals_163357"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|hostEmail","admin@chilkatsoft.com"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|hostName","Chilkat Admin"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|signerName","Test  Test"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|recipientId","1"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|routingOrder","1"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|signerEmail","test@tyest.com"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|anchorString","\SDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere|optional","False"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|anchorString","\OSDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[1]|optional","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|anchorString","\OPSSDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|optional","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[2]|scaleValue","0.7"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|anchorString","\PSSDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|optional","False"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|signHereTabs|signHere[3]|scaleValue","0.7"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|anchorString","\IDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere|optional","False"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|anchorString","\OIDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[1]|optional","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|anchorString","\OPSIDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|optional","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[2]|scaleValue","0.5"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|anchorString","\PSIDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|optional","False"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner|tabs|initialHereTabs|initialHere[3]|scaleValue","0.5"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|hostEmail","admin@chilkatsoft.com"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|hostName","Chilkat Admin"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|signerName","Dealer Representative"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|recipientId","2"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|routingOrder","2"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|anchorString","\DSDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere|optional","False"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|anchorString","\DOSDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|signHereTabs|signHere[1]|optional","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|anchorString","\DIDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere|optional","False"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|anchorIgnoreIfNotPresent","True"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|anchorString","\DOIDP"
xml.UpdateChildContent "recipients|inPersonSigners|inPersonSigner[1]|tabs|initialHereTabs|initialHere[1]|optional","True"
xml.EmitXmlDecl = 0

Response.Write "<pre>" & Server.HTMLEncode( xml.GetXml()) & "</pre>"

xml.EmitCompact = 1

success = req.AddStringForUpload2("","",xml.GetXml(),"utf-8","application/xml")
success = req.AddFileForUpload2("","qa_data/pdf/signatureForm.pdf","application/pdf")
success = req.AddSubHeader(1,"Content-Disposition","file; filename=""signatureForm.pdf"";documentid=1")

set http = Server.CreateObject("Chilkat.Http")

http.SessionLogFilename = "qa_output/log.txt"

set resp = Server.CreateObject("Chilkat.HttpResponse")
success = http.HttpSReq("na2.docusign.net",443,1,req,resp)
If (success = 0) Then
    Response.Write "<pre>" & Server.HTMLEncode( http.LastErrorText) & "</pre>"
    Response.End
End If

If (resp.StatusCode <> 201) Then
    Response.Write "<pre>" & Server.HTMLEncode( resp.BodyStr) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Response status code: " & resp.StatusCode) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "Failed.") & "</pre>"
    Response.End
End If

' Examine the response..
success = xml.LoadXml(resp.BodyStr)
envelopeId = xml.GetChildContent("envelopeId")
Response.Write "<pre>" & Server.HTMLEncode( "envelopeId = " & envelopeId) & "</pre>"
status = xml.GetChildContent("status")
Response.Write "<pre>" & Server.HTMLEncode( "status = " & status) & "</pre>"
statusDateTime = xml.GetChildContent("statusDateTime")
Response.Write "<pre>" & Server.HTMLEncode( "statusDateTime = " & statusDateTime) & "</pre>"
uri = xml.GetChildContent("uri")
Response.Write "<pre>" & Server.HTMLEncode( "uri = " & uri) & "</pre>"

%>
</body>
</html>