我一直在努力解决这个问题。我设法获得以下代码来创建潜在客户并添加名称但由于某种原因它拒绝添加电子邮件地址。我已经检查并仔细检查$_POST['email']
正在设置并正常工作。
$soapclient = new nusoap_client('http://www.domain.com/crm/soap.php?wsdl',true);
$user_auth = array( 'user_auth' => array( 'user_name' => 'user', 'password' => md5('pass'), 'version' => '0.1' ), 'application_name' => 'soapleadcapture');
$result_array = $soapclient->call('login',$user_auth);
$session_id = $result_array['id'];
$user_guid = $soapclient->call('get_user_id',$session_id);
$err = $soapclient->getError();
if ($err) {
echo '<h2>Constructor error</h2><pre>' . $err . '</pre>';
}
$name=$_POST['name'];
$nameParts = explode(' ',$name,2);
$firstName = $nameParts[0];
$lastName = $nameParts[1];
$email = $_POST['email'];
// create lead
$set_entry_params = array(
'session' => $session_id,
'module_name' => 'Leads',
'name_value_list'=>array(
array('name'=>'first_name','value'=>$firstName),
array('name'=>'last_name','value'=>$lastName),
array('name'=>'status', 'value'=>'New'),
array('name'=>'phone_work', 'value'=>$phone),
array('name'=>'primary_address_city', 'value'=>$city),
array('name'=>'account_name','value'=>$acc),
array('name'=>'email','value'=>$email),
array('name'=>'lead_source','value'=>'Web Site'),
array('name'=>'description','value'=>$desc),
array('name'=>'team_id', 'value'=> '1'),
array('name'=>'assigned_user_id', 'value'=>$user_guid)
)
);
$result = $soapclient->call('set_entry',$set_entry_params);
任何有助于确定不提交电子邮件地址的帮助都将非常感谢。
答案 0 :(得分:2)
$ email不正确,应该是$ email1。这是SugarCRM主电子邮件地址字段名称。
答案 1 :(得分:0)
$response = $client->get_available_modules($session_id);
$response = $client->get_module_fields($session_id, 'Contacts');
var_dump($response);
...其中第二个语句中的联系人是您要从中获取字段的模块的名称。它应该返回该模块的所有字段。确保该字段名为email,而不是email1或email_c或类似名称。第一行将输出每个模块,以便您可以看到所需模块的名称。
答案 2 :(得分:-1)
只需更改此行:
array('name'=>'email','value'=>$email),
要
array('name'=>'email1','value'=>$email),
完成了。