我们正在使用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.
这是我的信封定义 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>[email protected]</email>" + // NOTE: Use different email address if username provided in non-email format!
"<name>[email protected]</name>" + // username can be in email format or an actual ID string
"<roleName>Signer</roleName>" +
"</templateRoles>" +
"</envelopeDefinition>";
我在这里看到了另一篇关于需要 clientUserId 的帖子:
http://community.docusign.com/t5/DocuSign-API-Integration-NET/REST-API-net-Error-message-when-creating-the-envelope-from-a/m-p/18121#M1791
但我不确定如何在信封定义中实现。
请帮忙!
要使用嵌入功能,您确实需要设置客户端用户ID每个将使用 URL 令牌访问信封的收件人的属性。诀窍是,当您创建信封时,您需要为收件人设置 clientUserId 属性,然后当您请求 URL 令牌时,您需要将其及其电子邮件、姓名和收件人 ID 包含在请求中。
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>";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)