datai-vue/doc/salesforce/integration/DataiIntegrationObjectController/0016-insert-multiple-object-data-to-target.md

6.0 KiB
Raw Blame History

多个对象数据插入目标系统

接口信息

  • 接口名称: 多个对象数据插入目标系统
  • 接口路径: /integration/object/insertMultipleData
  • 请求方法: POST
  • 接口描述: 该方法用于将本地数据库中的多个对象数据批量插入到目标Salesforce系统。插入操作会依次处理每个对象查询本地表中该对象的所有批次数据然后通过SOAP API插入到目标系统。插入成功后会将返回的ID保存到new_id字段并更新is_insert字段。即使某个对象插入失败也会继续插入其他对象。

请求参数

请求体

参数名 类型 必填 说明 示例
ids Integer[] 对象ID数组 [1, 2, 3]
targetOrgType String 目标ORG类型 "sandbox"

请求示例

{
  "ids": [1, 2, 3],
  "targetOrgType": "sandbox"
}
POST /integration/object/insertMultipleData
Content-Type: application/json

{
  "ids": [1, 2, 3],
  "targetOrgType": "sandbox"
}

响应参数

响应格式

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "success": true,
    "message": "多对象数据插入完成",
    "totalObjects": 3,
    "successCount": 2,
    "failureCount": 1,
    "totalInserted": 5000,
    "duration": 15000,
    "objectResults": [
      {
        "success": true,
        "message": "对象数据插入完成",
        "objectId": 1,
        "objectApi": "Account",
        "objectLabel": "账户",
        "totalBatches": 5,
        "successBatches": 5,
        "failedBatches": 0,
        "totalInserted": 2000,
        "duration": 5000,
        "batchResults": []
      },
      {
        "success": true,
        "message": "对象数据插入完成",
        "objectId": 2,
        "objectApi": "Contact",
        "objectLabel": "联系人",
        "totalBatches": 3,
        "successBatches": 3,
        "failedBatches": 0,
        "totalInserted": 3000,
        "duration": 8000,
        "batchResults": []
      },
      {
        "success": false,
        "message": "没有找到任何批次",
        "objectId": 3
      }
    ]
  }
}

响应字段说明

字段名 类型 说明 示例
code Integer 响应状态码200表示成功其他表示失败 200
msg String 响应消息,成功时返回"操作成功",失败时返回错误信息 操作成功
data Object 响应数据,包含插入结果信息 -
data.success Boolean 操作结果 true
data.message String 操作消息 多对象数据插入完成
data.totalObjects Integer 总对象数 3
data.successCount Integer 成功对象数 2
data.failureCount Integer 失败对象数 1
data.totalInserted Integer 总插入记录数 5000
data.duration Long 总耗时(毫秒) 15000
data.objectResults Array 每个对象的插入结果列表 -
data.objectResults[].success Boolean 对象插入结果 true
data.objectResults[].message String 对象插入消息 对象数据插入完成
data.objectResults[].objectId Integer 对象ID 1
data.objectResults[].objectApi String 对象API Account
data.objectResults[].objectLabel String 对象标签 账户
data.objectResults[].totalBatches Integer 总批次数量 5
data.objectResults[].successBatches Integer 成功批次数量 5
data.objectResults[].failedBatches Integer 失败批次数量 0
data.objectResults[].totalInserted Integer 该对象插入记录数 2000
data.objectResults[].duration Long 该对象耗时(毫秒) 5000
data.objectResults[].batchResults Array 批次结果列表 -

响应示例(失败)

{
  "code": 500,
  "msg": "对象ID不能为空",
  "data": null
}
{
  "code": 500,
  "msg": "目标ORG类型不能为空",
  "data": null
}

权限要求

  • 权限标识: integration:object:insertData
  • 说明: 需要登录认证,且用户需要具有插入对象数据的权限

业务规则

  1. 如果对象ID数组为空返回错误信息"对象ID不能为空"
  2. 如果目标ORG类型为空返回错误信息"目标ORG类型不能为空"
  3. 即使某个对象插入失败,也会继续插入其他对象
  4. 每个对象的插入结果都会记录在 objectResults 中
  5. 最终的 success 字段始终为 true表示批量操作完成具体成功/失败数量通过 successCount 和 failureCount 体现

异常处理

异常场景 响应码 响应消息
对象ID数组为空 500 对象ID不能为空
目标ORG类型为空 500 目标ORG类型不能为空
插入多个对象数据时发生异常 500 插入多个对象数据时发生异常: [异常信息]

使用场景

  1. 管理员需要批量将多个对象的数据插入到目标Salesforce系统
  2. 数据迁移场景,需要将多个对象的数据从本地数据库迁移到目标系统
  3. 测试环境准备,需要批量插入多个对象的测试数据

注意事项

  1. 批量插入操作可能会耗时较长,特别是对于数据量较大的对象
  2. 建议在非高峰期执行批量插入操作
  3. 即使某个对象插入失败,也会继续插入其他对象
  4. 可以通过 objectResults 查看每个对象的详细插入结果
  5. 进度信息仅在插入进行中存在,插入完成后会被清除

相关接口