Salesforce API:创建EmailMessage并关联联系人可能吗?

Man*_*ner 5 python api salesforce

我正在做一个项目,在该项目中(已发送)电子邮件应保存到Salesforce,并与相应的Salesforce联系人匹配。

创建新电子邮件非常简单。例如,使用simple_salesforce python库,我的代码如下所示:

from simple_salesforce import Salesforce

[…]

sf = Salesforce(instance_url=instance_url, session_id=session_id)
sf.EmailMessage.create(
    {'FromAddress': 'foo@example.com',
     'ToAddress': 'bar@example.com',
     'Subject': 'Email: Fancy Subject', 
     'TextBody': 'lorem ipsum dolor sit amet',  
     'Status': 2
    })
Run Code Online (Sandbox Code Playgroud)

这样可以成功创建一个新的EmailMessage,但是邮件与联系人不匹配(假设bar@example.com是Salesfored中现有的联系人)。这可以在Salesforce UI中的许多地方看到。例如:

  • 这不是联系人活动记录的一部分
  • 查看电子邮件详细信息时,“发件人和收件人”部分为空

使用Salesforce UI创建新电子邮件时,关联正确完成。将我的EmailMessage对象与Salesforce生成的对象进行比较,有一个明显的区别:ActivityId没有为我的对象设置对象。

尝试设置时,ActivityId我收到格式错误的请求异常INSUFFICIENT_ACCESS_OR_READONLY。

是否可以使用API​​创建那些关联?

小智 0

相反,您可以将此邮件设置为联系人的附件。或者最好如果您有一个存储邮件的自定义对象。

如果您计划使用附件,请提供parentId 作为联系人ID。

如果您计划创建自定义对象,请将联系人对象设置为查找列(salesforce 中的关系类型),这将允许您为新创建的列设置联系人 ID。

PS - EmailMessage 是另一种类型的对象,它无法存储。