PowerShell
PowerShell
Send DocuSign XML Request
See more HTTP Misc Examples
Demonstrates how to send a DocuSign XML request.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$req = New-Object 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"
$xmlCred = New-Object 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 = $false
$xmlCred.EmitCompact = $true
$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..
$xml = New-Object Chilkat.Xml
$xml.Tag = "envelopeDefinition"
$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 = $false
$($xml.GetXml())
$xml.EmitCompact = $true
$req.AddStringForUpload2("","",$xml.GetXml(),"utf-8","application/xml")
$req.AddFileForUpload2("","qa_data/pdf/signatureForm.pdf","application/pdf")
$req.AddSubHeader(1,"Content-Disposition","file; filename=`"signatureForm.pdf`";documentid=1")
$http = New-Object Chilkat.Http
$http.SessionLogFilename = "qa_output/log.txt"
$resp = New-Object Chilkat.HttpResponse
$success = $http.HttpSReq("na2.docusign.net",443,$true,$req,$resp)
if ($success -eq $false) {
$($http.LastErrorText)
exit
}
if ($resp.StatusCode -ne 201) {
$($resp.BodyStr)
$("Response status code: " + $resp.StatusCode)
$("Failed.")
exit
}
# Examine the response..
$xml.LoadXml($resp.BodyStr)
$envelopeId = $xml.GetChildContent("envelopeId")
$("envelopeId = " + $envelopeId)
$status = $xml.GetChildContent("status")
$("status = " + $status)
$statusDateTime = $xml.GetChildContent("statusDateTime")
$("statusDateTime = " + $statusDateTime)
$uri = $xml.GetChildContent("uri")
$("uri = " + $uri)