用途:通过 Salesforce REST API 操作记录与架构,覆盖 Account、Contact、Opportunity、Lead、Case 及自定义对象。
主要能力:SOQL 查询(含父路径、子查询、日期字面量)、SOSL 全文搜索、单条记录读取/创建/更新/删除、按外部 ID upsert、Describe 获取字段与关系架构、Composite 一次请求串联最多 25 个子请求、检查 API 限额。
必要用法:实例 URL 形如 https://<your-org>.my.salesforce.com,API 路径带版本,如 /services/data/v66.0。认证由运行时注入,凭据变量仅用于保持请求格式,未设置时填占位值即可;持续 401/403 应报告凭据未配置,而非调试认证。示例:export SALESFORCE_ACCESS_TOKEN="placeholder";export SALESFORCE_INSTANCE_URL="https://yourorg.my.salesforce.com";export SF_API="${SALESFORCE_INSTANCE_URL}/services/data/v66.0"。查询可用 scripts/sf_query.sh "SELECT ..." --max-rows 0,脚本会翻页、剥离 attributes、展平父关系为点号列。
限制:错误返回 JSON 数组,成功返回对象,jq 投影需先判断类型。自定义对象/字段以 __c 结尾,关系名以 __r 结尾。SOQL 无 SELECT *,FIELDS(ALL) 需 LIMIT 200。分页每页上限 2000,OFFSET 硬上限 2000,深分页用 nextRecordsUrl 或 Bulk API 2.0。API 调用按每 24 小时每组织限额,超限返回 403 REQUEST_LIMIT_EXCEEDED,无 Retry-After;并发长请求上限 25(Developer Edition 为 5)。删除进入回收站约 15 天,可能级联。Composite 外层返回 200 不代表子请求成功,需逐个检查 httpStatusCode。
适用场景:需要以脚本或自动化方式读写 Salesforce 数据、同步外部系统、批量导出或检查架构时。更多端点与 SOQL/SOSL 语法见 references/api.md。