Если вы когда-то заходили в эпидокс Битрикса, то знаете, что методов там огромное количество — на вскидку около тысячи. И каждый из них с нюансами. Мы сами туда ходим регулярно, потому что задачи бывают самые разные, а REST — мощная штука, позволяющая делать тонкую автоматизацию, но запускать методы без удобного инструмента непросто. Именно для этого и создано наше приложение.
Приложение состоит по сути из трёх полей. Первое — сам REST-метод. С чем работаем, к чему обращаемся, что хотим получить. Например, я хочу получить выборку сотрудников, значит ставлю user.get. Второе — фильтр. Здесь я указываю критерии. Например, «найди мне пользователя, у которого email равен вот этому значению». Это значение я подставляю из предыдущего шага бизнес-процесса. Всё в цепочке работает идеально. Ну и третье поле — JSON Patch. Здесь я прописываю, какие данные хочу забрать из результата. Например, айдишник, имя, фамилию и содержимое пользовательского поля с Telegram-аккаунтом. На выходе получаю четыре отдельных значения, с которыми могу дальше работать. Можно выводить до 10 переменных — этого более чем достаточно.
Другой пример. Я знаю ID сотрудника и хочу найти в конкретном смарт-процессе все карточки, которые принадлежат этому сотруднику и не находятся в финальных стадиях. То есть по-простому: «покажи все открытые элементы такого-то смарта у такого-то человека». Выбираю crm.item.list, задаю фильтр, и потом в JSON-результате забираю нужные ID. Их может быть несколько, поэтому использую массив. Затем могу вывести эти ID в комментарий или обработать итератором — как угодно.
Кстати, про комментарии. Очень полезно иногда выводить весь результат целиком. Особенно когда вы не знаете структуру данных. В REST-ответе может быть вложенность, разные названия полей, капслок в ID, вложенные массивы. Всё это легко увидеть, если один раз вывести весь JSON в комментарий, скопировать и показать нашему другу — копайлоту. Я так и делаю. Копайлот подсказывает, где ошибка: лишняя запятая, неправильное поле, не тот уровень вложенности. В 90% случаев это решает проблему. В оставшихся 10% я делаю лайфхак: копирую всю страницу метода из эпидокса, отправляю копайлоту со словами «изучи, пожалуйста, как работает этот метод», и затем задаю ему вопросы. Работает безотказно.
Второе — период ожидания. Многие пропускают это поле. Но если вы проходите по базе, где, например, 250 тысяч контактов, это занимает время. Чтобы автоматизация не падала, поставьте минимум 10 минут — и всё пройдет спокойно.
Третье — если вы меняете сущность в роботе, обязательно переключайте поле, потому что встройка может подхватить старые настройки. Кликнули мимо, вернулись, выбрали заново — и всё работает корректно.
И, конечно, JSON Patch. С ним тоже сталкиваются трудности, но вместе с копайлотом это решаемо. Он прекрасно понимает вложенные структуры и подсказывает правильный синтаксис. А если не понимает — мы его обучаем.
Коллеги, на этом всё. Мы прошлись по трём основным полям приложения, посмотрели, как использовать результаты — и в роботах, и в бизнес-процессах. Это промежуточный инструмент, который выдаёт данные, а дальше вы с ними делаете что угодно. Я показал все типовые приёмы и лайфхаки, которыми мы пользуемся сами.
Я желаю вам успехов. С вами был Юрий Павлюк, команда Digital for Sales. Сегодня говорили о приложении REST для работы с REST-методами BX24 и JSON. Магия работает везде — в роботах, процессах, сценариях, автоматизациях. До встречи в новых видео. Пока.
