@SergioMarquinha

Почему не работает добавление почты в методе crm.contact.add?

Здравствуйте! Есть форма, куда в батч передаются переменные. Всё добавляется кроме почты. В чем проблема?
NAME у формы верные.

<?			
                $sTitle = htmlspecialchars($_POST["TITLE"]);
                $sName = htmlspecialchars($_POST["NAME"]);
                $sLastname = htmlspecialchars($_POST["LAST_NAME"]);
                $sSum = htmlspecialchars($_POST["SUM"]);
                $sEmail = htmlspecialchars($_POST["EMAIL"]);  //почта
                // $sPhone = htmlspecialchars($_POST["PHONE"]);
                // $arPhone = (!empty($sPhone)) ? array(array('VALUE' => $sPhone, 'VALUE_TYPE' => 'WORK')) : array();
                // $arEmail = (!empty($sEmail)) ? array(array('VALUE' => $sEmail, 'VALUE_TYPE' => 'HOME')) : array(); //взято из документации

require_once('crest.php');
$result = CRest::call('batch',
    array(
        'halt' => false,
        'cmd'=> array(
        "create_contact"=>  'crm.contact.add?fields[NAME]='.$sName.'&fields[LAST_NAME]='.$sLastname.'&fields[EMAIL]='.$sEmail, //не выводится.  с arEmail тоже
        "read_contact"=>  'crm.contact.get?id=$result[create_contact][ID]',
        "user_deal"=>  'crm.deal.add?fields[CONTACT_ID]=$result[create_contact][ID]&fields[TITLE]='.$sTitle.'&fields[OPPORTUNITY]='.$sSum
)
)
);
  • Вопрос задан
  • 206 просмотров
Решения вопроса 1
gromdron
@gromdron Куратор тега Битрикс24
Работаю с Bitrix24
Ваш скрипт не работает, потому что вы неправильно отправляете EMAIL поле.

Посмотрите в документации пример с полем PHONE и делайте аналогично.
Т.е. в вашем случае нужно отправлять не просто значение, а структуру.

Вместо:
&fields[EMAIL]='.$sEmail

Писать:
&fields[EMAIL][0][VALUE]='.$sEmail

Чтобы было понятнее, я как и в прошлый раз приложу json body который отработал успешно:

{
    "halt": false,
    "cmd": {
        "create_contact": "crm.contact.add?fields[NAME]=Test&fields[LAST_NAME]=TEST&fields[EMAIL][0][VALUE]=test@mail.ru",
        "read_contact": "crm.contact.get?id=$result[create_contact][ID]",
        "user_lead": "crm.lead.add?fields[TITLE]=Test Assigned&fields[NAME]=$result[read_contact][NAME]&fields[CONTACT_ID]=$result[create_contact][ID]"
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
отлаживайте

special chars скорее всгео где-то

проверьте на вставку без данных их формы и потом на созрание что прищло с формы
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы