用途:为 Web 应用访问 Salesforce 数据提供统一规范,适用于新增或修改任何从 Salesforce 获取数据(记录、Chatter、Connect API 等)的代码。
主要能力与要求:所有 Salesforce 数据获取必须通过 Data SDK(@salesforce/sdk-data),由它负责认证、CSRF 处理与 base URL 解析;直接 fetch 或 axios 调用被明确禁止。通过 createDataSDK() 获取 SDK,再调用 sdk.graphql?.() 或 sdk.fetch?.()。调用时须使用可选链,因为这两个方法在某些环境(如 Salesforce ACC、MCP Apps)可能为 undefined,需优雅处理:graphql 为 undefined 时返回 undefined,需在逻辑中处理;fetch 为必需操作时先检查可用性再调用。
优先 GraphQL:查询、创建、更新、删除记录,以及关联数据、过滤、排序、分页,优先用 GraphQL(配合 using-graphql 技能完成 schema 探索、查询编写、代码生成与 lint 校验)。仅当 GraphQL 不足时使用 sdk.fetch,并调用 fetching-rest-api 技能,其覆盖 Chatter API、Connect REST、Apex REST、UI API REST 与 Einstein LLM Gateway。
使用方式示例:import { createDataSDK } from "@salesforce/sdk-data"; const sdk = await createDataSDK(); 然后 await sdk.graphql?.(query) 或 await sdk.fetch?.(url)。
澄清模糊请求:当用户的数据请求不明确时,先确认意图——是应用代码、本地 SF CLI 命令、本地示例数据,还是其他(导出、报表、脚本等),不要臆测。
决策流程:查询或变更记录用 GraphQL;Chatter、Connect REST、Apex REST、UI API REST、Einstein LLM 用 sdk.fetch;绝不用 fetch、axios 直接调用 Salesforce API。
限制:资料未提供 SDK 安装命令、版本要求、错误码细节及具体平台支持范围,暂未提供。