My question is related to a specific REST operation for sending an Envelope using a Template where there are at least 2 roles defined as Signers (Signer1, Signer2)
The template is defined as follows: there is a document uploaded, 2 roles as signers (with no routing order, no email, no name) and the position of the Sign for each signer.
I have tried from the API explorer, and this is the JSON request:
{
"emailSubject": "template to sign",
"status": "sent",
"templateId": "xxxxx",
"templateRoles": [
{
"email": "email1#gmail.com",
"name": "signer1",
"roleName": "Signer1",
"routingOrder": "1"
},
{
"email": "email2#gmail.com",
"name": "signer2",
"roleName": "Signer2",
"routingOrder": "2"
}
]}
All works fine except for the possition of the sign for Signer2. It should only appear the square of the sign in the document. However, It behaves like this role does not exist, and all objects for signing are available to this user.
If this same Envelope is sent without the routing order for neither of both signers, the position of the sign works as defined in the template for both signers, i.e. it works as expected.
I don't know if it is a bug, or something I am doing wrong or didn't understand well, but the tests have been executed using the Docusign API explorer.
Thanks in advance.
Updated answer
You can update the routing order but you must:
Use the composite templates API feature to do so.
Tell DocuSign that you're changing the routing order from the template's original routing by setting a query parameter.
Full details in this answer.
Original answer
First, try using the template for an envelope from the DocuSign webtool.
My guess from your question is that the template is not set up the way you want it.
When you use the tagger window of the web tool for your template, check that you're creating the signing tabs for the two different roles. There's a dropdown chooser for each role in the tagger window. See the screenshot. It sets the owner for the document tabs (fields) shown on the screen
Once the envelope (driven by the template) is working well from the DocuSign web tool, switch to using the API.
Related
I have a docusign template created with below signing order(1.Employee 2.Manager).[Ref below screen]
I am able to fill the form element and the send the draft envelope to the first signer i.e Employee through API using the POSTMAN.()
Problem Statement:-
1.As of now I have hard coded the manager name and email Id in Template but actually I wanted to fill this dynamically while creating the Envelope.
2.When I am sending the Envelope with the data from postman, It is creating a draft Envelope for the first signer i.e for employee but my requirement is that the first signer task (Entering the data and move the workflow to Manager ) should be perform from API.
Thanks For helping Us.
You can update your draft envelope by making an additional RESTful request:
PUT /restapi/v2.1/accounts/{{accountId}}/envelopes/{{envelope_id}}
If you want to fill in the fields of your employee recipient, just specify something like this in your request body:
{
"recipients": {
"signers": [
{
"name": "InsertDynamicNameHere",
"email": "emailGoesHere",
"recipientId": "2"
}
]
}
}
I'm using the Envelopes: create API in the sandbox to send signing requests successfully. I'm now working on one that involves DocuSign Templates and two template roles, so that each recipient should only complete their own fields for name, date and signature.
This is working fine when using the DocuSign Admin webpage to send these, but with my API request, the first recipient/role can fill in all fields for both recipients.
I'm obviously doing something wrong here and was wondering if I can somehow view/retrieve the JSON data for the envelopes that are not sent via the API but using the DocuSign admin webpage.
For example I'm after the following data so I can compare this to my request:
{
"accountId": "301424",
"emailSubject": "API Example - Populating Data in Templates",
"templateId": "44D9E888-3D86-4186-8EE9-7071BC87A0DA",
"templateRoles": [{
"email": "john.doe#email.com",
"name": "John Doe",
"roleName": "Customer",
"tabs": {
"textTabs": [{
"tabLabel": "CustomerAddress",
"value": "123 Main St. San Francisco, CA 94105"
},
{
"tabLabel": "CustomerSSN",
"value": "12-345-6789"
}]
}
}],
"status": "sent"
}
Is it possible, knowing the Envelope ID, to retrieve the JSON that was used to generate the Envelope/signing request?
You can see the requests that the DocuSign web tool made to create your envelope by using the API request logging feature. However, the web tool often uses multiple API calls to create an envelope. You can do the same, or coalesce the multiple calls into one.
If you ask a new question and supply the JSON that you're using, we may be able to spot your mistake directly.
For example, are you using two different email addresses for your two template roles in your test?
Do you have the tabs/fields set so they can only be modified by the specific recipient?
Are you creating the template programmatically or are you using the DocuSign web tool to create the template?
I have DocuSign documents (.pdf extension documents that were signed by docusign). I'm trying to find a programmatic solution via DocuSign API how can I remove the "DocuSign Envelope ID: {GUID}" automatic stamp that exists on every top of page in the documents.
Is there such a solution inside DocuSign API? and if yes, how can it be done?
If not, what are the alternatives?
Thanks a lot.
For new envelopes, you can set the envelopeIdStamping property in your createEnvelope request so that the stamp is not included. The stamp cannot be removed on completed envelopes.
{
"envelopeIdStamping" : "false",
"status": "sent",
"emailSubject": "Example of one recipient, type signer",
"documents": [],
"recipients": {}
}
Note that envelopeIdStamping is driven based on Account and Admin settings.
See this answer for more information.
See this page for other options.
Using the sample C# send document API call, how can I send a data element located in my system, such as zip code or last 4 of ssn, to be enable this as an access code to view the document? This way I know that the person signing has another level of authentication tat ties back to the signer.
Have you read through the DocuSign API documentation yet? Just add the accessCode property to your signer JSON object and give it a value. Basically, something like this:
"recipients":
{
"signers": [
{
"email": "test_1#email.com",
"name": "Name 1",
"accessCode": "1234",
...
Description from API docs:
"This Optional element specifies the access code a recipient has to enter to validate their identity. This can be a maximum of 50 characters."
Is there a way to assign tabs to a document, without having a recipient declared?
Situation: We want to have a template for an employee application, and then use the API to fill the fields, assign the recipients, and embed for signing.
When I create the template with no recipient, it doesn't allow me to place any tags. Given that I don't know the recipient until the time I call the API, does that mean I can't place the tabs until then? I really don't want to have to place 50 tabs dynamically.
Thanks in advance.
Chase
DocuSign tabs are always with respect to a given recipient, never the document itself, however I believe you can still accomplish this workflow. If you create a Template through the DocuSign Console you can add a template role without providing any recipient info (i.e. name or email) at that time. Afterwards when you reference this template through a signature request API call you can then supply the actual recipient names and emails in the request and map them to your already configured envelope tabs through the
roleName
property for each recipient.
The very first DocuSign API Walkthrough has code that demonstrates how to do this with just one role, but note that this is just an example and you can have multiple roles.
DocuSign API Walkthroughs
From a high level these are the steps you want to take:
Create a template in the DocuSign Console.
Add document(s), then add at least one recipient but only fill in the role field.
Now on your document you'll see that you can add whatever tabs you want to the envelope, under that role.
Save the template.
Make an API call for requesting a signature, which references the templateId and has the roleName parameter present for your recipient(s). This roleName value should match the role that you saved with the template in step 2.
If you named the role Signer1 for instance, your request body (in JSON format) might look like this:
{
"accountId": "123456",
"emailSubject": "DocuSign API Call - Signature Request from Template",
"emailBlurb": "Sample email body",
"templateId": "B977F511-CAB0-...................",
"templateRoles": [
{
"roleName": "Signer1",
"email": "test#docusign.com",
"name": "John Doe"
}
],
"status": "sent"
}