Выбрать контакт компании для связи
Робот «Выбрать контакт компании для связи» находит связанный контакт с подходящим телефоном или почтой по явным правилам роли и приоритета.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую задачу решает
Менеджеру клиентской компании и администратору процесса, который выбирает один контактный телефон или адрес почты по согласованному приоритету.
У компании бывает несколько контактов и несколько каналов каждого. Первый попавшийся адрес не обязательно принадлежит нужному сотруднику. Робот учитывает роль, основной контакт, порядок и тип значения, возвращая выбранный канал без отправки сообщения.
Параметры и подготовка
| Поле | Как заполнить |
|---|---|
ID компании (COMPANY_ID) |
Обязательное поле |
Канал (CHANNEL) |
Обязательное поле. Телефон (PHONE); Почта (EMAIL) |
Типы значений по приоритету JSON (VALUE_TYPES) |
Обязательное поле |
Допустимые роли JSON (ROLE_IDS) |
Обязательное поле |
Приоритет контактов (POLICY) |
Обязательное поле. Основной, порядок, ID (primary_sort) |
Перед настройкой выберите, откуда процесс получит каждое значение: постоянная настройка, поле карточки или результат предыдущего шага. Подписи в таблице соответствуют полям робота. Коды в скобках помогают различать похожие параметры при передаче данных между шагами.
Как использовать
- Укажите COMPANY_ID, выберите CHANNEL=PHONE либо EMAIL. ID компании берите из карточки CRM.
- Передайте VALUE_TYPES непустым массивом типов в порядке предпочтения, например WORK перед MOBILE. Для ролей задайте ROLE_IDS; [] разрешает все роли.
- Явно выберите POLICY=primary_sort. Приоритет применяется последовательно: основной контакт, SORT, ID контакта, тип значения, ID канала.
- После статуса проверьте found. Используйте value вместе с contactId и fieldId, чтобы понимать, у кого выбран канал. Согласие на коммуникацию проверяется отдельно.
Как заполнить JSON-поля
Типы значений по приоритету JSON (VALUE_TYPES)
[
"WORK",
"MOBILE"
]
От 1 до 20 типов значения канала в порядке предпочтения. Используйте коды типов, реально настроенных на портале. [] запрещён.
Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.
Допустимые роли JSON (ROLE_IDS)
[]
Пустой массив разрешает любые роли контакта. Для ограничения передайте до 20 уникальных неотрицательных целых ID, например [0]. Коды ролей нужно получить из действующих связей компании.
Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.
Учебный пример и ожидаемый результат
В учебной компании 51 есть основной контакт с рабочим телефоном и дополнительный с мобильным. Укажите CHANNEL=PHONE, VALUE_TYPES=["WORK","MOBILE"], ROLE_IDS=[], POLICY=primary_sort. Если оба подходят, ожидается канал основного контакта. Значение вернётся ровно как записано; робот не приводит телефон к международному формату.
Пример показывает подготовленные учебные данные. Фактический результат зависит от переданных значений и доступных данных вашего процесса.
Что возвращает и как продолжить процесс
- «ID выбранного контакта» (
contactId). - «ID значения канала» (
fieldId). - «Значение канала» (
value). - «Тип значения» (
valueType). - «Подходящий канал найден» (
found). - «Число подходящих значений» (
candidateCount).
candidateCount показывает число подходящих значений каналов, а не число уникальных контактов. Один контакт может дать несколько кандидатов. found=N при успешном статусе означает отсутствие подходящего доступного канала по правилам.
Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.
Ограничения и разбор ошибок
Принимает COMPANY_ID, CHANNEL PHONE/EMAIL, VALUE_TYPES: 1–20 типов значения в порядке предпочтения, ROLE_IDS: до 20 разных неотрицательных ролей (пустой массив: все роли), POLICY primary_sort. Среди подходящих контактов выбирает по основному признаку, SORT, ID контакта, приоритету типа значения и ID записи канала. Читает до 100 связанных контактов, до 1000 значений каналов у контакта. Возвращает contactId, fieldId, value, valueType, found и число подходящих значений. Неизвестные необходимые данные вызывают ошибку; явный пустой список каналов допустим. Значение возвращается как записано в карточке: доставка, согласие на рассылку и актуальность номера не проверяются. Ничего не отправляет и не изменяет.
Читается до 100 связанных контактов и до 1000 значений каналов у каждого. Неизвестные необходимые данные вызывают ошибку. Доставка письма, актуальность номера и согласие на рассылку не проверяются; робот ничего не отправляет.