如何让Salesforce ping我的应用程序?

时间:2015-03-31 16:57:53

标签: database synchronization salesforce

我在Salesforce中有数据并运行另一个使用相同数据的应用程序。当前的工作流程是,当数据输入自定义应用程序时,它会通过SOAP将信息发送到Salesforce。我想建立反向链接;在Salesforce端更改值时,我希望Salesforce使用更改来ping我的应用程序。 Salesforce有功能吗?可能与触发器相当的东西?

我目前的解决方案是通过所有Salesforce记录进行无意义的迭代。这很慢,经常达到API限制,并使数据过时保持不变。

1 个答案:

答案 0 :(得分:1)

您可以使用Streaming API

执行此操作
  

简介:

     
      
  1. 使用Streaming API接收有关Salesforce数据更改的通知。
  2.   
  3. 用于实时推送相关数据,而不必刷新屏幕以获取新信息。协议用于连接:
  4.   
  5. Bayeux协议和CometD都使用长轮询。
  6.   
  7. Bayeux是一种主要通过HTTP传输异步消息的协议。
  8.   
  9. CometD是一个可扩展的基于HTTP的事件路由总线,它使用称为Comet的AJAX推送技术模式。它实现了Bayeux   协议。 Salesforce服务器使用CometD 2.0版本。
  10.         

    工作原理:

         
        
    1. 基于SOQL查询创建PushTopic。这定义了渠道。 (PushTopic是标准对象)。
    2.   
    3. 客户订阅该频道。
    4.   
    5. 创建,更新,删除或取消删除记录(发生事件)。对该记录的更改进行评估。
    6.   
    7. 如果记录更改与PushTopic查询的条件匹配,则服务器生成通知并由订阅者接收   客户端。
    8.   

请检查此链接:http://www.salesforce.com/developer/docs/api_streaming/