通过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>";

07-26 06:00