Как в бизнес-процессе проверить, есть у клиента карта лояльности или нет?

Описание задачи
У клиента развёрнута программа лояльности, номер карты должен быть равен номеру мобильного телефона.
Контакты создаются двумя способами:
1. Телефония, номер мобильного телефона автоматически подставляется в момент создания контакта
2. Ручной ввод силами менеджеров на основании входящих писем.

В приложении активирована опция «создавать карты для новых контактов», если контакт создаётся на основании входящего телефонного звонка, то всё ок, если контакт создают руками, то создание карты завершается ошибкой, т.к. номер мобильного телефона может быть не указан.

Варианты решения
1. Изменить бизнес-процессы клиента и добиться создания контактов только в том случае, если уже есть номер мобильного телефона, если телефона нет, то это считаем лидом.
2. Сделать бизнес-процесс на изменение контакта, который проверяет, если карты ещё нет и есть возможность её создать (добавлен номер телефона), то он создаёт её.
Общая схема бизнес-процесса с проверкой на наличие карты лояльности

Общая схема бизнес-процесса с проверкой на наличие карты лояльности

Создаём переменную бизнес-процесса «LOYALTY_CARD_NUMBER»

Переменные бизнес-процесса

LOYALTY_CARD_NUMBER — тип строка, содержит номер карты лояльности если он есть

1. Вызываем активити БП

Вызываем активити бизнес-процесса «получение карты лояльности для контакта». Идентификатор контакта передаём из поля DOCUMENT.ID

вызываем активити бизнес-процесса
Устанавливаем номер карты лояльности для Битрикс24

2. Устанавливаем номер карты

Если у контакта есть карта лояльности, то мы получаем её номер в секции «дополнительные результаты» и присваиваем его переменной.

Если карты нет, то переменная будет пустой.

3. Проверяем, есть ли карта

Если у контакта есть карта лояльности, то переменная «номер карты лояльности» будет содержать номер этой карты.

В отдельных случаях требуется проверять и активность карты.

Условие, есть ли карта?

Пример работы бизнес-процесса в виде лога — карта не найдена

Если карта не найдена

Пример работы бизнес-процесса в виде лога — карта найдена

Карта лояльности найдена

Пример работы бизнес-процесса в виде лога — карта найдена, но заблокирована

Карта лояльности найдена, но заблокирована