SOAP方法CreateEnvelopeFromTemplates获取TemplateReference个对象列表,这些对象允许我在ECM系统中创建1-1文档到DocuSign模板的映射。到目前为止,这已经非常有效,并且允许我构建信封创建算法,而无需知道特定用例中涉及多少文档。
但是,SOAP不支持新的“付款”标签。在尝试为此API调用找到REST替换时,我无法找到创建信封的方法,其中每个文档都引用不同的模板。例如,envelopes: create方法仅允许在envelopeDefinition中使用一个templateID。有没有办法将我已构建的功能移植到REST?奖金问题:为什么DocuSign后端在应用模板时会区分SOAP和REST创建的信封?我并不希望能够使用SOAP以编程方式在信封上创建付款标签,但是我很惊讶使用SOAP指定带有付款标签的模板会阻止这些标签工作。
这是我的SOAP调用,无功能引用带有非功能性付款标签的模板:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateEnvelopeFromTemplates xmlns="http://www.docusign.net/API/3.0">
<TemplateReferences>
<TemplateReference>
<TemplateLocation>Server</TemplateLocation>
<Template>8E556CD1-D343-4C07-9401-D88B00A67671</Template>
<Document>
<ID>90267</ID>
<Name>DS - Template Mapping - 12/4/2017 John Payme2 (90267)</Name>
<PDFBytes>omitted</PDFBytes>
<FileExtension>pdf</FileExtension>
</Document>
<RoleAssignments>
<RoleAssignment>
<RoleName>Payer</RoleName>
<RecipientID>37974046</RecipientID>
</RoleAssignment>
</RoleAssignments>
<Sequence>1</Sequence>
</TemplateReference>
</TemplateReferences>
<Recipients>
<Recipient>
<ID>37974046</ID>
<UserName>John Payme2</UserName>
<Email>ANDREW.MORTON@HYLAND.COM</Email>
<Type>Signer</Type>
<AccessCode />
<RequireIDLookup>false</RequireIDLookup>
<RoutingOrder>1</RoutingOrder>
<Note/>
<RoleName>Payer</RoleName>
</Recipient>
</Recipients>
<EnvelopeInformation>
<AccountId>9cace92e-1384-4cf7-9b4c-a2bd70aab9a1</AccountId>
</EnvelopeInformation>
<ActivateEnvelope>true</ActivateEnvelope>
</CreateEnvelopeFromTemplates>
</soap:Body>
</soap:Envelope>
答案 0 :(得分:2)
Ergin回复了您的主要qs,现在为了您的Bonus qs,如果您使用具有付款标签的模板,DocuSign仍然允许您使用SOAP API创建信封。我在使用SOAP API创建信封时没有遇到任何问题。我对它进行了测试,并在签名时获得了付款屏幕。请找到SOAP请求以使用付款模板创建信封。它使用不同的操作CreateEnvelopeFromTemplatesAndForms和CompositeTemplate设计模式。您只需设置在模板中设置的accountGuid,TemplateGuid和RoleName。
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope">
<SOAP-ENV:Body>
<CreateEnvelopeFromTemplatesAndForms xmlns="http://www.docusign.net/API/3.0">
<ActivateEnvelope>true</ActivateEnvelope>
<EnvelopeInformation>
<AccountId>{{accountId}}</AccountId>
<Subject>Test SOAP Subject</Subject>
<EmailBlurb>Test SOAP Body</EmailBlurb>
</EnvelopeInformation>
<CompositeTemplates>
<CompositeTemplate>
<ServerTemplates>
<ServerTemplate>
<Sequence>1</Sequence>
<TemplateID>{{TemplateId}}</TemplateID>
</ServerTemplate>
</ServerTemplates>
<InlineTemplates>
<InlineTemplate>
<Sequence>2</Sequence>
<Envelope>
<AccountId>{{accountId}}</AccountId>
<Recipients>
<Recipient>
<ID>1</ID>
<RoleName>Signer1</RoleName>
<UserName>Signer 1</UserName>
<Email>email@gmail.com</Email>
<Type>Signer</Type>
</Recipient>
</Recipients>
</Envelope>
</InlineTemplate>
</InlineTemplates>
</CompositeTemplate>
</CompositeTemplates>
</CreateEnvelopeFromTemplatesAndForms>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
答案 1 :(得分:1)
您正在寻找的内容在REST API中称为复合模板。复合模板是一个非常强大的功能,虽然它们可以非常快速地复杂化 - 使用CT可以执行诸如将模板和文档组合在同一个信封中,或组合多个模板等等。
复合模板上更好的资源之一是开发人员中心的模板上的功能页面,其中包含复合模板的部分: https://www.docusign.com/developer-center/explore/features/templates#composite
信封中有一节:创建API文档,讨论composite templates。
示例用法:
以下是上述资源之一的快速示例,在此示例中,两个模板合并为一个信封:
{
"emailSubject": "DocuSign API - Composite Templates",
"emailBlurb": "Composite Templates Sample 1",
"status": "sent",
"compositeTemplates": [{
"serverTemplates": [{
"sequence": "1",
"templateId": "55A80182-2E9F-435D-9B16-FD1E1C0F9D74"
}],
"inlineTemplates": [{
"sequence": "1",
"recipients": {
"signers": [{
"email": "johndoe@email.com",
"name": "John Doe",
"recipientId": "1",
"roleName": "Buyer"
}]
}
}]
}, {
"serverTemplates": [{
"sequence": "2",
"templateId": "44D9E888-3D86-4186-8EE9-7071BC87A0DA"
}],
"inlineTemplates": [{
"sequence": "2",
"recipients": {
"signers": [{
"email": "sallydoe@email.com",
"name": "Sally Doe",
"recipientId": "1",
"roleName": "Seller"
}]
}
}]
}]
}