我对salesforce api很陌生。我一直在使用python模块simple-salesforce来创建潜在客户。它工作得很好,但我真的不清楚如何做非CRUD类动作。例如,我想以编程方式将lead
转换为account
。
salesforce GUI使这一切变得简单。只需打开lead
,然后点击convert
按钮即可。有没有人知道如何使用simple-salesforce
?
更新
我发现这描述了APEX资源Is there any REST service available in Saleforce to Convert Leads into Accounts?
的创建我希望有一种更优雅的方式来实现这一目标,但如果最终发生的事情发生,我会发布简单的salesforce顶级支持。
答案 0 :(得分:0)
看起来解决此问题的最佳方法是创建一个APEX类,如链接帖子中详细说明的那样。创建该类后,您可以使用简单的salesforce来查询它:
conversion_result = sf.apexecute('Lead/{id}'.format(id=lead_result['id']), method='GET')
向尝试此操作的任何人提示:请确保您在沙盒帐户中创建课程。我尝试了20分钟,在我们的生产环境中创建了顶级课程,却没有意识到salesforce不会让你这么做。
在您的沙箱中进行更改后,您需要upload them进行生产。当然,默认情况下环境没有连接! Here解释了如何允许上传到您的生产环境。
更新:
这是我为链接的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();
}
}