Найти в Дзене

Почему REST-робот не возвращает ufCrmTask из задачи в Битрикс24

Вопрос.
Пользователь настраивает REST-робота с методом tasks.task.get, передает ID задачи и видит, что запрос выполняется без ошибок. Однако при попытке использовать привязки задачи к CRM поле ufCrmTask оказывается пустым: уведомление или комментарий не содержит нужных данных, хотя в самой задаче привязки точно есть. Ответ.
Причина оказалась не в REST-методе, а в JSONPath. В ответе tasks.task.get все данные задачи находятся внутри объекта task, и поле ufCrmTask лежит именно там. Если указывать путь без учета этой вложенности, робот формально отрабатывает, но значение не извлекается. Рабочий вариант — использовать JSONPath вида $.task.ufCrmTask[*] (или без [*], если нужен весь массив целиком). Дополнительный нюанс.
При проверке результата важно, чтобы робот с уведомлением или комментарием шел строго после REST-робота, а не запускался параллельно. Иначе сообщение формируется раньше, чем данные из REST-ответа становятся доступными, и создается впечатление, что настройка выполнена неверно.
Как правильно указать JSONPath в REST-роботе Битрикс24, чтобы получить ufCrmTask из tasks.task.get и корректно проверить результат автоматизации.
Как правильно указать JSONPath в REST-роботе Битрикс24, чтобы получить ufCrmTask из tasks.task.get и корректно проверить результат автоматизации.

Вопрос.
Пользователь настраивает REST-робота с методом tasks.task.get, передает ID задачи и видит, что запрос выполняется без ошибок. Однако при попытке использовать привязки задачи к CRM поле ufCrmTask оказывается пустым: уведомление или комментарий не содержит нужных данных, хотя в самой задаче привязки точно есть.

Ответ.
Причина оказалась не в REST-методе, а в JSONPath. В ответе tasks.task.get все данные задачи находятся внутри объекта task, и поле ufCrmTask лежит именно там. Если указывать путь без учета этой вложенности, робот формально отрабатывает, но значение не извлекается. Рабочий вариант — использовать JSONPath вида $.task.ufCrmTask[*] (или без [*], если нужен весь массив целиком).

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

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