# Как получить телефон пользователя

Для получения номера телефона пользователя в любом месте [сценария](/scenarii/osnovy.md) создайте шаг ["отправить сообщение"](/scenarii/deistviya/otpravit-soobshenie.md) с запросом телефона:

<figure><img src="/files/RwYP19bEISPUF6V9FBKw" alt=""><figcaption></figcaption></figure>

Затем добавьте шаг ["обработать сообщение"](/scenarii/deistviya/obrabotat-soobshenie.md).

{% hint style="info" %}
Шаг **обработать сообщение** может подождать сообщение от пользователя и сохранить его в переменную, проверив на соответствие определенному формату, например, формату телефона.
{% endhint %}

Выберите галочку "проверять формат сообщения" и в поле фильтр установите "телефон".

<figure><img src="/files/8tPy8ZcHv7vqdy7ShU9c" alt=""><figcaption></figcaption></figure>

Теперь бот будет ждать ответ от пользователя и проверит, что введенное сообщение – телефон.

Чтобы сохранить телефон для последующего использования, например, для отправки в CRM, нужно создать [переменную](/scenarii/peremennye.md).

В поле **"Записать в"** выберите "создать новую переменную":

<figure><img src="/files/LJAXMMDTU874WZQlmUro" alt=""><figcaption></figcaption></figure>

Введите название переменной, например, "телефон":

<figure><img src="/files/XvRCQ7DE7iSzPWeQLKTT" alt=""><figcaption></figcaption></figure>

Отлично! Теперь бот спросит телефон и сохранит его в нужную переменную.

## Как обработать ошибку

Если сообщение пользователя не подходит под заданный формат (телефон), вы можете установить поле **"выход в случае ошибки"** или протянуть стрелку от иконки ошибки в блоке Обработки сообщения:

<figure><img src="/files/CYkQrBgx0xbZlRCZ7ZhM" alt=""><figcaption><p>В случае ошибка бот попросит заново ввести телефон и вернется на шаг обработки</p></figcaption></figure>

## Получение телефон в Telegram

В Telegram существует возможность получить телефон через отправку контакта. Для этого есть специальная кнопка **"отправить телефон"**.

В шаге "отправить сообщение" добавьте кнопку. Выберите тип "отправить телефон" и переменную, в которую хотите его записать:

<figure><img src="/files/bmRotnKkdD7GgTROF3pV" alt=""><figcaption></figcaption></figure>

Когда пользователь нажмет на эту кнопку, бот получит контакт и сохранит его в заданную переменную.

После этого протяните стрелку из кнопки на любой шаг. Бот перейдет по этой стрелке после успешного получения контакта.

<figure><img src="/files/QmeDmgewX9W5HkATfRFR" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Обратите внимание! После добавления кнопки, бот будет ждать ответного сообщения (или нажатия на кнопку) сразу в шаге "отправить сообщение". Поэтому ожидание ответа нужно убрать из следующего шага обработки сообщения.
{% endhint %}

<figure><img src="/files/W2T8oXi4G7cKAF7eUje0" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.smartbotpro.ru/recepty/kak-poluchit-telefon-polzovatelya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
