我正在尝试编写一个API,它将接受要插入的订单记录列表。订单表将与帐户表相关,并且该帐户具有外部ID字段。
不幸的是,当用户将请求发布到api时,他们没有在发送要插入的订单列表时提供的帐户ID,只有外部ID(他们的帐号)。
是否有一种优雅的方式,包括订单记录列表,根据他们提供的外部ID(帐号)来提取帐户ID。
在伪代码中我会做类似下面的事情:
Update tmp_Orders
set account_id = account.id
from account
where account.accountNumber = tmp_orders.accountNumber
我不想做的是必须遍历列表并单独查找每个帐户ID,因为传递给api的订单数量可能导致该方法达到州长限制。
感谢
答案 0 :(得分:0)
您不需要自己进行查询,在插入调用中您可以指定externalId而不是常规salesforce帐户ID,服务将自动为您执行查找。您可以通过指定具有相关externalId集的嵌套Account对象而不是仅设置accountId字段来执行此操作,例如。
Account a = new Account(extId__c='foo');
Order o = new Order(...);
o.account = a;
insert o;
还有更多示例here,包括从网络API而不是顶点进行操作。