2015-03-16 3 views
0

Im работает над sugarcrm rest api, чтобы обновить адрес электронной почты кандидата. Во-первых, я обновляюсь в таблице email_addresses, а затем в таблице email_addr_bean_rel.Обновление email_address_id, bean_id, bean_module - Sugarcrm REST API

  • Для каждого обновления таблицы я создаю идентификатор сеанса и передаю через api.

  • При запуске api он обновляет значения в таблице email_addresses, но не в таблице email_addr_bean_rel.

Должен ли я установить какие-либо отношения?

Пожалуйста, помогите мне решить эту проблему ...

//login --------------------------------------------- 
$login_parameters = array(
    "user_auth" => array(
      "user_name" => $username, 
      "password" => md5($password), 
      "version" => "1" 
    ), 
    "application_name" => "RestTest", 
    "name_value_list" => array(), 
); 

$login_result = call("login", $login_parameters, $url); 

//get session id 
$session_id = $login_result->id; 

$set_entry_parametersEADDR = array(
    //session id 
    "session" => $session_id, 

    //The name of the module from which to retrieve records. 
    "module_name" => "EmailAddresses", 

    //Record attributes 
    "name_value_list" => array(


    array('name' => 'email_address', 'value' => $_POST['emailid']), 
    array('name' => 'email_address_caps', 'value' => strtoupper($_POST['emailid'])), 
    array('name' => 'invalid_email' , 'value' => 0), 
    array('name' => 'opt_out', 'value' => 0), 
    array('name' => 'date_created' , 'value' => date('Y-m-d H:i:s')), 
    array('name' => 'date_modified', 'value' => date('Y-m-d H:i:s')), 
    array('name' => 'deleted' , 'value' => 0), 
    ), 
); 

$set_entry_resultEmailsAdd = call("set_entry", $set_entry_parametersEADDR, $url); 

echo "<pre>"; 
print_r($set_entry_resultEmailsAdd); 
echo "</pre>"; 




    //login --------------------------------------------- 
$login_parameters = array(
    "user_auth" => array(
      "user_name" => $username, 
      "password" => md5($password), 
      "version" => "1" 
    ), 
    "application_name" => "RestTest", 
    "name_value_list" => array(), 
); 

$login_result = call("login", $login_parameters, $url); 

//get session id 
$session_id = $login_result->id; 

$set_entry_parametersEmailAddressBean = array(
    //session id 
    "session" => $session_id, 

    //The name of the module from which to retrieve records. 
    "module_name" => "EmailAddresses", 
     //Record attributes 
    "name_value_list" => array(


    array('name' => 'email_address_id', 'value' => $set_entry_resultEmailsAdd->id), 
    array('name' => 'bean_id', 'value' => $set_entry_result->id), 
    array('name' => 'bean_module' , 'value' => 'gaur_Candidates'), 
    array('name' => 'primary_address', 'value' => 1), 
    array('name' => 'reply_to_address', 'value' => 0), 
    array('name' => 'date_created' , 'value' => date('Y-m-d H:i:s')), 
    array('name' => 'date_modified', 'value' => date('Y-m-d H:i:s')), 
    array('name' => 'deleted' , 'value' => 1), 
     ), 
); 


$set_entry_resultEmailBean = call("set_entry", $set_entry_parametersEmailAddressBean, $url); 

echo "<pre>"; 
print_r($set_entry_resultEmailBean); 
echo "</pre>"; 

ответ

0

Здравствуйте, вы должны быть в состоянии использовать идентификатор сеанса между вызовами. Не нужно брать еще один за звонок.

Чтобы задать адрес электронной почты для пользовательского модуля gaur_Candidates

ли поле электронной почты правильно настроить в модуле gaur_Candidates?

Нельзя напрямую изменять таблицу email_address. Вместо этого вы должны использовать встроенные методы электронной почты для сахара.

Для любого модуля с соотношением электронной

Вы можете установить основной адрес электронной почты, устанавливая поле «EMAIL1» (или EMAIL2, и так далее до 5 я не верю)

Однако я» m не уверен, можете ли вы добавить ссылку на электронную почту к настраиваемому модулю .

Смежные вопросы