C_Alex
C_Alex

Reputation: 13

DocuSign REST API - node.js Signer does not respect agentCanEditEmail and agentCanEditName attributes

I have written a node.js app to interface with the DocuSign API. The goal is to have an agent receive documents to approve (including editing Signer name/email) before sending it along to the customer to sign (Signer).

Expected behavior:

Actual behavior:

According to the agent documentation, we should be able to set agentCanEditEmail and agentCanEditName on the Signer model. Through experimentation, these two fields seem to have no effect on the outcome. I have tried setting them equal to the Boolean true (more logical) as well as the String "true" (what the documentation hints at). I have also tried using designatorId and a few other fields which seemed relevant to no avail.

Any help would be greatly appreciated :)

Everything else works as expected ... relevant code

let agent1 = docusign.Agent.constructFromObject({
    email: args.agentEmail,
    name: args.agentName,
    recipientId: '1',
    routingOrder: '1'
});
let signer1 = docusign.Signer.constructFromObject({
    email: args.signerEmail,
    name: args.signerName,
    recipientId: '10',
    routingOrder: '10',
    agentCanEditEmail: 'true',
    agentCanEditName: 'true',
    roleName: 'Signer'
});
env.recipients = docusign.Recipients.constructFromObject({
    agents: [agent1],
    signers: [signer1]
});

Upvotes: 0

Views: 122

Answers (1)

Inbar Gazit
Inbar Gazit

Reputation: 14050

So, there are two types of recipients that can update other recipients:

Agent and Intermediary

The difference is one is used for cases where there is something already and they may or may not change it. The other is used to specify them and are part of the workflow. They must specify them or this envelope will never continue to route.

when you used the web app and it worked ok, the last recipient (your 'signer' '10' one) did you specify their email and name or just left it as an open role?

I suspect you did the former, so you cannot use an agent. You need to use an intermediary. The web app would actually give you an error if you use an agent in that case, but maybe the API doesn't enforce it (not sure about that).

Bottom line - change to an intermediary and I think that would solve your issue.

Upvotes: 0

Related Questions