多个签名者、PDF Transform/CompositeTemplate 和通配符
Multiple signers, PDF Transform/CompositeTemplate and wildcards
我知道我可以使用 PDF 字段转换和复合模板执行以下操作(我实际上使用的是 C# SDK,所以实际上 JSON 并不重要,因为知道这可以使用SDK) 让收件人在名称以 PrimarySigner
开头的 PDF 表单(不是 DocuSign 模板)上的所有签名选项卡上签名
"tabs":{
"signHereTabs":[
{
"tabLabel":"PrimarySigner\*"
}
]
假设一个文档有三组签名域。签名者一获得 PrimarySigner,签名者二获得 SecondarySigner,并且根据信封的上下文,签名者一或签名者二可能获得 TertiarySigner。在签名者获得这些签名字段的情况下,我可以为签名者添加多个通配符吗?例如:
"tabs":{
"signHereTabs":[
{
"tabLabel":"PrimarySigner\*"
}
],
"signHereTabs":[
{
"tabLabel":"TertiarySigner\*"
}
]
}
更新:我认为我已经使用 C# SDK 实现了这一点。但是,两个签名者的签名标签都消失了;当他们查看文档时,他们获得的是自由形式而不是直接的签名体验。我要发送的 PDF 文档有两个 PDF 签名字段,名为 DocuSignSignHere_Signer1_1 和 DocuSignSignHere_Signer2_1。我已经仔细检查了明显的设置,例如设置 TransformPDFFields 等。通配符将在 pdf 表单字段名称的两端得到尊重,是吗?
这是连载信封的JSON。
{
"compositeTemplates":[
{
"inlineTemplates":[
{
"documents":[
{
"documentBase64":"redacted",
"documentId":"1",
"name":"TestPDFForm.pdf",
"transformPdfFields":"true"
}
],
"recipients":{
"signers":[
{
"email":"test@test.com",
"name":"Test Signer 1",
"recipientId":"1",
"tabs":{
"signHereTabs":[
{
"tabLabel":"DocuSignSignHere_Signer1\*"
}
]
}
},
{
"email":"test2@test.com",
"name":"Test Signer 2",
"recipientId":"2",
"tabs":{
"signHereTabs":[
{
"tabLabel":"DocuSignSignHere_Signer2\*"
}
]
}
}
]
},
"sequence":"1"
}
]
}
],
"customFields":{
"textCustomFields":[
{
"name":"ClientId",
"value":"A:1!!D:1!!T:1!!UserId:123!!C:10BD32B131C5ECE3"
}
]
},
"documents":[
],
"emailSubject":"Test Email",
"eventNotification":{
"envelopeEvents":[
{
"envelopeEventStatusCode":"completed"
}
],
"includeCertificateOfCompletion":"true",
"includeCertificateWithSoap":"false",
"includeDocumentFields":"true",
"includeSenderAccountAsCustomField":"true",
"includeTimeZone":"true",
"requireAcknowledgment":"true",
"signMessageWithX509Cert":"false",
"url":"https://test.test.com/documentcallback.aspx",
"useSoapInterface":"false"
},
"status":"sent"
}
是的,您可以将带有通配符的多个字段分配给单个签名者。
在您的示例中,您应该将通配符前缀 (\*
) 移动到 beginning of the tabLabel。您也可以将 signHereTabs 移动到单个数组中。
这是一个示例PostEnvelope request. See full example here
POST /v2/accounts/{accountId}/envelopes
{
"compositeTemplates": [
{
"inlineTemplates": [
{
"sequence": "1",
"recipients": {
"signers": [
{
"name": "Jane Doe",
"email": "janedoe@acme.com",
"recipientId": "1",
"tabs": {
"signHereTabs": [
{
"tabLabel": "\*PrimarySigner"
},
{
"tabLabel": "\*TertiarySigner"
}
]
}
},
{
"name": "Bob Doe",
"email": "BobDoe@acme.com",
"recipientId": "2",
"tabs": {
"signHereTabs": [
{
"tabLabel": "\*SecondarySigner"
}
]
}
}
]
}
}
],
"document": {
"documentId": "1",
"name": "Doc with Fields",
"transformPdfFields": "true",
"fileExtension": "pdf",
"documentBase64": ""
}
}
],
"emailSubject": "Doc with form fields",
"status": "sent",
}
我知道我可以使用 PDF 字段转换和复合模板执行以下操作(我实际上使用的是 C# SDK,所以实际上 JSON 并不重要,因为知道这可以使用SDK) 让收件人在名称以 PrimarySigner
开头的 PDF 表单(不是 DocuSign 模板)上的所有签名选项卡上签名"tabs":{
"signHereTabs":[
{
"tabLabel":"PrimarySigner\*"
}
]
假设一个文档有三组签名域。签名者一获得 PrimarySigner,签名者二获得 SecondarySigner,并且根据信封的上下文,签名者一或签名者二可能获得 TertiarySigner。在签名者获得这些签名字段的情况下,我可以为签名者添加多个通配符吗?例如:
"tabs":{
"signHereTabs":[
{
"tabLabel":"PrimarySigner\*"
}
],
"signHereTabs":[
{
"tabLabel":"TertiarySigner\*"
}
]
}
更新:我认为我已经使用 C# SDK 实现了这一点。但是,两个签名者的签名标签都消失了;当他们查看文档时,他们获得的是自由形式而不是直接的签名体验。我要发送的 PDF 文档有两个 PDF 签名字段,名为 DocuSignSignHere_Signer1_1 和 DocuSignSignHere_Signer2_1。我已经仔细检查了明显的设置,例如设置 TransformPDFFields 等。通配符将在 pdf 表单字段名称的两端得到尊重,是吗?
这是连载信封的JSON。
{
"compositeTemplates":[
{
"inlineTemplates":[
{
"documents":[
{
"documentBase64":"redacted",
"documentId":"1",
"name":"TestPDFForm.pdf",
"transformPdfFields":"true"
}
],
"recipients":{
"signers":[
{
"email":"test@test.com",
"name":"Test Signer 1",
"recipientId":"1",
"tabs":{
"signHereTabs":[
{
"tabLabel":"DocuSignSignHere_Signer1\*"
}
]
}
},
{
"email":"test2@test.com",
"name":"Test Signer 2",
"recipientId":"2",
"tabs":{
"signHereTabs":[
{
"tabLabel":"DocuSignSignHere_Signer2\*"
}
]
}
}
]
},
"sequence":"1"
}
]
}
],
"customFields":{
"textCustomFields":[
{
"name":"ClientId",
"value":"A:1!!D:1!!T:1!!UserId:123!!C:10BD32B131C5ECE3"
}
]
},
"documents":[
],
"emailSubject":"Test Email",
"eventNotification":{
"envelopeEvents":[
{
"envelopeEventStatusCode":"completed"
}
],
"includeCertificateOfCompletion":"true",
"includeCertificateWithSoap":"false",
"includeDocumentFields":"true",
"includeSenderAccountAsCustomField":"true",
"includeTimeZone":"true",
"requireAcknowledgment":"true",
"signMessageWithX509Cert":"false",
"url":"https://test.test.com/documentcallback.aspx",
"useSoapInterface":"false"
},
"status":"sent"
}
是的,您可以将带有通配符的多个字段分配给单个签名者。
在您的示例中,您应该将通配符前缀 (\*
) 移动到 beginning of the tabLabel。您也可以将 signHereTabs 移动到单个数组中。
这是一个示例PostEnvelope request. See full example here
POST /v2/accounts/{accountId}/envelopes
{
"compositeTemplates": [
{
"inlineTemplates": [
{
"sequence": "1",
"recipients": {
"signers": [
{
"name": "Jane Doe",
"email": "janedoe@acme.com",
"recipientId": "1",
"tabs": {
"signHereTabs": [
{
"tabLabel": "\*PrimarySigner"
},
{
"tabLabel": "\*TertiarySigner"
}
]
}
},
{
"name": "Bob Doe",
"email": "BobDoe@acme.com",
"recipientId": "2",
"tabs": {
"signHereTabs": [
{
"tabLabel": "\*SecondarySigner"
}
]
}
}
]
}
}
],
"document": {
"documentId": "1",
"name": "Doc with Fields",
"transformPdfFields": "true",
"fileExtension": "pdf",
"documentBase64": ""
}
}
],
"emailSubject": "Doc with form fields",
"status": "sent",
}