未通过Salesforce API提交更新


Updates through Salesforce API not committing

我正在尝试使用PHP中的Salesfore PartnerClient更新联系人(13.1)。以下是我正在运行的代码:

$sObject = new sObject();
$sObject->Id = '003E000000hyhOxIAI';
$sObject->fields = array(
  'Title' => 'Test update',
  'Custom_Filed__C' => 'Foo'
);
$sObject->type = 'Contact';
// run the update
try {
  var_dump($sf->update($sObject));
} catch(Exception $e) {
  // we have an error
}

以上运行良好,响应如下:

object(stdClass)#9 (2) { ["id"]=> string(18) "003E000000hyhOxIAI" ["success"]=> bool(true) }

因此,一切看起来都是正确的,并且我已经确保与我连接的用户具有写访问权限。然而,当查看Salesforce上的目标联系人时,我可以看到最后一次更新与运行上述更新的时间戳一致,但我指定的字段没有更新。我遗漏了什么?

FYI,对于任何面临相同问题的人来说,解决方案是传递一个sObjects数组——我看到的例子没有包括这一细节。看看API文档,看起来确实需要数组——只是奇怪的是,update()方法在其响应中没有指示这一点。