用途:在 uiBundles/*/src/ 项目中读取、写入或展示 Salesforce 数据时使用,包括构建页面、列表、表格、卡片网格、仪表盘等。所有数据访问统一走 @salesforce/platform-sdk 的 data SDK,由 SDK 处理认证、CSRF 与 base URL 解析;在 WebApp 上默认缓存每个 GraphQL 查询(300 秒)。
主要能力:sdk.graphql 是命名空间而非函数,读用 sdk.graphql!.query({...}),写用 sdk.graphql!.mutate({...})。除记录 CRUD 外,uiapi 还支持聚合(aggregate)、对象/字段元数据(objectInfos)、选项列表值与相关列表元数据。GraphQL 无法表达的场景(Apex REST、文件上传、Einstein)走 sdk.fetch,见 references/rest-and-integration.md。
使用方式:先确认已安装 @salesforce/platform-sdk,并阅读其 dist/core/data.d.ts、dist/data/index.d.ts 与 docs/data/ 目录,安装的声明优先于技能文档。查询前必须校验 schema:优先用 npx graphiti sf-gql-discover 列出/描述对象,或用 bash <skill-dir>/scripts/graphql-search.sh <Entity> 回退。用 sf-gql-list / sf-gql-create / sf-gql-update / sf-gql-delete 编译查询与变更,再运行 npm run graphql:codegen 生成类型。调用后始终检查 result.errors,HTTP 200 不代表成功。写入后需用先前 query() 返回的 QueryResult 调用 refresh() 刷新读取。
限制:sdk.graphql! 仅适用于 WebApp;可能运行在 Mosaic/OpenAI/MCPApps 等表面时须先做 if (!sdk.graphql) 守卫。变更不会被缓存,变量形状与读取不同(值不加 {value} 包装)。未验证的字段会导致整个查询运行时失败。若依赖未安装则无法继续;若 .d.ts 或 docs 缺失,可用技能文档作为尽力回退。具体收费、价格与平台支持范围资料未提供。