通过php使用salesforce soap api时,如果我有一个对象,该对象有一个帐户的查找字段,该帐户上有一个设置为外部id的特定字段,那么我可以执行以下操作
$sfBooking->fields['Account__r'] = "<type>Account</type>"
. "<custom_account_id__c>"
. utf8_encode($tboxBooking->client_id)
. "</custom_account_id__c>";
当尝试链接记录而不必使用Salesforce ID时,这非常方便。
我想知道在通过api设置对象的记录类型时,是否可以使用类似的速记法。如果可能的话,我希望首先查询record type对象来获取记录类型i d。
最佳答案
您可以使用recordtype上的name字段来执行此操作,生成的xml应该如下所示
<create xmlns="urn:partner.soap.sforce.com">
<sobject>
<type>case</type>
<subject>Test</subject>
<recordType>
<type>RecordType</type>
<name>InternetCase</name>
</recordType>
</sobject>
</create>
根据你发布的代码,你可以
$sfBooking->fields['RecordType'] = "<type>RecordType</type>"
. "<name>"
. utf8_encode($tboxBooking->recordType_name)
. "</name>";