# Данные для подстановки

В автоподстановку можно вставить три вида данных: данные самого контакта, его переменные и глобальные переменные бота.

## Данные контакта

Пишутся без знака `$`: `{{ first_name }}`, `{{ phone }}`.

| Запись | Что подставится |
|---|---|
| `{{ name }}` | Имя контакта целиком, как в мессенджере или как его сохранил бот |
| `{{ first_name }}` | Первое слово имени |
| `{{ last_name }}` | Второе слово имени |
| `{{ phone }}` | Телефон |
| `{{ email }}` | Почта |
| `{{ address }}` | Адрес |
| `{{ username }}` | Имя пользователя в мессенджере (username) |
| `{{ id }}` | Номер контакта в Watbot |
| `{{ bot_id }}` | Номер бота |
| `{{ created_at }}` | Когда контакт впервые написал боту, в виде `2026-10-02 14:30:00` (UTC) |
| `{{ start_message }}` | Первое сообщение, которое контакт отправил боту |
| `{{ telegram_id }}` | ID пользователя в Telegram |
| `{{ max_id }}` | ID пользователя в MAX |
| `{{ amocrm_lead_id }}`, `{{ amocrm_contact_id }}` | ID сделки и контакта в amoCRM |
| `{{ bitrix_lead_id }}`, `{{ bitrix_deal_id }}`, `{{ bitrix_contact_id }}` | ID лида, сделки и контакта в Битрикс24 |

Если у контакта таких данных нет — например, телефон не указан, — вставка заменится пустым местом.

> [!NOTE]
> В отдельных блоках есть свои данные. Например, в тексте уведомления о новом реферале доступны `{{ name }}` (имя приглашённого) и `{{ level }}` (линия), в блоке «Распределение по группам» — `{{ name_list }}` и `{{ group_number }}`. Они описаны в настройках этих блоков.

## Переменные контакта

Переменные хранят ответы контакта и всё, что бот сохранил по ходу сценария. Пишутся со знаком `$` перед именем:

```
Вы выбрали город {{ $город }}.
```

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

### Если в имени переменной есть пробелы

После знака `$` бот читает имя только до первого пробела. Поэтому переменную, в имени которой есть пробел, через `$` записать нельзя: бот не поймёт, где имя заканчивается.

Для таких имён есть функция `var`. Имя пишется в кавычках, точно так же, как переменная названа в боте:

```
{{ var("Имя клиента") }}, спасибо за заявку!
```

Как записать:

1. Скопируйте имя переменной из бота — большие и маленькие буквы, пробелы и знаки должны совпадать.
2. Возьмите имя в кавычки: `"Имя клиента"`.
3. Оберните в `var( )`: `{{ var("Имя клиента") }}`.

| Переменная в боте | Как вставить |
|---|---|
| `город` | `{{ $город }}` |
| `Имя клиента` | `{{ var("Имя клиента") }}` |
| `Дата записи` | `{{ var("Дата записи") }}` |
| `Сумма заказа, руб` | `{{ var("Сумма заказа, руб") }}` |

`var` работает и в [выражениях](https://support.watbot.ru/chatbots/templates/expressions), как любое другое значение:

```
{{ upper(var("Имя клиента")) }}, к оплате {{ var("Сумма заказа, руб") * 0.9 }} ₽
```

> [!TIP]
> Проще всего называть переменные без пробелов: `имя_клиента`, `дата_записи`. Тогда хватит короткой записи: `{{ $имя_клиента }}`.

> [!NOTE]
> Если в ваших сценариях имена с пробелами уже вставлены через `$` без выражений, такие вставки продолжат работать. В новых текстах используйте `var`.

## Глобальные переменные

Глобальные переменные задаются в настройках бота и одинаковы для всех контактов: курс валюты, адрес офиса, ссылка на оплату. Пишутся без `$`, точно как названы в настройках:

```
Наш адрес: {{ адрес_офиса }}
```

### Если в имени глобальной переменной есть пробелы или скобки

Используйте функцию `global` — имя в кавычках, точно как в настройках бота:

```
Курс на сегодня: {{ global("Курс (USD)") }} ₽
```

Внутри выражений глобальная переменная всегда читается через `global`, даже если в имени нет пробелов:

```
Итого в долларах: {{ round($сумма / global("Курс (USD)"), 2) }}
```

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

> [!WARNING]
> Значение глобальной переменной выводится как есть, автоподстановки внутри значения не раскрываются. Если в значении написано `Здравствуйте, {{ $Имя }}`, контакт увидит именно этот текст. Пишите такой текст прямо в блоке.

## Значения — это текст

Все данные и переменные хранятся как текст. В выражениях числа в тексте считаются числами: если в `$количество` записано `3`, выражение `{{ $количество * 2 }}` даст `6`. Текст, который не похож на число, посчитать нельзя — такая вставка заменится пустым местом, а причина появится в превью.
