0

我们想开始使用 salesforce 来管理销售联系人,但也有一些与我们希望在当前系统中保留的联系人有关的业务功能。

据我所知,这意味着我们需要双向同步?即,当salesforce 发生任何变化时,我们需要在我们的系统上更新它,反之亦然。

我建议使用某种消息产品,它可以放在中间并重试失败的消息,因为我有一种感觉,如果没有它,事情会变得非常混乱?例如,当一项或其他服务关闭时。

该项目的经理希望保持简单,并认为使用消息而不是实时点对点呼叫是多余的,但我觉得如果没有它,我们将进入一个痛苦的世界。

有没有人有尝试进行双向同步的经验(实际上,即使是单向同步也会遭受我认为的相同风险?)

非常感谢您的见解..

4

2 回答 2

2

我不能代表你的系统,但在 Salesforce API 方面,看看getUpdated()getDeleted()调用,它们是为数据复制而设计的。SOAP API 文档有一节详细介绍了如何有效地使用它们。

于 2013-05-07T07:29:42.160 回答
1

我们使用 Jitterbit 在 Salesforce 和计费系统之间实现双向同步。Salesforce 有一个 last-modified 字段,我们的计费系统也有(您的系统应该有这个,如果没有,请在其 SQL 存储中的表中添加一个时间戳字段)。唯一重要的是选择其中一个键作为主键(SF_ID 或其他系统的键)并在另一个系统中创建该键字段,因为它将用于解决冲突。该过程简单且多步骤,将所有修改后的 SF 数据加载到平面文件中,将所有修改后的辅助系统数据加载到另一个平面文件中,通过比较两个文件在一个公共关键字段上查找冲突,通知管理员冲突(如果有)并传播对另一个系统的所有非冲突更改。

如果两个用户同时编辑,您将遇到冲突并手动解决它,或者您将获得“最后保存的胜利”结果。

您还必须满足新的规定,在 SF 方面使用 upsert 而不是更新(使用外部或 SF 密钥,具体取决于您在上面选择的内容),在您的另一方则取决于系统。

于 2013-05-08T10:50:29.597 回答