> For the complete documentation index, see [llms.txt](https://docs.suvvy.ai/ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.suvvy.ai/ru/osnovnye-nastroiki/opovesheniya-ot-savvi/nastraivaemye-uvedomleniya-v-tg.md).

# Настраиваемые уведомления в ТГ

Если стандартные оповещения от **Савви** Вам не подходят, то Вы можете настроить **оповещения** в свой **ТГ бот** используя механизм [Веб-хуков](/ru/deistviya/veb-khuki.md).

Чтобы настроить кастомные оповещения в свой **ТГ бот**, надо выполнить несколько простых действий:

1. Создайте бота в **BotFather**.

Подробную инструкцию, как создать бота в **BotFather** Вы можете найти в разделе руководства [Telegram](/ru/kanaly/messendzhery/telegram.md#podklyuchenie)

2. Получите **id** чата (**chat\_id**) , в который будут направлены сообщения с оповещениями.

**а.** Если хотите получать уведомления в бот, то Вы должны получить свой персональный **user\_id** - он же и будет использован, как **chat\_id** в дальнейшем. Как получить свой персональный **user\_id,** Вы можете прочитать по [ссылке](/ru/kanaly/messendzhery/telegram.md#kak-uznat-svoi-user-id).

**б.** Если хотите получать уведомления в группу, Вам надо получить **chat\_id** группы, куда будут приходить уведомления.

<details>

<summary>Инструкция, как получить chat_id группы.</summary>

### Шаг 1: Добавь своего бота в группу

1. Открой Telegram.
2. Перейди в нужную группу.
3. Добавь туда своего бота, как обычного участника.
4. Назначь его **админом** (если хочешь, чтобы он мог писать сообщения в группу).

#### Шаг 2: Напиши любое сообщение в группу

Любое — хоть "тест" от себя, хоть что-то другое. Это нужно, чтобы в группе появилась активность.

#### Шаг 3: Получи обновления через Telegram Bot API

1. В браузере введи в строку URL-адреса:

```
https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/getUpdates

```

> Где <ТВОЙ\_ТОКЕН> - токен Вашего ТГ бота.

Пример :

```
https://api.telegram.org/bot123456789:ABCDEF1234567890abcdef12345678/getUpdates
```

2. В ответ придёт **JSON**, в котором будет что-то типа:

<pre class="language-json"><code class="lang-json"><strong>{  
</strong>  "update_id": 123456789,
  "message": {
    "chat": {
      "id": -1001234567890,
      "title": "Название группы",
      "type": "supergroup"
    },
    ...
  }
}
</code></pre>

#### Шаг 4: Используй `chat_id` из ответа

Вот этот **`id`**:

```
-1001234567890
```

— и есть `chat_id` группы. Он всегда **отрицательный**.

</details>

3. В Савви переходим в **Действия**, нажимаем Д**обавить:**

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

4. Выбираем из списка **Вебхук**:

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

4. Заполняем поля функции

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

5. Добавляем **аргументы** и **константы**, которые будут передаваться на **вебхук**:

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

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

{% hint style="info" %}
**Аргументы** — это переменные, которые будут формироваться ботом во время диалога. И зависят они от ответов пользователя

**Константы** — это параметры, которые будут передаваться на вебхук **неизменно**. В нашем случае название бота будет всегда передаваться на вебхук, как **Бот - Эльза**
{% endhint %}

6. Настраиваем шаг **Вебхук**:

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

{% hint style="warning" %}
Вставляем в поле **URL**: `https://api.telegram.org/bot<ТВОЙ_ТОКЕН>/sendMessage` , где <mark style="background-color:blue;"><</mark><mark style="background-color:blue;">**ТВОЙ\_ТОКЕН**</mark><mark style="background-color:blue;">></mark> - это токен твоего **ТГ-бота** полученный при создании бота через **BotFather**.

Метод запроса — **POST**

Тип тела - **JSON**
{% endhint %}

8. Прописываем **Тело запроса** в формате **JSON**:

**Пример:**

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

{% hint style="danger" %}
Обратите внимание, что **аргументы** в **Тело запроса** добавляются через знак ➕ в правой части поля ввода:
{% endhint %}

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

{% tabs %}
{% tab title="Пример JSON запроса" %}

```
{
"chat_id": "446298654",
"text": "﻿{bot_name}﻿, Имя клиента: ﻿{client_name﻿}, Номер телефона: ﻿{phone_number}﻿, Как прошёл диалог: ﻿{summary}﻿"
}
```

❗️ **Аргументы** в фигурных скобках **надо заменить** на аргументы, добавленные через ➕.
{% endtab %}
{% endtabs %}

9. Нажимаем **Сохранить**:

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

10. Теперь, после того, как мы настроили **Действие** на отправку уведомления в наш ТГ, необходимо в центральный **промпт** добавить инструкцию для бота, как он должен формировать **аргументы** и в какой момент необходимо **передавать** их в функцию отправки вебхука.

{% tabs %}
{% tab title="Формирование аргументов в диалоге" %}
{% code overflow="wrap" %}

```
#ЗАДАЧА
Поздоровайся и спроси у клиента:
1. Имя и сформируй из ответа аргумент {client_name}.
2. Номер телефона и сформируй из ответа аргумент {phone_number}.
3. Род деятельности компании
После ответа клиента на последний вопрос, составь краткий пересказ диалога и сформируй из него аргумент {summary}.

Как только сформируешь все аргументы, вызови функцию tg_bot и передай в неё аргументы {client_name}, {phone_number} и {summary}
```

{% endcode %}
{% endtab %}

{% tab title="Работа с аргументами в плейсхолдере" %}

<pre data-overflow="wrap"><code><strong>#ЗАДАЧА
</strong>Поздоровайся и спроси у клиента:
1. Имя
2. Номер телефона
3. Род деятельности компании
Клиент ответит на все вопросы, вызови функцию tg_bot и передай в неё аргументы {contact_id}, {lead_id}, {manager_id}, {origin} и {source}. 
</code></pre>

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Где взять параметры {**contact\_id**}, {**lead\_id**}, {**manager\_id**}, {**origin**} и {**source**} из примера выше, если во время диалога мы их не формировали?
{% endhint %}

> Кроме аргументов, сформированных в ходе диалога из ответов клиента, бот может передать в функцию параметры, находящиеся в **placeholders.**

Параметры **placeholders** можно увидеть в экспорте диалога в самом **верху** страницы. Выглядит это таким образом:

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

{% hint style="danger" %}
В зависимости от подключённого канала, параметры, попадающие в **placeholders** могут отличаться.

Самый простой способ узнать, какие параметры мы можем с **placeholders** передать в нашу функцию — сделать **экспорт** диалога и проверить, какие именно параметры передаются Боту.
{% endhint %}

Структурирование сообщений

Если текст Вашего уведомления достаточно объемный, то лучше настроить таким образом, чтобы каждая строчка была с новой строки для облегчения восприятия информации. Для этого можно настроить перенос текста.

Настройка

В действии необходимо добавить **Константу**, содержащую оператор переноса строки **"\n"**.

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

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

<figure><img src="/files/5mxw8U2GtaK5U9JkFFBe" alt=""><figcaption></figcaption></figure>

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.suvvy.ai/ru/osnovnye-nastroiki/opovesheniya-ot-savvi/nastraivaemye-uvedomleniya-v-tg.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
