I have a docusign developer account in demo.docusign.net. I am integrating my application with docusign through SOAP API. I am trying to Authenticate using Phone and AnySocialID. But it is not asking for any authentication. Please find below the XML and could you please let me know whats wrong in it. It is not prompting for Phone call or not asking any social ID authentication.
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
<Envelope>
<AccountId>a6cff121-fb11-4a50-a2fb-9ce50ba70f7c</AccountId>
<Documents>
<Document>
<ID>LEASE AGREEMENT</ID>
<Name>838.doc</Name>
<PDFBytes>BBBXXX</PDFBytes>
<FileExtension>.doc</FileExtension>
</Document>
</Documents>
<Recipients>
<Recipient>
<ID>1</ID>
<UserName>MUKES OUTLOOK</UserName>
<Email>M.AGRAWAL#OUTLOOK.COM</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
<PhoneAuthentication>
<RecipMayProvideNumber>true</RecipMayProvideNumber>
<RequireIDLookup>true</RequireIDLookup>
<IDCheckConfigurationName>Phone Auth $</IDCheckConfigurationName>
</PhoneAuthentication>
<RoutingOrder>1</RoutingOrder>
<RoleName>Lessee</RoleName>
</Recipient>
<Recipient>
<ID>2</ID>
<UserName>MUK TOPTAL</UserName>
<Email>MUKESH#TOPTAL.COM</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
<AnySocialIDRecipientAuthentication>true</AnySocialIDRecipientAuthentication>
<RoutingOrder>2</RoutingOrder>
<RoleName>Guarantor</RoleName>
</Recipient>
</Recipients>
<Tabs>
<Tab>
<DocumentID>LEASE AGREEMENT</DocumentID>
<RecipientID>1</RecipientID>
<AnchorTabItem>
<AnchorTabString>??CS1!</AnchorTabString>
<Unit>Cms</Unit>
<IgnoreIfNotPresent>false</IgnoreIfNotPresent>
</AnchorTabItem>
<Type>SignHere</Type>
<Name>Lessee Signature 1</Name>
</Tab>
<Tab>
<DocumentID>LEASE AGREEMENT</DocumentID>
<RecipientID>2</RecipientID>
<AnchorTabItem>
<AnchorTabString>??GS1!</AnchorTabString>
<Unit>Cms</Unit>
<IgnoreIfNotPresent>false</IgnoreIfNotPresent>
</AnchorTabItem>
<Type>SignHere</Type>
<Name>Guarantor Signature 2</Name>
</Tab>
</Tabs>
<Subject>Subject</Subject>
<EmailBlurb>Body</EmailBlurb>
</Envelope>
</CreateAndSendEnvelope>
</soap:Body>
</soap:Envelope>
From what I can tell your SOAP request looks right, it's possible these advanced forms of recipient authentication are not enabled in the developer sandbox accounts because I think they actually cost DocuSign money each time they are used (whether in demo or production).
Please reach out to your DocuSign account manager to have them enabled it or support if you don't have an AM yet.
Related
Our software has been integrated with DocuSign since 2007. We've never included the notification element and the company's using the integration have always been able to use the DocuSign Admin to control those Settings. For some reason it is no longer working. I'm using the Demo environment for my testing. Has there been a change at DocuSign?
Here is an example CreateAndSendEnvelope request.
<?xml version="1.0" encoding="Windows-1252"?>
<Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AccountId xmlns="http://www.docusign.net/API/3.0">7ee2da0d-256c-4f73-8e7d-cd1bf921b2c1</AccountId>
<Documents xmlns="http://www.docusign.net/API/3.0">
<Document>
<ID>1067</ID>
<Name>Test DocuSign Lead</Name>
<PDFBytes>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NTQwMDY1MDA3MzAwNzQwMDQ0MDA2ZjAwNjMwMDc1MDA1MzAwNjkwMDY3MDA2ZT4NCi9BdXRob3IgPD4NCi9TdWJqZWN0IDw+DQovQ3JlYXRvciAoTWljcm9zb2Z0IFJlcG9ydGluZyBTZXJ2aWNlcyAxMi4wLjAuMCkNCi9Qcm9kdWNlciAoTWljcm9zb2Z0IFJlcG9ydGluZyBTZXJ2aWNlcyBQREYgUmVuZGVyaW5nIEV4dGVuc2lvbiAxMi4wLjAuMCkNCi9DcmVhdGlvbkRhdGUgKEQ6MjAxOTA0MjUxODU4MTktMDQnMDAnKQ0KPj4NCmVuZG9iag0KeHJlZg0KMCAxMQ0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDAwMDEwIDAwMDAwIG4NCjAwMDAwMDA3ODkgMDAwMDAgbg0KMDAwMDAwMTU1MyAwMDAwMCBuDQowMDAwMDAwOTYzIDAwMDAwIG4NCjAwMDAwMDAwNjUgMDAwMDAgbg0KMDAwMDAwMTY1MyAwMDAwMCBuDQowMDAwMDAxMzkwIDAwMDAwIG4NCjAwMDAwMDExNjQgMDAwMDAgbg0KMDAwMDAwMTcyMSAwMDAwMCBuDQowMDAwMDAxNzczIDAwMDAwIG4NCnRyYWlsZXIgPDwgL1NpemUgMTEgL1Jvb3QgOSAwIFIgL0luZm8gMTAgMCBSID4+DQpzdGFydHhyZWYNCjIwNTINCiUlRU9G</PDFBytes>
</Document>
</Documents>
<Recipients xmlns="http://www.docusign.net/API/3.0">
<Recipient>
<ID>97461</ID>
<UserName>Jane Clark</UserName>
<Email>smcmillan#gmail.com</Email>
<Type>Signer</Type>
<AccessCode>6541</AccessCode>
<RoutingOrder>1</RoutingOrder>
</Recipient>
</Recipients>
<Tabs xmlns="http://www.docusign.net/API/3.0">
<Tab>
<DocumentID>1067</DocumentID>
<RecipientID>97461</RecipientID>
<AnchorTabItem>
<AnchorTabString>[SignHere]</AnchorTabString>
</AnchorTabItem>
<Type>SignHere</Type>
</Tab>
<Tab>
<DocumentID>1067</DocumentID>
<RecipientID>97461</RecipientID>
<AnchorTabItem>
<AnchorTabString>[Date]</AnchorTabString>
</AnchorTabItem>
<Type>DateSigned</Type>
</Tab>
<Tab>
<DocumentID>1067</DocumentID>
<RecipientID>97461</RecipientID>
<AnchorTabItem>
<AnchorTabString>[BankName]</AnchorTabString>
</AnchorTabItem>
<Type>Custom</Type>
<Name>Custom Bank Name</Name>
<TabLabel>Custom Bank Label</TabLabel>
<CustomTabType>Text</CustomTabType>
<CustomTabWidth>200</CustomTabWidth>
<CustomTabHeight>25</CustomTabHeight>
</Tab>
</Tabs>
<Subject xmlns="http://www.docusign.net/API/3.0">CreditSoft - DocuSign</Subject>
<EmailBlurb xmlns="http://www.docusign.net/API/3.0">Please click link to sign the document</EmailBlurb>
Did the account settings get changed? There is a default set at the account level.
In your testing, do you get the notifications?
The setting is via the Admin Tool: Signing and Sending / Reminders and Expiration In my demo account, it appears that the default for reminders and expiring warnings is off.
Admin tool screenshot:
Update from DocuSign that a bit over a year ago they made Notification.UseAccountDefaults required. In testing I also had to set Notification.UseAccountDefaultsSpecified to be true as well. Once that was complete my envelopes showed the correction expiration and reminder Settings in the Demo account.
Dim Notification As Notification = New Notification
Notification.UseAccountDefaults = True
Notification.UseAccountDefaultsSpecified = True
envelope.Notification = Notification
I'm experiencing issues with emails not being delivered to recipients for all the envelopes I've created with Docusign demo sandbox account created recently. I've tried email recipients with the domain gmail.com & outlook.com but not sure of the reason why email delivering is failing to these domains. I made sure by verifying Spam folders too but none of them has docusign emails delivered.
Appreciate your help in this regard!!
<?xml version="1.0" encoding="utf-16"?>
<Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AccountId xmlns="http://www.docusign.net/API/3.0">d80849c3-d316-4747-8616-523bd10a8b3d</AccountId>
<Documents xmlns="http://www.docusign.net/API/3.0">
<Document>
<ID>1</ID>
<Name>Lease.pdf</Name>
<PDFBytes>*****************</PDFBytes>
<FileExtension>.pdf</FileExtension>
</Document>
</Documents>
<Recipients xmlns="http://www.docusign.net/API/3.0">
<Recipient>
<ID>1</ID>
<UserName>Vamsi</UserName>
<Email>********#gmail.com</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
<CaptiveInfo>
<ClientUserId>1</ClientUserId>
</CaptiveInfo>
</Recipient>
</Recipients>
<Tabs xmlns="http://www.docusign.net/API/3.0">
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>6</PageNumber>
<XPosition>250</XPosition>
<YPosition>215</YPosition>
<Type>FullName</Type>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>6</PageNumber>
<XPosition>70</XPosition>
<YPosition>175</YPosition>
<Type>SignHere</Type>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>6</PageNumber>
<XPosition>425</XPosition>
<YPosition>220</YPosition>
<Type>DateSigned</Type>
</Tab>
</Tabs>
<Subject xmlns="http://www.docusign.net/API/3.0">eSign Lease</Subject>
<EmailBlurb xmlns="http://www.docusign.net/API/3.0">Please agree to the Terms and conditions.</EmailBlurb>
</Envelope>
Request has Account Id just in case if what to verify requests generated from this demo Account Id.
Try removing the CaptiveInfo node from the request body (also removing the ClientUserId node that's located within it). DocuSign should send the signing invitation email to the recipient if you omit those elements from the request.
I sent few custom fields to docusign through API with document to be signed. When document got completed and docusign conenct hit my callback listener for passing event, I do not find the custom fields in that. My request looks like:
<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">
<emailSubject>API Call for adding signature request to document and sending</emailSubject>
<status>sent</status>
<documents>
<document>
<documentId>1</documentId>
<name> <DOCUMENT_NAME> </name>
</document>
</documents>
<recipients>
<signers>
<signer>
<recipientId>1</recipientId>
<name> <RECIPIENT_NAME> </name>
<email> <RECIPIENT_EMAIL> </email>
</signer>
</signers>
</recipients>
<customFields>
<customField>
<name>callingApp</name>
<show>false</show>
<required>true</required>
<value>DMS</value>
<customFieldType>text</customFieldType>
</customField>
</customFields>
</envelopeDefinition>
Please tell me if I am doing anything wrong.
In your connect listener you want to enable Include Document Fields.
If you were doing an Envelope based Event Notification (connect event), it would be different.
I created demo account on docusign demo site some days ago and I have the same problem "This Account lacks sufficient permissions" DocuSign.
Could you guys help me out of this? I really appreciate your help.
Update SOAP trace:
CreateAndSendEnvelope request
<MessageLogTraceRecord>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header>
<Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://www.docusign.net/API/3.0/CreateAndSendEnvelope</Action>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
<Envelope>
<AccountId>5b119284-64fd-4f85-877c-8825b2e73bc1</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>a2a7b1a3efd6416ab00742a72cd00b97_DOCUSIGN_DATA.pdf</Name>
<PDFBytes></PDFBytes>
</Document>
</Documents>
<Recipients>
<Recipient>
<ID>1</ID>
<UserName>TEST 1 LAST</UserName>
<Email>TRUNGNGUYEN#INTERACTIVECONTACTCENTER.COM</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true"></AccessCode>
<RequireIDLookup>false</RequireIDLookup>
</Recipient>
</Recipients>
<Subject>sign</Subject>
<EmailBlurb></EmailBlurb>
</Envelope>
</CreateAndSendEnvelope>
</s:Body>
</s:Envelope>
</MessageLogTraceRecord>
CreateAndSendEnvelope response
<MessageLogTraceRecord>
<HttpResponse xmlns="http://schemas.microsoft.com/2004/06/ServiceModel/Management/MessageTrace">
<StatusCode>InternalServerError</StatusCode>
<StatusDescription>Internal Server Error</StatusDescription>
<WebHeaders>
<Vary>Accept-Encoding</Vary>
<Strict-Transport-Security>max-age=7776000; includeSubDomains</Strict-Transport-Security>
<Content-Length>1394</Content-Length>
<Cache-Control>private</Cache-Control>
<Content-Type>text/xml; charset=utf-8</Content-Type>
<Date>Wed, 25 Sep 2013 16:03:23 GMT</Date>
</WebHeaders>
</HttpResponse>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<soap:Header>
<wsa:Action>http://schemas.xmlsoap.org/ws/2004/08/addressing/fault</wsa:Action>
<wsa:MessageID>urn:uuid:e12ae2b6-6328-4b5b-b553-95f422f66454</wsa:MessageID>
<wsa:RelatesTo>urn:uuid:9f37c1cf-d875-4acd-9b88-108e9b11efc2</wsa:RelatesTo>
<wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
<wsse:Security>
<wsu:Timestamp wsu:Id="Timestamp-14c52cbb-7b93-4541-9867-c16654c1629b">
<wsu:Created>2013-09-25T16:03:24Z</wsu:Created>
<wsu:Expires>2013-09-25T16:08:24Z</wsu:Expires>
</wsu:Timestamp>
</wsse:Security>
</soap:Header>
<soap:Body>
<soap:Fault>
<faultcode xmlns="">soap:Client</faultcode>
<faultstring xmlns="">This Account lacks sufficient permissions. </faultstring>
<faultactor xmlns="">missing in Web.Config</faultactor>
<detail xmlns="">
<ErrorCode xmlns="missing in Web.Config">111</ErrorCode>
<ErrorReason xmlns="missing in Web.Config">This Account lacks sufficient permissions.</ErrorReason>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
</MessageLogTraceRecord>
This means that you are trying to use a feature or setting that is not enabled on your demo account. By default DocuSign enables all features on demo accounts so I'm not sure how your account got into a weird, semi-activated state.
In most situations this needs to be fixed by DocuSign on their side by someone going into your account and enabling a feature or setting.
I've gone through your account and enabled some things that should have been turned on, please try again.
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext">
<wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">
<wsse:Username>Username</wsse:Username>
<wsse:Password Type="wsse:PasswordText">Password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
The above lines are entered as XML fragment in a BPEL process in JDeveloper.Question: How do I design a suitable schema to get Username and Password for Siebel header to call out Siebel services?
this is an example of request to siebel web services with WSSOAP option turned on:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<ns:UsernameToken xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">User name goes here</ns:UsernameToken>
<ns:PasswordText xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">Password goes here</ns:PasswordText>
<ns:SessionType xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">Session type goes here</ns:SessionType>
<ns:SessionToken xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://siebel.com/webservices" xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">Session token goes here</ns:SessionToken>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
without WSSOAP option you would have to either invoke that as anonymous user (configured on Siebel side) or put user name & password in URL.
Here you can find more information (Siebel Bookshelf): http://docs.oracle.com/cd/B40099_02/books/EAI2/EAI2_WebServices.html