2012-02-09 59 views
7

我是使用salesforce API的新手。我已经下载了saleforce/php工具包,并能够在我的服务器上成功创建联系人和帐户。与使用salesforce API的帐户关联联系

要创建联系人,我做了以下内容:

$records[0] = new stdclass(); 
    $records[0]->FirstName = $FirstName; 
    $records[0]->LastName = $LastName; 
    $records[0]->Email = $Email; 
    $records[0]->Phone = $Phone; 
    $records[0]->MailingStreet = $MailingStreet; 
    $records[0]->MailingCity = $MailingCity; 
    $records[0]->MailingState = $MailingState; 
    $records[0]->MailingPostalCode = $MailingPostalCode; 
    $records[0]->MailingCountry = $MailingCountry; 
    $records[0]->LeadSource = $LeadSource; 

    $create = $mySforceConnection->create($records, 'Contact'); 

要创建一个帐户,我做了以下

$records[0] = new stdclass(); 
    $records[0]->Name = $Name 

    $create = $mySforceConnection->create($records, 'Account'); 

谁能给我的我怎么会关联一个简单的例子联系一个账户?

我有一个窗体上的复选框,询问这是否是一个组织。如果用户选中此框,我想创建一个包含部分数据的组织帐户,并与部分数据建立联系并关联这两个数据。

我不是在寻找一个完整的工作例子,而是更多的东西指向我在正确的方向。

可以说我有001Z0000004XeWfIAK

的ID

我已经试过

$records[0] = new stdclass(); 
    $records[0]->FirstName = $FirstName; 
    $records[0]->LastName = $LastName; 
    $records[0]->Email = $Email; 
    $records[0]->Phone = $Phone; 
    $records[0]->MailingStreet = $MailingStreet; 
    $records[0]->MailingCity = $MailingCity; 
    $records[0]->MailingState = $MailingState; 
    $records[0]->MailingPostalCode = $MailingPostalCode; 
    $records[0]->MailingCountry = $MailingCountry; 
    $records[0]->LeadSource = $LeadSource; 
    $records[0]->AccountId = '001Z0000004XeWfIAK'; 

    $create = $mySforceConnection->create($records, 'Contact'); 

@ superfell帐户

它返回:

Array 
(
    [0] => stdClass Object 
     (
      [errors] => Array 
       (
        [0] => stdClass Object 
         (
          [message] => A Household Contact's account must be a household. 
          [statusCode] => FIELD_CUSTOM_VALIDATION_EXCEPTION 
         ) 

       ) 

      [id] => 
      [success] => 
     ) 

)

但我想将联系人与组织联系起来

+0

联系人是否已创建?你有任何错误? – 2012-02-09 22:05:00

+0

您需要使用示例$ create来查看创建失败的原因。 – superfell 2012-02-09 22:19:28

+0

对不起。我不认为我很清楚。我有一个名为组织的帐户类型。每个组织都有与之相关的联系人。我试图将联系人与组织关联 – jpshayes 2012-02-09 22:30:27

回答

6

好的,我自己回答,因为我不能将Superfell评论标记为答案。但是,他的评论

“当你创建帐户,您需要设置recordTypeId达到创纪录的类型,这不是家庭RECORDTYPE - superfell”

帮助我得到了答案。

这是我的最终代码,用于创建一个帐户,然后创建该帐户的联系人。

//First I create a simple account 
    //With no recordTypeId specified it defaults to the the type I want 

    $records[0] = new stdclass(); 
    $records[0]->Name = $Name; 

    //Create a new orginization account 
    $org = $mySforceConnection->create($records, 'Account'); 

在建立帐户之后,Salesforce的成功返回的消息与新的AccountID

 
Array 
(
    [0] => stdClass Object 
     (
      [id] => 001Z0000004XfXcIAK 
      [success] => 1 
     ) 

) 

然后我可以创建联系人并将它与我的新帐户关联

$contact[0] = new stdclass(); 
    $contact[0]->FirstName = $FirstName; 
    $contact[0]->LastName = $LastName; 
    $contact[0]->Email = $Email; 
    $contact[0]->Phone = $Phone; 
    $contact[0]->MailingStreet = $MailingStreet; 
    $contact[0]->MailingCity = $MailingCity; 
    $contact[0]->MailingState = $MailingState; 
    $contact[0]->MailingPostalCode = $MailingPostalCode; 
    $contact[0]->MailingCountry = $MailingCountry; 
    $contact[0]->LeadSource = $LeadSource; 

    //This is where my problem was, Thanks again superfell 
    //$organization_contact = My custom Salesforce contact type ID, E.G. recordTypeId 
    $contact[0]->recordTypeId = $orginization_contact; 

    //The AccountId is the account I want to associate this contact with. 
    //AccountId was returned by Salesforce upon the creation of the account (See above) 
    $contact[0]->AccountId = $org[0]->id; 

    $contact = $mySforceConnection->create($contact, 'Contact'); 

再次感谢Jeremey和Superfell。节省了我的时间。

6

联系人有一个AccountId字段。因此,下面的代码假设您在名为$accountId的变量中具有帐户ID,$resource[0]是您想要关联的联系人。

$records[0]->AccountId = $accountId 
$mySforceConnection->update($records) 

我不知道PHP很好,但我认为这将是接近正确的。

+0

谢谢杰瑞美。我相信我已经尝试过。我更新了我的问题 – jpshayes 2012-02-09 21:41:05

+0

除了通过AccountId之外,没有其他关联,但必须先创建帐户,以便您可以在Contact.AccountId中使用其Id。你得到的是一个自定义的验证错误,需要与帐户/联系人记录类型匹配,检查验证规则并分配适当的记录类型 – mmix 2012-02-10 14:17:59

相关问题