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

Практически в каждом роботе или активити вам предстоит использовать номер телефона. Давайте разберёмся, как это делать правильно.

В карточке CRM (лид, контакт, компания) есть возможность использовать как один, так и несколько номеров телефонов, причём с разными типами (мобильный, рабочий, для рассылок, другой, и т.д.).

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

Когда вы передаёте номер (номера) телефонов в робот или активити, то они могут передаваться как массив номеров – **{{Телефон}} / {=Document:PHONE}** (также **{{Контакт: Телефон}}** и **{{Компания: Телефон}}**) или как текстовая строка – **{{Телефон (текст)}}** **/ {=Document:PHONE\_PRINTABLE}** (также **{{Контакт: Телефон (текст)}}** и **{{Компания: Телефон (текст)}}**).

{% hint style="warning" %}
Обратите внимание, что переменная **{{Телефон}} / {=Document:PHONE} / {{Контакт: Телефон}} / {{Компания: Телефон}}** или **{{Телефон (текст)}} / {=Document:PHONE\_PRINTABLE}** **/ {{Контакт: Телефон (текст)}} / {{Компания: Телефон (текст)}}** собирает и передаёт номера ВСЕХ типов.

**Если в робот передан подобный массив номеров или текстовая строка с номерами и их там несколько – отправка будет осуществлена на первый номер в списке, на котором есть WhatsApp!**
{% endhint %}

Чтобы исключить ошибки, можно воспользоваться одним из способов, описанных ниже.

### **Используйте отдельный тип телефона для отправки сообщений в WhatsApp**

Например, «Для рассылок». Возможные варианты, которые могут принимать переменные:

* {{Телефон для рассылок}} / Document:PHONE\_MAILING}.
* {{Контакт: Телефон для рассылок}}.
* {{Компания: Телефон для рассылок}}.
* {{Телефон для рассылок (текст)}}.
* {{Контакт: Телефон для рассылок (текст)}}.
* {{Компания: Телефон для рассылок (текст)}}.

При настройке робота или активити используйте один из вариантов переменной, подставляя её в поле **Номер телефона (кому отправляем).**

<figure><img src="https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcuJc7XlLhpPyLWZz1s%2Fuploads%2FDNgeI2umGUXLFJ7fBTVl%2Fimage.png?alt=media&#x26;token=2329a6ba-c2ad-4cd4-9e4f-43574ceb784d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcuJc7XlLhpPyLWZz1s%2Fuploads%2FGuQl2nl9wGh6e7NX4BRG%2Fimage.png?alt=media&#x26;token=019c6177-e2a0-4f78-8caa-a1b2dd73771f" alt=""><figcaption></figcaption></figure>

### **Используйте** [**функцию firstvalue**](https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=57\&LESSON_ID=4912) для указания первого значения из массива номеров.

При использовании функции **firstvalue** из массива номеров **{{Телефон}} / {=Document:PHONE} / {{Контакт: Телефон}} / {{Компания: Телефон}}** будет выбран и подставлен в робот или активити первый по счёту номер.

При настройке робота используйте один из возможных вариантов конструкций, подставляя её в поле **Номер телефона (кому отправляем):**

* {{=firstvalue({{Телефон}})}}.
* {{=firstvalue({{Контакт: Телефон}})}}.
* {{=firstvalue({{Компания: Телефон}})}}.

<figure><img src="https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcuJc7XlLhpPyLWZz1s%2Fuploads%2FpHBDr6jAIPM19OrBGg2a%2Fimage.png?alt=media&#x26;token=335552fb-1910-44a5-9e05-906180e2432b" alt=""><figcaption></figcaption></figure>

Для вызова окна функций в активити бизнес-процесса введите в поле для ввода номера телефона знак «равно» и в открывшемся окне выберите функцию **firstvalue.**

<figure><img src="https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcuJc7XlLhpPyLWZz1s%2Fuploads%2FV9ES4423W59YHpKhGqcn%2Fimage.png?alt=media&#x26;token=676c3c2f-d93e-4a7e-ab9f-4a5eece5fec0" alt=""><figcaption></figcaption></figure>

В круглых скобках функции укажите массив номеров, из которых нужно выбрать первое значение. Например, **{{Контакт: Телефон}}.**

<figure><img src="https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcuJc7XlLhpPyLWZz1s%2Fuploads%2FxPLbrX8KvroUy1cUGvUM%2Fimage.png?alt=media&#x26;token=25c90568-a53a-49c2-8079-361b524ca9d2" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Обратите внимание, что при использовании функции **firstvalue** переменную **{{Телефон}} / {{Контакт: Телефон}} / {{Компания: Телефон}}** нужно передавать без модификатора «(текст)», т.к. важно передавать именно массив номеров.
{% endhint %}

**Используйте активити** [**Итератор**](https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=57\&LESSON_ID=10481)**,** чтобы перебрать номера в массиве и задать свою логику для каждого из номеров массива

{% hint style="warning" %}
Данный способ работает только в том случае, если на вашем тарифе Битрикс24 доступен дизайнер бизнес-процессов.
{% endhint %}

Создайте переменную бизнес-процесса.

![](https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcuJc7XlLhpPyLWZz1s%2F-LzPQQY_2faFHS9DH95K%2F-LzP_UGmZt8O9z38mELZ%2Fimage.png?alt=media\&token=6a278081-642e-4318-85b3-5b87f61cbaf2)

Добавьте активити «Изменение переменных» и «Итератор».

Установите переменную для этих активити.

![](https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcuJc7XlLhpPyLWZz1s%2F-LzPQQY_2faFHS9DH95K%2F-LzPinQ21PFlsrN8qZmP%2Fimage.png?alt=media\&token=6e94cf74-cd1a-45d8-8500-9f1de2653d14)

![](https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LcuJc7XlLhpPyLWZz1s%2F-LzPQQY_2faFHS9DH95K%2F-LzPj-MonmoQX4Sv3_4k%2Fimage.png?alt=media\&token=a9c8eac2-a734-40f0-93bb-8a806d88b2f0)

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

{% hint style="info" %}
Помните, что во всех вышеописанных способах вам необходимо учитывать ещё одно обстоятельство, а именно – наличие WhatsApp на номере, на который делается отправка.

В настоящее время проверка номера на наличие WhatsApp осуществляется сразу при отправке сообщения. Если отправка осуществляется на номер, на котором не установлен WhatsApp, в дополнительных результатах выполнения активити вы получите ошибку **«NW»** а в описании ошибки — более развёрнутое её описание: **«Ошибка при отправке: телефонный номер 7961\*\*\*\*\*57 не найден в WhatsApp».**
{% endhint %}

<figure><img src="https://2213176759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LcuJc7XlLhpPyLWZz1s%2Fuploads%2FDMzSyV25bxKeKZt7qHkc%2Fimage.png?alt=media&#x26;token=7d50d90a-81be-4390-a1bc-c899d8e771ae" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Если вы хотите явно получить результат проверки номера на наличие WhatsApp и использовать его в ваших сценариях работы, проверку номера из массива номеров на наличие WhatsApp можно также осуществлять с помощью итератора. Подробнее в статье [proverka-telefona](https://docs.olchat.io/roboty-i-aktiviti/roboty/proverka-telefona "mention")
{% endhint %}
