我们正在使用docusign
来签署在我们网站上注册的同意书,我被指向嵌入式签名API。
根据我的理解,我必须创造一个我已经完成的信封。
我正在使用.Net示例。
通过API登录很好,但是我在尝试从API获取URL时遇到以下错误:
ENVELOPE_IS_INCOMPLETE The Envelope is not Complete. A Complete Envelope Requires Documents, Recipients, Tabs, and a Subject Line.
这是我的envelopeDefinition xml:
string requestBody = "<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">" +
"<accountId>" + accountId + "</accountId>" +
"<status>sent</status>" +
"<emailSubject>API Call for Embedded Sending</emailSubject>" +
"<emailBlurb>This comes from C#</emailBlurb>" +
"<templateId>[TEMPLATE ID FROM DOCUSIGN]</templateId>" +
"<templateRoles>" +
"<email>testregister@notrealurl.com</email>" + // NOTE: Use different email address if username provided in non-email format!
"<name>testregister@notrealurl.com</name>" + // username can be in email format or an actual ID string
"<roleName>Signer</roleName>" +
"</templateRoles>" +
"</envelopeDefinition>";
我在这里看到另一篇关于需要clientUserId的帖子:
但我不确定如何在envelopeDefinition中实现。
请帮忙!
答案 0 :(得分:4)
要使用嵌入功能,您确实需要为将使用URL令牌访问信封的每个收件人设置 clientUserId 属性。诀窍是,当您创建信封时,您需要为收件人设置clientUserId属性,然后当您请求URL令牌时,您需要将其包含在请求中,以及它们的电子邮件,名称和recipientId。
DocuSign的开发人员中心有一整页专门用于嵌入,它讨论了clientUserId属性的使用。请看这里:
http://www.docusign.com/developer-center/explore/features/embedding-docusign
他们的API演练也是一个很好的资源。他们有6种语言的代码,向您展示如何完成常见的DocuSign任务。查看嵌入功能的底部三:
http://iodocs.docusign.com/APIWalkthroughs
[更新] 好的,我能够重现您的问题并更新了您正在处理的the gist。如果您按原样复制并输入凭据,它现在应该可以工作,但基本上请求正文中缺少两个部分。这是它应该是什么样子,请注意额外的templateRole(单数)标记和clientUserId标记:
string requestBody = "<envelopeDefinition xmlns=\"http://www.docusign.com/restapi\">" +
"<accountId>" + accountId + "</accountId>" +
"<status>sent</status>" +
"<emailSubject>API Call for Embedded Sending</emailSubject>" +
"<emailBlurb>This comes from C#</emailBlurb>" +
"<templateId>" + templateId + "</templateId>" +
"<templateRoles>" +
"<templateRole>" +
"<email>" + username + "</email>" + // NOTE: Use different email address if username provided in non-email format!
"<name>Name</name>" + // username can be in email format or an actual ID string
"<roleName>" + roleName + "</roleName>" +
"<clientUserId>1</clientUserId>" +
"</templateRole>" +
"</templateRoles>" +
"</envelopeDefinition>";