Simple Salesforce:如何实现线索转换?
解决simple-salesforce中线索转换的实现问题
线索转换是Salesforce的标准API操作,并非定制化的线索更新。simple-salesforce库没有直接封装convertLead方法,但可以通过调用底层SOAP客户端来实现。
实现步骤与代码示例
- 初始化simple-salesforce连接后,直接使用
soap_client调用Salesforce SOAP API的convertLead方法:
from simple_salesforce import Salesforce # 初始化Salesforce连接 sf = Salesforce( username="你的用户名", password="你的密码", security_token="你的安全令牌" ) # 构造线索转换参数 lead_convert_params = { "leadId": "00QXXXXXXXXXXXXXXX", # 目标线索ID "convertedStatus": "Qualified", # 转换状态(需匹配你的Salesforce配置) "createAccount": True, # 是否创建新账户 "createContact": True, # 是否创建新联系人 "createOpportunity": True, # 是否创建新机会 "opportunityName": "线索转换生成的新机会" # 机会名称(仅当createOpportunity为True时必填) # 若需关联已有账户/联系人,取消注释并填入对应ID # "accountId": "001XXXXXXXXXXXXXXX", # "contactId": "003XXXXXXXXXXXXXXX" } # 执行线索转换 conversion_result = sf.soap_client.service.convertLead(leadConverts=[lead_convert_params]) # 处理转换结果 if conversion_result.success: print(f"转换成功:") print(f"账户ID: {conversion_result.accountId}") print(f"联系人ID: {conversion_result.contactId}") print(f"机会ID: {conversion_result.opportunityId}") else: print(f"转换失败,错误信息: {conversion_result.errors}")
关键注意事项
convertedStatus取值:必须是你Salesforce组织中配置的有效线索转换状态,可通过查询LeadStatus对象获取所有可用值(例如sf.query("SELECT Id, MasterLabel FROM LeadStatus WHERE IsConverted = true"))。- 关联已有记录:如果不需要创建新的账户/联系人,可将
createAccount/createContact设为False,并指定accountId/contactId关联已有记录。 - 结果解析:返回的
conversion_result对象包含转换后生成的记录ID、成功状态,以及失败时的错误详情。
内容的提问来源于stack exchange,提问作者Luca Phen
相关产品推荐
相关产品推荐

