You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Node.js合并Salesforce平台中的SObject对象

Node.js 合并 Salesforce SObject 实现方案

JSForce 官方没有封装专门的 SObject 合并方法,但可以通过其提供的底层 API 调用能力直接对接 Salesforce 原生合并接口实现需求,以下是两种可行实现方式:

  • 调用 Salesforce SOAP API 原生 merge 操作
    JSForce 连接实例支持直接调用 SOAP 接口的 merge 方法,适配所有支持合并操作的 Salesforce 版本,示例代码如下:
const jsforce = require('jsforce');
// 初始化Salesforce连接,可替换为你自己的登录逻辑
const conn = new jsforce.Connection({
  instanceUrl: '你的Salesforce实例地址',
  accessToken: '你的接口访问令牌'
});

const mergeParams = {
  masterRecord: {
    type: 'Account', // 替换为实际需要合并的SObject对象API名称
    Id: '保留的主记录ID'
  },
  recordToMergeIds: ['待合并的从记录ID1', '待合并的从记录ID2'], // 单次最多支持2条从记录
  mergeRelatedRecords: true // 可选:是否将从记录的关联子数据迁移到主记录,默认开启
};

// 执行合并操作
conn.soap.merge(mergeParams, (err, res) => {
  if (err) {
    console.error('合并操作失败:', err);
    return;
  }
  console.log('合并操作成功,返回结果:', res);
});
  • 调用 Salesforce REST API 合并端点
    如果你使用的 Salesforce 接口版本大于等于 v58.0,也可以调用新增的REST合并接口,通过JSForce的通用request方法发起请求即可:
const mergeBody = {
  masterRecordId: '保留的主记录ID',
  recordIds: ['待合并的从记录ID1', '待合并的从记录ID2'],
  mergeRelatedRecords: true
};

conn.request({
  method: 'POST',
  url: `/services/data/v59.0/merge/Account`, // 末尾替换为实际SObject对象API名称,接口版本需>=58.0
  body: JSON.stringify(mergeBody),
  headers: {
    'Content-Type': 'application/json'
  }
}, (err, res) => {
  if (err) {
    console.error('合并操作失败:', err);
    return;
  }
  console.log('合并操作成功,返回结果:', res);
});
  • 注意事项:
    • 操作账号需要拥有对应SObject的编辑、删除权限,以及合并操作的系统权限
    • 单次合并仅支持将最多2条从记录合并到1条主记录,所有参与合并的记录必须属于同一个SObject类型
    • 主记录不能是已删除、已归档状态,从记录合并完成后默认进入回收站,可按需配置是否永久删除

内容的提问来源于stack exchange,提问作者Janakiram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 16:57:00