datai/datai-scenes/datai-scene-salesforce/docs/api-docs/partner-api/PartnerDescribeController/003-describe-sobjects.md
3111404962 9ec6e3ae66 docs: 为 datai-salesforce-partner 模块创建完整的 API 文档
- 为 6 个 Controller 创建了 28 个接口文档
  * PartnerAdvancedController: 5 个接口
  * PartnerBatchController: 4 个接口
  * PartnerConnectionController: 3 个接口
  * PartnerCrudController: 6 个接口
  * PartnerDescribeController: 6 个接口
  * PartnerQueryController: 4 个接口
- 创建 Partner API 接口文档索引 (index.md) 作为唯一真源
- 每个接口文档包含完整的请求/响应参数、错误码和使用说明
- 文档位置: docs/api-docs/partner-api/
2026-02-02 17:13:00 +08:00

5.3 KiB
Raw Blame History

API 文档 - 描述多个对象

元数据

  • 需求编号001
  • 子需求编号001-01
  • 接口编号003
  • 创建时间2026-02-02
  • 创建人AI Assistant
  • 状态:已完成

接口概述

批量获取多个对象的详细定义。

基本信息

  • 功能描述:批量获取多个对象的详细定义
  • 请求方式POST
  • 请求路径/partner/describe/sobjects
  • 权限要求@PreAuthorize("@ss.hasPermi('partner:describe:sobjects')")

请求参数

请求体JSON

参数名 类型 必填 说明 示例值
objectTypes Array[String] 对象类型列表 ["Account", "Contact", "Opportunity"]

请求示例

{
  "objectTypes": [
    "Account",
    "Contact",
    "Opportunity"
  ]
}

响应参数

参数名 类型 说明
code Integer 状态码200 成功,其他失败)
msg String 提示信息
data Array 响应数据数组
data[].sObject Object 对象描述
data[].sObject.name String 对象名称
data[].sObject.label String 对象标签
data[].sObject.keyPrefix String 对象键前缀
data[].sObject.custom Boolean 是否为自定义对象
data[].sObject.createable Boolean 是否可创建
data[].sObject.updateable Boolean 是否可更新
data[].sObject.deletable Boolean 是否可删除
data[].sObject.queryable Boolean 是否可查询
data[].sObject.fields Array 字段列表
data[].sObject.fields[].name String 字段名称
data[].sObject.fields[].label String 字段标签
data[].sObject.fields[].type String 字段类型
data[].sObject.fields[].length Integer 字段长度
data[].sObject.fields[].custom Boolean 是否为自定义字段
data[].sObject.fields[].createable Boolean 是否可创建
data[].sObject.fields[].updateable Boolean 是否可更新
data[].sObject.fields[].nillable Boolean 是否可为空
data[].success Boolean 是否成功
data[].errors Array 错误信息列表

成功响应示例

{
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "sObject": {
        "name": "Account",
        "label": "Account",
        "keyPrefix": "001",
        "custom": false,
        "createable": true,
        "updateable": true,
        "deletable": true,
        "queryable": true,
        "fields": [
          {
            "name": "Id",
            "label": "Account ID",
            "type": "id",
            "length": 18,
            "custom": false,
            "createable": false,
            "updateable": false,
            "nillable": false
          },
          {
            "name": "Name",
            "label": "Account Name",
            "type": "string",
            "length": 255,
            "custom": false,
            "createable": true,
            "updateable": true,
            "nillable": false
          }
        ]
      },
      "success": true,
      "errors": null
    },
    {
      "sObject": {
        "name": "Contact",
        "label": "Contact",
        "keyPrefix": "003",
        "custom": false,
        "createable": true,
        "updateable": true,
        "deletable": true,
        "queryable": true,
        "fields": [
          {
            "name": "Id",
            "label": "Contact ID",
            "type": "id",
            "length": 18,
            "custom": false,
            "createable": false,
            "updateable": false,
            "nillable": false
          },
          {
            "name": "FirstName",
            "label": "First Name",
            "type": "string",
            "length": 40,
            "custom": false,
            "createable": true,
            "updateable": true,
            "nillable": true
          }
        ]
      },
      "success": true,
      "errors": null
    }
  ]
}

失败响应示例

{
  "code": 500,
  "msg": "描述多个对象失败",
  "data": [
    {
      "sObject": null,
      "success": false,
      "errors": [
        {
          "statusCode": "INVALID_TYPE",
          "message": "Invalid object type: InvalidObject"
        }
      ]
    }
  ]
}

错误码

错误码 说明 处理建议
200 操作成功 -
400 请求参数错误 检查请求参数格式和必填项
401 未登录或登录已过期 请重新登录
403 无权限访问 请检查用户权限
500 服务器内部错误 请联系管理员或稍后重试

注意事项

  1. 对象名称区分大小写
  2. 每个对象独立处理,部分失败不影响其他对象
  3. 返回的字段列表包含当前用户有权限访问的所有字段
  4. 批量描述比单个描述更高效,减少 API 调用次数
  5. 某些对象可能因为权限限制不可访问
  6. 建议缓存结果以提高性能

使用场景

  • 批量获取多个对象的元数据
  • 动态生成多个对象的表单
  • 验证多个对象是否存在
  • 构建多对象查询构建器
  • 权限检查和验证

相关文档