Sample code for 30+ languages & platforms
VBScript

Send DocuSign XML Request

See more HTTP Misc Examples

Demonstrates how to send a DocuSign XML request.

Chilkat VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

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

set req = 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 = 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 = 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

outFile.WriteLine(xml.GetXml())

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 = CreateObject("Chilkat.Http")

http.SessionLogFilename = "qa_output/log.txt"

set resp = CreateObject("Chilkat.HttpResponse")
success = http.HttpSReq("na2.docusign.net",443,1,req,resp)
If (success = 0) Then
    outFile.WriteLine(http.LastErrorText)
    WScript.Quit
End If

If (resp.StatusCode <> 201) Then
    outFile.WriteLine(resp.BodyStr)
    outFile.WriteLine("Response status code: " & resp.StatusCode)
    outFile.WriteLine("Failed.")
    WScript.Quit
End If

' Examine the response..
success = xml.LoadXml(resp.BodyStr)
envelopeId = xml.GetChildContent("envelopeId")
outFile.WriteLine("envelopeId = " & envelopeId)
status = xml.GetChildContent("status")
outFile.WriteLine("status = " & status)
statusDateTime = xml.GetChildContent("statusDateTime")
outFile.WriteLine("statusDateTime = " & statusDateTime)
uri = xml.GetChildContent("uri")
outFile.WriteLine("uri = " & uri)

outFile.Close