Найти в Дзене

Почему REST-робот Битрикс24 не принимает ответственного из переменной и как это исправить

При настройке REST-робота в Битрикс24 пользователь столкнулся с неожиданным поведением: при создании элемента смарт-процесса ответственный назначался корректно только тогда, когда ID сотрудника указывался вручную числом. Как только вместо числа подставлялась переменная из задачи или бизнес-процесса, ответственный либо не применялся, либо подставлялся пользователь, от имени которого запускался робот. Причина оказалась в формате данных. Переменная возвращала значение вида user_11, то есть строку с префиксом, тогда как поле assignedById в REST-методе ожидает строго числовое значение. REST-робот не умеет интерпретировать такие строки и в итоге игнорирует поле, применяя стандартную логику назначения. Решение сводится к приведению значения переменной к чистому числу перед передачей в JSON. Достаточно убрать префикс user_ (например, регулярным выражением) и передавать в assignedById только ID без кавычек. При отладке удобно сначала вывести значение переменной в сообщение, чтобы убедиться, что
REST-робот Битрикс24 не принимает переменную в assignedById. Разбираем, почему user_XX ломает логику и как передать корректный ID сотрудника
REST-робот Битрикс24 не принимает переменную в assignedById. Разбираем, почему user_XX ломает логику и как передать корректный ID сотрудника

При настройке REST-робота в Битрикс24 пользователь столкнулся с неожиданным поведением: при создании элемента смарт-процесса ответственный назначался корректно только тогда, когда ID сотрудника указывался вручную числом. Как только вместо числа подставлялась переменная из задачи или бизнес-процесса, ответственный либо не применялся, либо подставлялся пользователь, от имени которого запускался робот.

Причина оказалась в формате данных. Переменная возвращала значение вида user_11, то есть строку с префиксом, тогда как поле assignedById в REST-методе ожидает строго числовое значение. REST-робот не умеет интерпретировать такие строки и в итоге игнорирует поле, применяя стандартную логику назначения.

Решение сводится к приведению значения переменной к чистому числу перед передачей в JSON. Достаточно убрать префикс user_ (например, регулярным выражением) и передавать в assignedById только ID без кавычек. При отладке удобно сначала вывести значение переменной в сообщение, чтобы убедиться, что на входе действительно приходит user_XX. В подобных задачах хорошо помогает REST API - методы РЕСТ Битрикс24 и JSON в роботах и БП, так как он позволяет быстро проверить поведение метода и структуру параметров.

Этот кейс наглядно показывает, что в REST-роботах Битрикс24 критичны не только сами методы, но и типы данных, которые в них передаются. Даже корректная на вид переменная может сломать логику, если ее формат не соответствует ожиданиям API. Поэтому при сложных автоматизациях имеет смысл привлекать ИИ для проверки JSON и параметров REST-запросов — и здесь REST API - методы РЕСТ Битрикс24 и JSON в роботах и БП органично вписывается в рабочий процесс.