Docusignapi 获取通过电子邮件发送的API在此处签名URL

Docusignapi 获取通过电子邮件发送的API在此处签名URL,docusignapi,Docusignapi,我们使用docusign API通过电子邮件请求签名人签名。我们分析了URL,发现它有两个查询参数('a'和'er')。是否有一种方法可以使用API(可用于生成运行时URL)实用地获取这两个参数?是的,您可以通过DocuSign生成用于发送和签署文档的直接URL,但您不会从您正在谈论的请求电子邮件中获取它-这是一个完全独立的过程。您需要的是DocuSign平台中名为嵌入的功能 通过嵌入,您可以生成经过身份验证的URL“令牌”,这些令牌只能使用一次,必须在5分钟内过期之前使用,并且您必须生成一个新

我们使用docusign API通过电子邮件请求签名人签名。我们分析了URL,发现它有两个查询参数('a'和'er')。是否有一种方法可以使用API(可用于生成运行时URL)实用地获取这两个参数?

是的,您可以通过DocuSign生成用于发送和签署文档的直接URL,但您不会从您正在谈论的请求电子邮件中获取它-这是一个完全独立的过程。您需要的是DocuSign平台中名为嵌入的功能

通过嵌入,您可以生成经过身份验证的URL“令牌”,这些令牌只能使用一次,必须在5分钟内过期之前使用,并且您必须生成一个新的令牌。不过,要为给定的收件人生成URL,您需要以稍微不同的方式将它们添加到信封中。您需要设置他们的clientUserId属性以及他们的电子邮件和名称,然后在为他们请求签名URL时引用相同的clientUserId、电子邮件和名称组合

例如,如果您正在从模板创建信封,并且希望使用嵌入来生成签名URL,那么您可以使用以下请求主体来创建信封:

{
"accountId": "221765",
"emailSubject": "Hello World!",
"emailBlurb": "This comes from PHP",
"templateId": "9347C7AF-7EEE-4CEC-BA19-2734986F5501",
"templateRoles": [
    {
        "email": "test@gmail.com",
        "name": "John Doe",
        "clientUserId": "1001",
        "roleName": "Signer1",
        "tabs": {
            "textTabs": [
                {
                    "tabLabel": "address",
                    "value": "123 Main St. SF, CA"
                },
                {
                    "tabLabel": "zipCode",
                    "value": "94043"
                }
            ]
        }
    }
],
"status": "sent"
}
{
"returnUrl": "http://www.docusign.com/devcenter",
"authenticationMethod": "None",
"email": "test@gmail.com",
"userName": "John Doe",
"clientUserId": "1001"
} 
然后,您可以使用以下请求主体为给定收件人生成签名URL。请注意clientUserId(及其电子邮件和名称)与我们创建信封时的匹配情况:

{
"accountId": "221765",
"emailSubject": "Hello World!",
"emailBlurb": "This comes from PHP",
"templateId": "9347C7AF-7EEE-4CEC-BA19-2734986F5501",
"templateRoles": [
    {
        "email": "test@gmail.com",
        "name": "John Doe",
        "clientUserId": "1001",
        "roleName": "Signer1",
        "tabs": {
            "textTabs": [
                {
                    "tabLabel": "address",
                    "value": "123 Main St. SF, CA"
                },
                {
                    "tabLabel": "zipCode",
                    "value": "94043"
                }
            ]
        }
    }
],
"status": "sent"
}
{
"returnUrl": "http://www.docusign.com/devcenter",
"authenticationMethod": "None",
"email": "test@gmail.com",
"userName": "John Doe",
"clientUserId": "1001"
} 
DocuSign开发中心的下一页详细介绍了如何实现这一点(实际上非常简单):

DocuSign还有两个非常好的工具来帮助您测试并开始编码,API演练(其中有一些示例代码是您直接复制的,包括3个专注于嵌入功能的示例代码)和API资源管理器-允许您在不编写一行代码的情况下进行任何API调用


谢谢您的回复。我们知道嵌入式签名场景,但担心每次需要进行REST调用以获取“令牌”(如果在5分钟内未使用,则每个信封需要多次),因为我们每小时的REST调用数量有限。不管怎样,你的回答很有描述性,也很有帮助。这消除了我对代币时限的疑虑——非常感谢。我现在不能接受你的回答,直到我们非常确定除了嵌入式签名之外没有其他方法。感谢您提供有关嵌入式签名的详细信息。那么,为什么不在您的用户最终单击按钮或采取其他操作时请求URL令牌,而不是生成一个可能会过期的令牌,因为他们还没有准备好签名呢?另外,你确定你会接近你的极限吗?你知道在演示和生产过程中,每个帐户每小时都会接到1000个电话,对吗?我会尝试一下,非常感谢。我认为我们不会超过这个限制,因为我们正在使用DocuSign Connect进行推送事件。目前每个信封只进行一次REST呼叫,在生成令牌后,平均每个信封将变成2次呼叫。好的,是的,请尝试一下,因为这将很好地满足您的需要。另一件很好的事情是,通过嵌入,您无需等待任何电子邮件到达,即可开始签名/发送/等。因此,通过嵌入,可以更快地访问信封…谢谢Ergin。我们选择了嵌入式签名技术。感谢您的帮助和代码的回答。