我要使用哪個 API?
為您的整合需求選擇適合的 Salesforce API。檢閱 Salesforce 所提供 API 的選擇,包括支援的通訊協定、資料格式和使用個案。
必要版本
| 提供版本:Salesforce Classic (並非所有組織皆適用) 和 Lightning Experience |
| 提供版本:Professional (API 存取權已啟用)、Enterprise、Performance、Unlimited 及 Developer Edition |
| 需要的使用者權限 | |
|---|---|
| 使用 API: | 已啟用 API |
若要使用 Apex 類別與方法作為 REST Web 服務: 即使未授與「已啟用 API」權限,仍可啟用對 Apex REST 服務的存取權。 |
Apex REST 服務 |
| API 名稱 | API 類型 | 資料格式 | 通訊 |
|---|---|---|---|
| REST API | REST | JSON, XML | 同步 |
| SOAP API | SOAP (WSDL) | XML | 同步 |
| Connect REST API | REST | JSON, XML | 同步 (不會同步處理相片) |
| Apex REST API | REST | JSON, XML, Custom | 同步 |
| Apex SOAP API | SOAP (WSDL) | XML | 同步 |
| Analytics REST API | REST | JSON, XML | 同步 |
| 使用者介面 API | REST | JSON | 同步 |
| GraphQL API | GraphQL | JSON | 同步 |
| Tooling API | REST 或 SOAP (WSDL) | JSON, XML, Custom | 同步 |
| 大量 API 2.0 | REST | CSV | 非同步 |
| 中繼資料 API | SOAP (WSDL) | XML | 非同步 |
| Pub/Sub API | gRPC 與通訊協定緩衝時間 | 二進位 | 非同步 |
REST API 的使用時機
REST API 提供與 Salesforce 互動方面極為強大、方便且簡單的 REST 型 Web 服務介面。其中的優點包括輕鬆整合及開發,而且是使用行動應用程式及 Web 專案的絕佳技術選擇。您可以對某些專案使用 REST API,並搭配其他 Salesforce REST API。若要建立用於建立、閱讀、更新及刪除記錄的使用者介面,包括建立清單檢視、動作與從屬選項清單的使用者介面,請使用「使用者介面 API」。若要為 Lightning 上的 B2B Commerce、CMS 受管理內容、Experience Cloud 網站或 Chatter 建立使用者介面,請使用 Connect REST API。如果有許多記錄需要處理,請考慮使用「大量 API」,大量 API 是依據 REST 原則,對大型資料集進行最佳化。
請參閱 REST API 開發人員指南。
SOAP API 的使用時機
SOAP API 提供與 Salesforce 互動方面極為強大、方便且簡單的 SOAP 型 Web 服務介面。您可使用 SOAP API 來建立、擷取、更新或刪除記錄。您也可以使用 SOAP API 來執行搜尋或更多動作。使用 SOAP API 來支援各種不同的 Web 服務。
例如,您可以使用 SOAP API 將 Salesforce 與組織的 ERP 和財務系統整合在一起。您也可以為公司入口網頁提供即時銷售與支援資訊,並為重要的業務系統填入客戶資訊。
請參閱 SOAP API 開發人員指南。
使用 Connect REST API 的時機
Connect REST API 會提供程式設計存取權來存取 Lightning 的 B2B Commerce、CMS 受管理內容、Experience Cloud 網站、檔案、通知、主題等等。使用 Connect REST API 顯示 Chatter 摘要、使用者及群組,特別是在行動應用程式中更應使用此 API。
使用 Apex REST API 的時機
當您想要公開您的 Apex 類別和方法,讓外部應用程式透過 REST 結構來存取您的程式碼時,便可使用 Apex REST API。Apex REST API 可同時支援 OAuth 2.0 和工作階段識別碼進行驗證。
使用 Apex SOAP API 的時機
當您想要將 Apex 方法公開為 SOAP Web 服務 API,讓外部應用程式透過 SOAP 來存取您的程式碼時,便可使用 Apex SOAP API。
Apex SOAP API 可同時支援 OAuth 2.0 和工作階段識別碼進行驗證。
請參閱 Apex 開發人員指南:將 Apex 方法公開為 SOAP Web 服務和 SOAP API 開發人員指南:Apex 相關呼叫。
使用 Analytics REST API 的時機
您可以使用 Analytics REST API 以程式設計的方式存取 CRM Analytics 資產例如資料集、透鏡與顯示面板傳送已匯入至分析平台的查詢與存取資料集。建立和擷取透鏡。存取 XMD 資訊。擷取資料集版本的清單。建立與擷取 CRM Analytics 應用程式。建立、更新和擷取顯示面板。擷取應用程式的相依性清單。決定可供使用者使用的功能。使用快照。操作複製的資料集。
使用使用者介面 API 的時機
透過 Salesforce 用於建立 Lightning Experience、Salesforce for Android 及 iOS 與 Salesforce 行動網頁的 API,來建立原生行動應用程式與自訂網頁應用程式的 Salesforce 使用者介面。請建立使用者介面,讓使用者運用記錄、清單檢視、動作、我的最愛與其他更多功能。您不僅在單一回應中取得資料與中繼資料,回應還符合 Salesforce 管理員對組織進行的中繼資料變更。不用擔心版面配置、選項清單、欄位級安全性或共用等,您只需要建立使用者會喜愛的應用程式即可。
請參閱使用者介面 API 開發人員指南。
GraphQL API 的使用時機
透過僅傳回客戶所需的資料,來建立高回應且可調整的應用程式,且全部在單一要求中完成。GraphQL API 會透過欄位選取、資源彙總和結構描述自我檢查,以克服傳統 REST API 造成的挑戰。欄位選取會縮小裝載大小,僅傳回查詢中包含的欄位。彙總會減少用戶端與伺服器之間的來回行程,在單一回應內傳回一組相關的資源。結構描述自我檢查可讓使用者看見他們具有存取權的類型、欄位和物件。
請參閱 GraphQL API 開發人員指南。
使用 Tooling API 的時機
可使用 Tooling API 整合 Salesforce 中繼資料與其他系統。中繼資料類型會公開為 sObject,因此您可以存取一個複雜類型的元件。此欄位級存取可加快對複雜中繼資料類型作業的速度。您也可以針對 Force.com 應用程式建立自訂開發工具。例如,使用 Tooling API 管理和部署 Apex 類別和觸發的使用複本及 Visualforce 頁面和元件。您也可以設定檢查點或堆疊傾印記號、執行匿名 Apex,以及存取記錄與程式碼範圍資訊。
REST 和 SOAP 皆受支援。
請參閱 Tooling API。
大量 API 2.0 的使用時機
使用大量 API 2.0 以非同步的方式查詢、查詢全部、插入、更新、更新插入或刪除大量記錄。大量 API 2.0 設計在 Salesforce REST 架構上。
任何包含超過 2,000 個記錄的資料作業都是大量 API 2.0 的理想候選項目,可成功準備、執行及管理使用「大量」架構的非同步工作流程。記錄少於 2,000 個的工作應涉及 REST (例如「複合」) 或 SOAP 中的「大量」同步呼叫。
當使用大量資料時,這是大規模建立、讀取、更新及刪除 (CRUD) 記錄的最簡單方法。如果您的工作只包含一個 sObject 類型,或每天最多擷取 1 TB 的資料,則大量 API 2.0 是首選的 Salesforce API。
中繼資料 API 的使用時機
使用中繼資料 API 來為您的組織擷取、部署、建立、更新或刪除自訂項目。最常見的用途在於從 Sandbox 或測試組織移轉變更至您的生產環境。中繼資料 API 適用於管理自訂及建立可管理中繼資料模式的工具,而非管理資料本身的工具。
中繼資料 API 中最簡單存取功能的方式是使用 Salesforce Extensions for Visual Studio Code 或 Salesforce CLI。這兩個工具都是以中繼資料 API 為基礎,並使用標準工具來簡化中繼資料 API 的使用。
- Salesforce Extensions for Visual Studio Code 包含在輕量型、可延伸 VS 程式碼編輯器中 Salesforce 平台上開發的工具。這些提供的功能可讓您使用開發組織 (臨時組織、Sandbox 和 DE 組織)、Apex、Aura 元件和 Visualforce。
- 如果您使用指令檔或指令行在本機目錄和 Salesforce 組織之間移動中繼資料,Salesforce CLI 會是理想選擇。
請參閱中繼資料 API 開發人員指南。
使用 Pub/Sub API 的時機
您可以使用「Pub Sub API」將外部系統與事件整合。事件串流是透過平台事件的自訂裝載,或是透過「變更資料擷取」在 Salesforce 記錄中進行的變更。在 Salesforce 中,您可以使用 Apex 觸發、流程產生器和 Flow Builder 發佈及訂閱事件。
Pub/Sub API 專為大規模雙向事件與 Salesforce 的整合而建立。使用 Pub/Sub API 可有效發佈及訂閱 Apache Avro 格式的二進位事件訊息。Pub/Sub API 以 gRPC 和 HTTP/2 為基礎,並使用以提取為基礎的模型,讓您能夠控制訂閱流程。透過 Pub/Sub API,您可以使用 gRPC 支援的 11 種程式設計語言之一。
使用符合您需求的串流事件類型。
- 變更資料 ⁇ 取事件:接收 Salesforce 記錄的變更及所有已變更的欄位。「變更資料擷取」支援的標準物件比 PushTopic 事件多,並提供更多的功能,例如包含變更相關資訊的標頭欄位。
- 平台事件:發佈與接收具有預先定義結構描述的自訂裝載。資料可以是您定義的任何一切,包括如訂單資訊等業務資料。透過定義平台事件指定要傳送的資料。訂閱平台事件通道以接收通知。
- 舊版事件:PushTopic 與一般事件:PushTopic 和一般事件是第一代事件。其支援有限,且不再更新功能。我們建議您使用「變更資料擷取」事件而非「PushTopic」事件,以及使用「平台事件」而非「一般」事件。
請參閱 Pub/Sub API 文件。
