Для всех, кто попадёт на эту страницу в поисках решения этой проблемы. Я нашёл два решения, которые работают не идеально, но достаточно хорошо при условии не слишком частого обращения к bitrix API.
Итак, моя задача заключалась в том, что бы получить идентификатор новой записи в определенном поле в системе bitrix24. Далее распишу по шагам. В моём случае всё происходит через PHP, запрос отправляет собственная функция SendQuery. Используется старый синтаксис массивов без квадратных скобок, т.к. легаси, простите меня за это, лень было исправлять. Авторизационные данные зашиты в функции, их я опускаю в данном примере. В общем:
1) Создаем запись в нужном поле:
sendQuery('crm.deal.userfield.update', array(
'id' => $field_id,
'fields' => array(
'LIST' => array(
array('VALUE' => $name)
)
)
));
2) Пишем функцию получения id добавленной записи в поле:
function get_last_record_id_in_feld($filed_id) {
$r = sendQuery('crm.deal.userfield.get', ['id' => $filed_id]);
$result = $r['result']['LIST'];
foreach($result as $list_data => $col) {
$ids[] = $col['ID'];
}
sort($ids);
$last = end($ids);
return $last;
}
Тут я получаю список всех значений из поля, куда была сделана новая запись, сортирую массив по значениям, по возрастанию и получаю ID последней записи. Таким образом получаю id новой записи, созданной перед этим, с помощью метода crm.deal.userfield.update.
Второй способ это создание веб-хука. Битрикс умеет оповещать о внесенном изменении в какое-либо поле по заданному http адресу. Там все то же самое -- получаем от битрикса инфу, парсим, выцепляем последний id из нужного поля.
Надеюсь, мой ответ кому-то пригодится. Хорошего дня, дамы и господа.