Введите адрес электронной почты при создании аккаунта с остальными api - PullRequest
1 голос
/ 21 декабря 2011

Я столкнулся с установкой Sugar 6.3 CE, пытаясь создать новые учетные записи через rest api.

Я все еще нахожусь на кривой обучения для многих внутренностей CRM и не могу понять, как вставить электронное письмо с остальной информацией учетной записи при создании с помощью вызова REST.

Я пробовал много разных значений полей, и после того, как поймал, что $email1 использовалось в некоторых примерах фрагментов, которые я видел на сайте sugarCRM. Я не нашел других упоминаний на форумах или в документах.

Массив $ parameters, используемый для настройки обычного вызова rest для создания учетной записи в php с REST api, выглядит следующим образом и работает нормально, за исключением для $ email1:

$parameters = array(
 'session' => $session,
 'module' => 'Contacts',
 'name_value_list' => array(

   array('name' => 'first_name', 'value' => 
     utf8_encode($contacts["Name"])),

   array('name' => 'last_name',  'value' =>
     utf8_encode($contacts["GivenName"])),
    array('name' => 'phone_work', 'value' =>
     utf8_encode($row->PrimaryPhoneAreaCode . ' ' .  $row->PrimaryPhone)),

   array('name' => 'phone_fax',  'value' => 
     utf8_encode($row->PrimaryFaxAreaCode . ' ' .  $row->PrimaryFaxNumber)),
    array('name' => 'title', 'value' => 
     utf8_encode($contacts["Title"])),

  /*
   * PROBLEM HERE!
   */
   array('name' => 'email1',     'value' => 
     utf8_encode($row->PrimaryEmail)),

   array('name' => 'primary_address_street', 'value'  => 
     utf8_encode($row->Address1) . '  ' . 
     utf8_encode($row->Address2)),
    array('name' => 'language',   'value' => 
     utf8_encode($row->Language)),

   array('name' => 'assigned_user_id', 'value' => 
     get_rep_id($row->Salesperson1Name, $sugarlink)),
   )
);

Мне было бы любопытно, если бы у кого-то был трюк. Я пытался найти в поле для писем, но, кажется, в отдельных таблицах. Любая помощь / советы приветствуются.

Ответы [ 3 ]

3 голосов
/ 24 апреля 2013

Если вы используете REST API, email1 будет работать для обоих set en get методов (только что протестировал).

Сделалне использовал SOAP API, как в вашем примере, и предлагаем перенести все в REST в соответствии с рекомендациями SugarCRM.

2 голосов
/ 10 апреля 2017

Сначала необходимо добавить адрес электронной почты в базу данных адресов электронной почты, создать контакт и установить связь между ними; -)

 $set_entry_parametersEADDR = array(
             "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' => $email), 
            array('name' => 'email_address_caps', 'value' => strtoupper($email)),
            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);
        print_r($set_entry_resultEmailsAdd);
        $Email_id = $set_entry_resultEmailsAdd->id;  

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

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

                //Record attributes
                "name_value_list" => array(
                  //to update a record, you will nee to pass in a record id as commented below
                  //array("name" => "id", "value" => "9b170af9-3080-e22b-fbc1-4fea74def88f"),
                  array("name" => "first_name", "value" => $prof["Prenom"]),
                  array("name" => "last_name", "value" => $prof["Nom"]),
                  array("name" => "login_c", "value" => $prof["Login"]),
                  //array("name" => "email1", "value" => $email),
                  array("name" => "fonction_c", "value" => "prof")
                     ),
                );

        $set_entry_result_contact = call("set_entry", $set_entry_parameters_contact, $url);    
        print_r($set_entry_result_contact);
        $contact_id = $set_entry_result_contact->id;  

        $set_relationship_parameters_email = array(
            'session' => $session_id,
            'module_name' => 'Contacts',
            'module_id' => $contact_id,
            'link_field_name' => 'email_addresses',
            'related_ids' => $Email_id,
        );

        $set_relationship_result_email = call("set_relationship", $set_relationship_parameters_email, $url);  
        print_r($set_relationship_result_email);
1 голос
/ 22 декабря 2011

В настоящее время я думаю, что не работает с REST API, но работает с SOAP API.Не могли бы вы попробовать использовать клавишу email1_set_in_workflow вместо email1?Это не очень хорошее решение, но, возможно, оно может разблокировать вас в ожидании лучшего способа сделать это в будущем выпуске

...