您知道如何使用新的Apex Toolkit Docusign API将数据发送到自定义字段(salesforce合并字段)吗?
我一直在关注本教程:salesforce-sending-signing-template
但是,没有有关使用Salesforce数据填充自定义字段的示例。 我尝试使用自定义字段类,但它仅具有读取属性。
如何将Salesforce数据发送到模板文档?
答案 0 :(得分:0)
公共类SampleMergeFields {
public static void sendMergeFieldTemplate() {
//create recipient
dfsle.Recipient myRecipient = dfsle.Recipient.fromSource(
'XXXXX', //name of recipient
'xxxx.xx@xxx.com', //email of the recipient
null,
'Signer 1', //match role value defined in the template
new dfsle.Entity(UserInfo.getUserId())); //pass in the ID of the source object here
//create document
dfsle.UUID myTemplateId = dfsle.UUID.parse('XXXXX-XXXX-XX'); //Docusign template Id
dfsle.Document myDocument =dfsle.Document.fromTemplate(
myTemplateId, // templateId in dfsle.UUID format
'myTemplate');
//create custom field
dfsle.CustomField myCustomField1 = new dfsle.CustomField(
'text', //type
'##SFStudent__c', //##SF+Salesforce API name of the object
'a0G5A00000TbNxVUAV', //Id of the record
null,
true,
true);
dfsle.Envelope myEnvelope = new dfsle.Envelope(
null,
null,
null,
null,
new List<dfsle.Document> { myDocument },
null,
new List<dfsle.CustomField> { myCustomField1 },
null,
'Hello from DocuSign',
'My Message',
null,
null);
myEnvelope = myEnvelope.withRecipients(new List<dfsle.Recipient> { myRecipient });
// Send the envelope
myEnvelope = dfsle.EnvelopeService.sendEnvelope(
myEnvelope, // The envelope to send
true); // Send now?
}
}
你好Rene,
使用上面的代码,您将能够使用Apex工具包为DocuSign模板中定义的Salesforce合并字段设置合并字段数据。
请注意,您必须传递Salesforce.com记录的RecordID,以使模板应从名为“ ## SFStudent__c”的“自定义”字段中提取值。例如,如果您的组织中有一个自定义对象Student__c,其中有两个字段a1__c和a2__c,并考虑到这两个字段都存在于您要发送的模板上。在这种情况下,自定义字段的名称应为“ ## SF” +对象的API名称,而自定义字段的值应为记录的Salesforce.com ID。
您还可以从多个Salesforce.com对象定义合并字段。在这种情况下,您将必须为对象定义其他自定义字段。假设您有一个模板,其中包含“客户”和“联系人”中的字段。在这种情况下,您将必须创建2个名为“ ## SFAccount”和“ ## SFContact”的自定义字段,并相应地填充其值。
请注意,还需要在您正在使用的DocuSign帐户中定义Salesforce connect,并且应该指向已安装了工具包的Salesforce.com组织,以使其正常工作。
您可以在最后尝试并检查吗?