Salesforce Composite API 深度解析:集成工程师的批量 REST API 请求指南
大家好,我是一名 Salesforce 集成工程师 (Salesforce Integration Engineer) 。在我的日常工作中,核心任务是确保 Salesforce 与外部系统之间的数据能够高效、可靠地流动。集成的性能和稳定性至关重要,而网络延迟和 API 调用限制是我们必须面对的两大挑战。今天,我将从集成工程师的视角,深入探讨一个强大的工具,它能同时解决这两个问题——那就是 Composite API 。 背景与应用场景 在构建集成解决方案时,我们经常遇到需要在一个业务流程中执行多个相关操作的场景。例如,当一个新客户在外部系统中注册时,我们可能需要在 Salesforce 中完成以下一系列操作: 创建一个新的客户 (Account) 记录。 为这个客户创建一个主要的联系人 (Contact) 记录。 再为该客户创建一笔跟进业务机会 (Opportunity) 记录。 最后,为这个机会创建一项待办任务 (Task),提醒销售跟进。 如果采用传统的 REST API 调用方式,上述流程需要发送四次独立的 HTTP 请求到 Salesforce。每一次请求都包含一次完整的网络往返(Round-trip),即请求从客户端发出,经过互联网,到达 Salesforce 服务器,服务器处理后返回响应。这种多次独立的网络请求被称为“Chatty Integration”(过于“健谈”的集成),它会带来几个严重的问题: 性能瓶颈: 网络延迟是累加的。如果网络状况不佳,四次请求的总耗时可能会非常长,严重影响用户体验和系统响应速度。 API 限制消耗: Salesforce 对每个组织在 24 小时内的 API 调用总数有严格限制。上述流程会消耗 4 次 API 调用。在高并发、大数据量的集成场景下,这会迅速耗尽我们的 API 调用限额。 事务性缺失: 这四次调用是相互独立的。如果第三步(创建 Opportunity)失败了,但前两步(创建 Account 和 Contact)已经成功,系统就会产生不一致的“孤儿数据”。要处理这种情况,我们需要在客户端实现复杂的回滚和补偿逻辑,这极大地增加了开发的复杂性和出错的风险。 为了解决这些痛点,Salesforce 推出了 Composite A...