Soap 根据Sugar CRM中的主电子邮件地址获取帐户ID
我们有一个网站,当插入/更新记录时,我们会运行一个脚本来更新sugar CRM Accounts模块 “帐户”模块有一个字段“网站id”。当DB发生插入时,我们将最后一个插入ID设置为Sugar CRM的website_ID_c,并将剩余的值设置为插入 插入脚本如下所示Soap 根据Sugar CRM中的主电子邮件地址获取帐户ID,soap,sugarcrm,Soap,Sugarcrm,我们有一个网站,当插入/更新记录时,我们会运行一个脚本来更新sugar CRM Accounts模块 “帐户”模块有一个字段“网站id”。当DB发生插入时,我们将最后一个插入ID设置为Sugar CRM的website_ID_c,并将剩余的值设置为插入 插入脚本如下所示 $name_value_field=array( array('name' => 'name','value' => $name), array('name' => 'primary_conta
$name_value_field=array(
array('name' => 'name','value' => $name),
array('name' => 'primary_contactperson_c','value' => $ownername),
array('name' => 'billing_address_street','value' => $address),
array('name' => 'billing_address_postalcode','value' => $postalcode),
array('name' => 'email1','value' => $email),
array('name' => 'website_id_c','value' => $id_retrieved),
);
if(!empty($sessn_id))
{
$result=$soap->set_entry("Accounts",$name_value_field);
}
这使用soapnusoap客户端与sugarcrm云通信。插入工作正常,也可以进行更新
$response = $soap->get_entry_list('Accounts',
array('id'),
"website_id_c='$websiteID'");
$account_id = $response['entry_list'][0]['id'];
但目前我想检索帐户id,以便根据电子邮件更新记录。我用电子邮件更改了字段。但我觉得它存储在其他地方,主地址键存储在Accounts模块中。因此,首先我们要从电子邮件模块中获取该id,然后根据该电子邮件地址id查询Accounts模块以获取Account值
$response = $soap->get_entry_list('Accounts',
array('id'),
"email1='email@example.com'");
哪个模块存储电子邮件地址?我以前没有做过糖的工作。所以,如果你没有完全理解我,请随时问我
感谢电子邮件字段及其与帐户的关系存储在另外两个表中,因此您需要使用子选择来检索帐户
$response = $soap->get_entry_list(
$module = 'Accounts',
$fields = array('id'),
$query = "accounts.id IN (
SELECT eabr.bean_id
FROM email_addr_bean_rel eabr
JOIN email_addresses ea ON (ea.id = eabr.email_address_id)
WHERE
eabr.bean_module = 'Accounts'
AND eabr.deleted = 0
AND ea.email_address = 'email@example.com'
)",
$orderBy = "accounts.name",
$offset = 0,
$max = 10
);
我的soap客户端get\u entry\u list
方法如下
get_entry_list($module,
$fields = array(),
$query='',
$order_by='',
$offset=0,
$limit = 1000)
相应地进行必要的更改。谢谢@Kåre Werner Storgaard。虽然它不需要$orderBy=“accounts.name”,$offset=0,$max=10。它起作用了。再次感谢。