1

我对salesforce api很陌生。我一直在使用 python 模块simple-salesforce来创建潜在客户。它工作得很好,但我真的不清楚如何做非 CRUD 式的动作。例如,我想以编程方式将 alead转换为account.

Salesforce GUI 使这变得简单。只需打开lead,然后单击convert按钮。有没有人知道如何做到这一点simple-salesforce

更新

我发现这描述了 APEX 资源的创建 Saleforce中是否有任何 REST 服务可用于将潜在客户转换为帐户?

我希望有一种更优雅的方式来实现这一点,但如果最终发生这种情况,我会发布我使用简单的 salesforce 的顶点支持所做的事情。

4

1 回答 1

2

看起来处理这个问题的最好方法是创建一个 APEX 类,如链接帖子中所述。创建该类后,您可以使用简单的 salesforce 像这样查询它:

        conversion_result = sf.apexecute('Lead/{id}'.format(id=lead_result['id']), method='GET')

给任何尝试此操作的人的提示:请确保您在沙盒帐户中创建课程。我尝试了整整 20 分钟在我们的生产环境中创建 apex 类,却没有意识到 salesforce 不允许您这样做。

在沙箱中进行更改后,您需要将它们上传到生产环境。当然,环境默认是不连接的!以下是有关如何允许上传到您的生产环境的说明。

更新:

这是我为链接的 APEX 类创建的测试类。Salesforce 需要覆盖率为 75% 的测试类。这实际上并没有测试任何功能,它只是通过了 Salesforce 的任意要求。

@isTest
class RestLeadConvertTest{
    @isTest static void testIt(){
    Lead lead = new Lead();
    lead.LastName = 'salesforce';
    lead.Company = 'unittest';
    insert lead;

   RestRequest req = new RestRequest(); 
   RestResponse res = new RestResponse();

   req.requestURI = '/services/apexrest/Lead/' + lead.Id;  //Request URL
   req.httpMethod = 'GET';//HTTP Request Type
   RestContext.request = req;
   RestContext.response= res;

   RestLeadConvert.doGet();
    }
}
于 2017-05-20T07:56:10.423 回答