Вернуться к списку Вернуться к статьям
Статьи

Как передать данные в своего робота Битрикс24 и получить результат

Входы собственного робота определяют, что он получает при запуске. Выходы определяют, какой результат доступен дальнейшим шагам Битрикс24. В «Конструкторе роботов S-WEBS» эти параметры объявляют в редакторе, связывают с блоками, затем заполняют в настройках робота на стадии CRM.

Важны обе стороны: правильное значение на входе и явная передача результата наружу. Если схема рассчитала число или нашла контакт, но выход не связан с этим результатом, следующий шаг не получает ожидаемые данные.

Сначала определите контракт робота

Запишите входы и выходы до настройки блоков. Для каждого значения определите смысл, тип, обязательность и допустимость нескольких значений. Название должно объяснять значение человеку, код нужен для привязок внутри схемы.

В контактном примере используются такие параметры:

Направление Название Код Тип
Вход ID текущего лида lead_id Целое число
Вход Ответственный за новый контакт responsible_id ID пользователя
Выход ID контакта contact_id Целое число
Выход Создан новый контакт created Да/нет

Все четыре значения в этом примере обязательны и одиночные. ID лида определяет исходную карточку. Ответственный нового контакта не выбирает исполнителя операций: исполнитель закрепляется отдельно при подготовке регистрации.

Для учебного числового примера используется другой контракт: вход «Числа» допускает несколько значений, а выход «Сумма» возвращает одно число. Одинаковое слово «число» не делает список и одиночное значение взаимозаменяемыми.

Контракт контактного сценария: lead_id и responsible_id на входе; contact_id и created на выходе; успех проверяется отдельно

ID текущего лида передаётся из документа. Ответственный нового контакта не выбирает исполнителя операций.

Вход и выход отдельного расчётного примера с типами значений

Панель отдельного расчётного примера: вход «Числа» и выход «Сумма». Контактные параметры из таблицы статьи на этом кадре не показаны.

Где объявить параметры

Откройте редактор и «Параметры робота». Во «Что получает» добавьте входы, во «Что возвращает» добавьте выходы. Заполните «Код», «Название», «Тип», «Обязательное» и при необходимости «Несколько значений».

Значение по умолчанию подходит для постоянной настройки, которую вы осознанно хотите использовать при запуске. Например, можно выбрать сотрудника для нового контакта. После переноса сценария на другой портал проверьте такого сотрудника заново: идентификаторы относятся к конкретному порталу.

ID текущего лида нужно получать из текущего документа. Если записать один рабочий ID как постоянное значение, последующие запуски будут получать тот же лид независимо от того, какая карточка вошла в стадию.

Свяжите входы с действиями

В «Настройках блока» укажите «Откуда взять значение». Это может быть параметр робота, результат предыдущего блока либо введённая константа.

Для контактной схемы поиск получает lead_id из параметров робота. Создание получает lead_id и responsible_id. Привязка получает текущий лид и ID контакта из выбранной ветви. Блок результата возвращает ID после успешной привязки и признак создания.

Проверяйте смысл источника, а не только совпадение типов. ID лида и ID контакта могут быть целыми числами, но обозначают разные сущности. Также недопустимо подставлять ID сделки в специализированный вход лида.

Если данные проходят через условие, общий блок должен получать результат выполненной ветви. В контактном примере для этого используется слияние. Признак created берётся из фактического результата создания: перед записью контакт мог уже появиться, и тогда значение будет «Нет».

Передайте данные текущей карточки на стадии

После проверки схемы создайте неизменяемую версию и зарегистрируйте робота. В автоматизации CRM добавьте нужную версию и откройте настройки шага.

Для входа текущего документа выбирайте поле средствами Битрикс24. Если используется встроенное окно «Настройки шага сценария», различайте источники:

Источник Что передаётся Пример
«Заданное значение» Постоянное значение подходящего типа Выбранный сотрудник
«Ссылка или выражение Битрикс24» Значение, вычисляемое Битрикс24 ID текущего лида
«Сохранить текущее значение» Уже переданный параметр без изменения Сохранённая настройка шага

Выражение Битрикс24 в режиме постоянного значения не становится ссылкой на карточку. После «Передать значения в форму» сохраните форму робота и настройки автоматизации. Повторно откройте их и проверьте сохранённые источники.

Как получить результат в следующем роботе

Используйте объявленный выход именно того шага, который выполнил сценарий. В контактном примере contact_id сообщает, с каким контактом продолжать работу, а created показывает, создал ли его этот запуск.

У следующего робота дополнительно задайте условие успеха: swb_ok=Да или swb_status=succeeded. Настройка «После предыдущего» отвечает за порядок; она не заменяет проверку результата.

Значение created=Нет само по себе не означает ошибку. Найденный существующий контакт может быть правильным успешным результатом. Разделяйте деловые признаки и состояние исполнения: «не создавали новый» и «не выполнили сценарий» описывают разные события.

Проверяйте конечное действие следующего робота. Доставленный ответ приложения ещё не доказывает, что автоматизация использовала нужный ID.

Как проверить типы и пустые значения

Начните с проверки схемы и моделирования. Для внешних блоков задаются синтетические ответы с нужными выходами. В JSON логические значения записываются как true и false, а не строками «Да» и «Нет». Отсутствующий ID и ноль также не следует считать одним значением без правила соответствующего блока.

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

Затем выполните настоящий запуск на тестовой карточке: сверьте вход в журнале, выход, фактическое состояние CRM и действие следующего шага. Моделирование не проверяет права исполнителя и настоящие записи.

Отклонение пустого обязательного списка при моделировании

Пустой обязательный список отклонён ещё до выполнения блоков. Такой отказ нужно отличать от осмысленного отрицательного бизнес-результата.

Частые вопросы

Почему следующий робот не видит рассчитанное значение?

Проверьте объявленный выход, его привязку в блоке результата, выбранную версию и сохранённые настройки следующего шага.

Можно заменить ID лида на ID сделки?

Только если вся схема и её операции рассчитаны на сделку. Одного изменения названия или типа входа недостаточно.

Изменение входов обновляет подключённого робота?

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

Приложение из статьи

  • Конструктор роботов

    Создавайте собственных роботов в визуальном редакторе: связанные действия, условия, ветвления, последовательные циклы и обработка данных. С моделированием, версиями и журналом запусков.