I would like to implement the DocuSign Connect as a rest listener.
I cannot find anywhere a complete documentation of the xml schema that the listener will receive.
I know that there is an example in the pdf:
http://764be237d39fdfa0985f-37a6c1f0731907180d9764651d02bea9.r5.cf2.rackcdn.com/DocuSign_Connect_Service_Guide.pdf
but I am wondering if there is a more formal description like for example an xsd.
You can also reference the complete XSD here: https://www.docusign.net/api/3.0/schema/dsx.xsd
Each Connect message will contain an EnvelopeStatus object and DocumentPDF objects -- the full structure of these objects is specified in the DocuSign WSDL: https://www.docusign.net/api/3.0/schema/dsapi.wsdl.
Taken from the DocuSign Connect Service Guide (http://764be237d39fdfa0985f-37a6c1f0731907180d9764651d02bea9.r5.cf2.rackcdn.com/DocuSign_Connect_Service_Guide.pdf):
"The XML post from DocuSign contains the EnvelopeStatus object along with DocumentPDF objects, if the configuration has the checkbox to include the push of the documents.
The DocuSign 3.0 API WSDL file that contains definitions for both structures is located on the DocuSign website. It can be found at: https://www.docusign.net/api/3.0/api.asmx?wsdl."
Related
I have SharePoint folders that are shared with external users.
The sharing is created using ShareDocument() in OfficeDevPnP.Core.
(Thanks to Jack Le for answering my earlier question on how to do this)
I now want to retrieve the email addresses that a folder is shared with, ie this list:
[]
I've tried these methods, but can't get the information I require:
GetSharingLinkData()
GetSharingLinkKind()
GetObjectSharingSettings()
GetObjectSharingSettingsForDocument()
Is there a way to retrieve the email addresses?
There is a rest api endpoint that could offer this kind of info.
_api/web/Lists(#a1)/GetItemById(#a2)/GetSharingInformation
Refer to below blog to get more details:
https://cann0nf0dder.wordpress.com/2018/04/04/externally-sharing-getsharinginformation-rest-api/
BR
The rest call above and described on Cann0nf0dder web site only works in the browser when using Sharepoint interface. If you try it programmatically it results in "Method not allowed". I don't think it is useable.
Below is a list of usable commands in the Sharepoint rest interface, and GetSharingInformation is not one of them:
https://learn.microsoft.com/en-us/previous-versions/office/developer/sharepoint-rest-reference/jj860569(v=office.15)?redirectedfrom=MSDN
The answer of Billy Bonkers is not correct: The decribed REST endpoint of Cann0nf0dder can be used.
He has used it on the next part of the series: https://cann0nf0dder.wordpress.com/2018/04/05/externally-sharing-spfx-isexternallyshared-field-customizer
"Method not allowed" error is a result when using wrong HTTP-Method: POST must be used.
In dependence of the scenario you must additionally provide a FormDigest manually:
execute a POST request to /_api/ContextInfo
get the FormDigestValue property from the resulting JSON
use this value to set the X-RequestDigest header property for the /_api/web/Lists(#a1)/GetItemById(#a2)/GetSharingInformation POST request
I want to know if this is possible: I would like to have a custom text field on an envelope that I set and if the envelope fails for some reason, like there are missing tabs or email address is bad, I want to be able to look at the exception and see the custom field that I set. Would this info be in the raw data? It is as important to us to know which envelopes failed as to know why they failed. I saved the custom field in a database before sending out the envelope. When it fails, I can look up that custom field and discover which envelope didn't make it and to take some action, like correcting and resending.
If the envelope is created incorrectly (i.e: specifying a conditional parent tab which does not exist, syntax error, etc), then you will know at the time you attempt to create the envelope w/the API. The reason will be included in an error code the API returns
If an envelope was sent to an email address which does not exist/bounces, that information can be discovered using the DS API to see a recipient/envelope status of 'autoresponded', or if you are using DS Connect you can receive a push notification.
Is there additional rationale why you want to use a custom field? Per the above, I do not believe it is necessary or applicable.
With the RestSharp api, I was able to get the Request body. The Request body has a collection of Parameters, and one of those items is the RequestBody.
I am using the Docusign-Connet to get the notifications form docusign. In docusign api there is a line
"It can also be used to transport the completed documents back to your app or website and to retrieve any form field data entered by your recipients"
but in payload I am getting only document names?.
If you want the connect messages to include the envelopes' documents or fields, check the boxes in the Connection Subscription screen (shown below from the New DocuSign Experience Admin tool).
Or set the fields includeDocumentFields and/or includeDocuments to true in your call to ConnectConfigurations: create
What i've done in the past is, get the document statuses from DocuSignConnect when things change. Then call EnvelopesApi.GetDocument endpoint with DocumentStatuses.DocumentStatus.ID and the envelope ID to retrieve the document.
In my implementation, we only download the document if the entire envelope is complete. This way, the DocuSignConnect payload is not big as well.
Btw, my implementation is in .net using their 2.1.9.0 library.
Good luck!
My DocuSign Connect Listener cannot deserialize the XML it's receiving. The Envelope is always null. I have decorated both my class and it's interface with the [ServiceBehavior(Namespace = "http://www.docusign.net/API/3.0")] and decorated the Operation Contract with XmlSerializerFormat. Does anyone know what I'm doing wrong?
I don't know what you mean by https://www.docusign.net/API/3.0/, that is not a valid url.
Answer
In my listeners I use a suitable XML library (platform/stack specific) to pull values and documents out of the notification messages.
These days, there are often XML libraries that are more convenient than the standard libxml2 and its various wrappers. For example, BeautifulSoup for Python
You can see working examples of a DocuSign Connect/eventNotification listener in various languages and stacks:
Java
Node JS
C#
PHP
Python
Also, check out the webhook recipe for more information.
Debugging, the logging facility for the connect messages is also very helpful. See the DocuSign Admin panel, the "Integrations" section, the "Connect" item for access to the logs.
I want to make sure I am on the right track as I have been having some problems getting started with the API. I am looking to maintain a list of product application PDFs as templates on docusign. When a customer comes to our site and wants a particular product they need to fill out an application form. All the data would be collected on our site. I would then want to:
Create an envolope with the customer (and potentially other parties) that need to sign the document
Fill in the form fields from data collected on our site
Send the envelope out for signature and monitor the progress.
So in doing this I am trying to build this up a piece at a time and first task is to make sure that I can provide form data to docusign. I create a template with the docusign web user interface and all of the form fields seem to be preserved. However when I try and retrieve the template with API
https://demo.docusign.net/restapi/v2/accounts/xxxx/templates/yyyy
I see a very short response with an envelopeTemplateDefinition showing the correct name for the template but no documents object and no custom fields object. I have also tried this by creating an envelope with the document (in draft) but with similar results.
My apologies in advance for this newbie question.
I've repro'd the issue you describe -- i.e., the Response I get from a GET Template request contains only very limited information and is thereby not consistent with the expected Response as documented on pages 194-196 of the DocuSign REST API guide (http://www.docusign.com/sites/default/files/REST_API_Guide_v2.pdf). Not sure if this is a bug with the GET Template operation or with the Documentation -- someone at DocuSign will need to confirm (#Ergin).
In light of this limitation with the GET Template operation, you can alternatively retrieve the recipient information (including tabs) and document information about a Template by using the GET Envelope Recipients and GET Envelope Documents operations -- just specify the TEMPLATE Id in place of the Envelope Id, as shown here:
GET https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{templateId}/documents
GET https://{{env}}.docusign.net/restapi/{{version}}/accounts/{{acctId}}/envelopes/{templateId}/recipients?include_tabs=true