Добрый день.
- Используйте вебхуки - если кто-то перехватит ваши авторизационные данные, то сможет попасть на портал. Вебхук такой возможности не даст - он вернёт в json-формате только ту информацию, на которую ему дали права + права пользователя на портале (т.е. через вебхук нельзя будет удалить все лиды, если у пользователя нет прав на удаление).
- Используйте класс CRest - он существенно упрощает передачу данных в Б24
- Для записи значения в списочное поле вам нужно получить id значения (посмотреть список полей и значений лида можно с помощью метода crm.lead.userfield.list) и передавать в параметрах этот id
Примерный код:
// settings.php
define('C_REST_WEB_HOOK_URL','https://rest-api.bitrix24.com/rest/1/doutwqkjxgc3mgc1/');//url on creat Webhook
//ваш код
$postData = [
'TITLE' => 'Заявка с сайта', // Установить значение свое значение
'NAME' => $firstName,
'PHONE_WORK' => $myphone,
'COMMENTS' => $userFieldEnumValueId // id значения списочного поля
];
$lead = CRest::call('crm.lead.add', ['fields' => $postData]);
return $lead['result'] ?? [$lead['error'], $lead['error_description'];