多个对象数据插入目标系统
接口信息
- 接口名称: 多个对象数据插入目标系统
- 接口路径:
/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
- 说明: 需要登录认证,且用户需要具有插入对象数据的权限
业务规则
- 如果对象ID数组为空,返回错误信息"对象ID不能为空"
- 如果目标ORG类型为空,返回错误信息"目标ORG类型不能为空"
- 即使某个对象插入失败,也会继续插入其他对象
- 每个对象的插入结果都会记录在 objectResults 中
- 最终的 success 字段始终为 true,表示批量操作完成,具体成功/失败数量通过 successCount 和 failureCount 体现
异常处理
| 异常场景 |
响应码 |
响应消息 |
| 对象ID数组为空 |
500 |
对象ID不能为空 |
| 目标ORG类型为空 |
500 |
目标ORG类型不能为空 |
| 插入多个对象数据时发生异常 |
500 |
插入多个对象数据时发生异常: [异常信息] |
使用场景
- 管理员需要批量将多个对象的数据插入到目标Salesforce系统
- 数据迁移场景,需要将多个对象的数据从本地数据库迁移到目标系统
- 测试环境准备,需要批量插入多个对象的测试数据
注意事项
- 批量插入操作可能会耗时较长,特别是对于数据量较大的对象
- 建议在非高峰期执行批量插入操作
- 即使某个对象插入失败,也会继续插入其他对象
- 可以通过 objectResults 查看每个对象的详细插入结果
- 进度信息仅在插入进行中存在,插入完成后会被清除
相关接口