用途:当 GraphQL 不足以满足需求时,使用 Data SDK 的 sdk.fetch 调用 Salesforce REST API。SDK 会自动应用认证、CSRF 处理与基础 URL 解析。调用时始终使用可选链 sdk.fetch?.(),并处理 fetch 不可用的情况。适用于调用 Chatter、Connect REST、Apex REST、UI API REST 或 Einstein LLM 端点。
主要能力与端点:Chatter API 提供用户与协作数据,如 GET /services/data/v{version}/chatter/users/me 获取当前用户;Connect REST 处理文件与内容操作,如 GET /services/data/v{version}/connect/file/upload/config 获取上传配置;Apex REST 调用自定义 Apex 资源,路径不含 API 版本,如 POST /services/apexrest/auth/login,services/apexrest URL 会自动应用 CSRF 保护;UI API REST 在 GraphQL 无法覆盖时使用,如 GET /services/data/v{version}/ui-api/records/{recordId};Einstein LLM Gateway 提供 AI 功能,需配置 Einstein API,如 POST /services/data/v{version}/einstein/llm/prompt/generations。
使用方式:从 @salesforce/sdk-data 导入 createDataSDK,创建 SDK 后检查 sdk.fetch 是否存在,再传入 URL 与选项(method、headers、body)发起请求,检查 response.ok 并解析 JSON。API 版本通常由 SF_API_VERSION 注入,回退为 "65.0"。URL 相对于 Salesforce API 基础路径,以 /services/... 开头。
限制:Apex REST 路径不包含 API 版本;UI API 应优先使用 GraphQL;Einstein LLM 需要 Einstein API 设置;若上下文中 sdk.fetch 不可用则需报错处理。具体收费、平台支持等资料暂未提供。