在新的DocuSign Apex工具包中发送合并字段数据

时间:2018-09-28 14:37:28

标签: salesforce docusignapi apex

您知道如何使用新的Apex Toolkit Docusign API将数据发送到自定义字段(salesforce合并字段)吗?

我一直在关注本教程:salesforce-sending-signing-template

但是,没有有关使用Salesforce数据填充自定义字段的示例。 我尝试使用自定义字段类,但它仅具有读取属性。

如何将Salesforce数据发送到模板文档?

1 个答案:

答案 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组织,以使其正常工作。

您可以在最后尝试并检查吗?