CRM роботы 2.0 + AI (300+ роботов)

Преобразовать данные по таблице соответствий

Робот «Преобразовать данные по таблице соответствий» переносит выбранные данные в новые поля с явными типами, значениями по умолчанию и справочником замен.

Настройки робота «Преобразовать данные по таблице соответствий» в Битрикс24

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.

Для кого и какую задачу решает

Автору процесса, которому нужно согласовать разные названия и типы полей двух источников: например, client.id преобразовать в customerId.

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

Параметры и подготовка

Поле Как заполнить
Исходный объект JSON (JSON) Обязательное поле
Правила JSON (RULES) Обязательное поле

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

Как использовать

  1. Передайте исходный JSON-объект. Подготовьте правила: from содержит путь массивом ключей/индексов, to задаёт уникальное имя итогового поля верхнего уровня.
  2. Выберите type из keep/string/number/integer/boolean. По умолчанию keep сохраняет тип. Добавьте required=true, если отсутствие пути должно попасть в ошибки.
  3. При необходимости задайте default для отсутствующего пути или values с парами from/to для ограниченного словаря. Default не заменяет найденный null.
  4. После выполнения проверьте общий статус и «Все правила выполнены». При ошибках итоговый объект может быть частичным; не передавайте его в действие, требующее полного набора.

Как заполнить JSON-поля

Исходный объект JSON (JSON)

{
  "client": {
    "id": "42"
  },
  "memo": "учебный"
}

Источник обязан быть объектом; пустой {} допустим.

Приведён пример JSON-объекта. Для исходного документа допустимость массива [] или скалярного значения определяется выбранной операцией и схемой; этот пример не ограничивает все возможные входы объектами.

Правила JSON (RULES)

[
  {
    "from": [
      "client",
      "id"
    ],
    "to": "customerId",
    "type": "integer",
    "required": true
  }
]

До 50 правил. from: путь ключей/индексов; to: уникальное имя верхнего поля; type по умолчанию keep. default действует только при отсутствии пути; values при необходимости содержит [{"from":"old","to":"new"}]. [] допустим и не формирует целевые поля.

Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.

Учебный пример и ожидаемый результат

Источник {"client":{"id":"42"},"memo":"учебный"}, правила [{"from":["client","id"],"to":"customerId","type":"integer","required":true}]. Ожидается {"customerId":42}, признак успешных правил включён, список неиспользованных верхних полей содержит memo. При отсутствии client.id без default появится ошибка обязательного поля.

Пример показывает подготовленные учебные данные. Фактический результат зависит от переданных значений и доступных данных вашего процесса.

Что возвращает и как продолжить процесс

  • «Преобразованный объект JSON» (resultJson).
  • «Все правила выполнены» (valid).
  • «Ошибки правил JSON» (errorsJson).
  • «Неиспользованные поля JSON» (unmappedJson).

«Преобразованный объект JSON» содержит успешно сформированные поля. «Ошибки правил JSON» объясняет пропущенные обязательные значения и неудачные преобразования. «Неиспользованные поля JSON» представляет имена верхних полей, не затронутых правилами, а не копию всей исходной информации.

Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.

Ограничения и разбор ошибок

Правила: [{"from":["client","id"],"to":"customerId","type":"integer","required":true}]. До 50 правил; from: путь ключей/индексов до 64 уровней, to: уникальное поле верхнего уровня. Типы keep/string/number/integer/boolean, по умолчанию keep. default применяется только при отсутствии пути; null сохраняется в keep; string/number/integer/boolean не принимают null. values: необязательная таблица [{"from":"old","to":"new"}], до 100 пар; неизвестное значение: ошибка. Данные не исполняются. Возвращает частичный результат, ошибки и неиспользованные поля верхнего уровня; valid=N при ошибках. Пустой объект и пустой список правил допустимы. JSON и каждый результат до 1 МБ.

Таблица values должна покрывать все ожидаемые значения: неизвестный вариант даёт ошибку. Целевые поля должны быть уникальными. Робот не исполняет формулы или команды из данных и не сохраняет объект на портале автоматически.