# Работа с тегами MaviBot

## Создать / удалить метку

create\_label() | add\_label() | remove\_label() | remove\_label\_everywhere() | count\_of\_clients\_with\_label() | has\_label()

<details>

<summary>Описание</summary>

Теги MaviBot отображаются в профиле клиента как:

<div data-with-frame="true"><figure><img src="/files/5807766deac695d50485816b462f904240454e31" alt="" width="355"><figcaption><p>Теги в профиле клиента</p></figcaption></figure></div>

и в **"Списки"** :

<div data-with-frame="true"><figure><img src="/files/242fa653cbf569d113ed1e3f796033aadb8f53a9" alt=""><figcaption></figcaption></figure></div>

**create\_label(label\_name)**\
создаёт тег MaviBot с указанным именем

Параметры:\ <mark style="color:красный;">**!**</mark>**&#x20;label\_name**- имя тега, указанное в одинарных кавычках ('').

**add\_label(label\_name, client\_id)**\
добавляет тег MaviBot клиенту&#x20;

Параметры:\ <mark style="color:красный;">**!**</mark>**&#x20;label\_name -** имя тега, указанное в одинарных кавычках ('')\
**client\_id** ID клиента. Если не указан, используется ID текущего клиента&#x20;

**remove\_label(label\_name, client\_id)**\
удаляет тег у клиента&#x20;

Параметры:\ <mark style="color:красный;">**!**</mark>**&#x20;label\_name** - имя тега, указанное в одинарных кавычках ('')\
**client\_id** -ID клиента. Если не указан, используется ID текущего клиента

**has\_label(label\_name, client\_id**) - проверить, есть ли у клиента тег&#x20;

Параметры:\ <mark style="color:красный;">**!**</mark>**&#x20;label\_name** - имя тега, указанное в одинарных кавычках ('')\
**client\_id** - ID клиента. Если не указан, используется ID текущего клиента

**remove\_label\_everywhere(label\_name)**\
удаляет тег у всех клиентов

Параметры:\ <mark style="color:красный;">**!**</mark>**&#x20;label\_name**- имя тега, указанное в одинарных кавычках ('')

**count\_of\_clients\_with\_label(label\_name)**\
получить общее количество клиентов с тегом

Параметры:\ <mark style="color:красный;">**!**</mark>**&#x20;label\_name**- имя тега, указанное в одинарных кавычках ('')

</details>

<details>

<summary>Пример</summary>

Итак, давайте посмотрим **как создаётся тег MaviBot**.

Вам нужно только один раз выполнить функцию создания в сером блоке (блоке без состояния), например:

<div data-with-frame="true"><figure><img src="/files/0b56b49c52f10c10399c7e04709654c306898601" alt=""><figcaption><p>   Создание тега с помощью функции калькулятора</p></figcaption></figure></div>

При этом переменную ***a*** можно использовать для анализа успешности функции создания тега:

<div data-with-frame="true"><figure><img src="/files/a9c94d7f33eadbdab2210a7d5ec52f382a894638" alt="" width="563"><figcaption></figcaption></figure></div>

Далее вы можете **назначить тег любому клиенту** добавив `add_label()` функцию в соответствующий блок вашей воронки:

<div data-with-frame="true"><figure><img src="/files/2fda4ece103f77ac21132d271a5e0f33440fb2a5" alt="" width="563"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/a49d8696869681677b09ebb72b0283092acfec84" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/94fde42682db24620d2c2034210a3732c4f1e758" alt="" width="319"><figcaption></figcaption></figure></div>

Вы можете проверить, есть ли у клиента тег, используя `has_label()` функцию:

<div data-with-frame="true"><figure><img src="/files/e926b7be2a21bcec3374dff91ebd3edbc34f81ae" alt=""><figcaption></figcaption></figure></div>

Функция возвращает логическое значение: True или False.&#x20;

<div data-with-frame="true"><figure><img src="/files/36a46c44ac45a3cffa39cd15f6bbfbdc55d568e5" alt=""><figcaption></figcaption></figure></div>

**Другие действия, связанные с тегами, выполняются аналогично**—удаление тега у конкретного клиента или полное удаление тега у всех клиентов.

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

<div data-with-frame="true"><figure><img src="/files/f8ff10d261723b9be8f37a2b048911a63da171cd" alt="" width="375"><figcaption><p>Подсчёт количества клиентов по заданному тегу</p></figcaption></figure></div>

</details>

<details>

<summary>Пример кода для копирования</summary>

`/Создать тег/ a=create_label('tag1')`

`/Назначить тег клиенту/ a=add_label('stage 1')`

`/Проверить, есть ли у клиента тег/ a=has_label('этап 1','73704021')`

`/Подсчитать количество клиентов с заданным тегом/ etap1=count_of_clients_with_label('stage 1') tovar1=count_of_clients_with_label('1')`

</details>

## Создание тега

<details>

<summary>Описание</summary>

**create\_label(label\_name)** - создаёт тег MaviBot с указанным именем

Параметры:

<mark style="color:красный;">**!**</mark>**&#x20;label\_name**- имя тега, указанное в одинарных кавычках ('')

</details>

### Создание тега без дубликатов

<details>

<summary>Описание</summary>

**create\_label\_if\_not\_exist(name, color) -** создаёт новый тег, если тег с таким именем ещё не существует, и возвращает его идентификатор; в противном случае возвращает идентификатор существующего тега

**name** — имя тега

**color** — цвет тега (по умолчанию: 0)

Таблица цветов для **color** параметра:

0 — светло-серый&#x20;

1 — жёлтый

2 — синий&#x20;

3 — красный

4 — розовый

5 — бежевый&#x20;

6 — фиолетовый

7 — светло-голубой&#x20;

8 — серый

9 - зелёный

</details>

### Получить все теги клиента

<details>

<summary>Описание</summary>

**get\_all\_client\_labels(client\_id)**&#x20;

***Параметры:***

**client\_id** - необязательно; если не указано, будут получены теги текущего клиента.

Функция возвращает ответ в формате JSON: {"161":"tag1","228":"tag2"}, где: ключ — ID тега, а значение — имя тега

</details>

<details>

<summary>Пример</summary>

<figure><img src="/files/5ccda2a6904a26d00f20bd1dfc2ec7907354a230" alt="" width="375"><figcaption><p>Получить все теги текущего клиента</p></figcaption></figure>

</details>

### Удалить теги клиента массивом

<details>

<summary>Описание</summary>

**remove\_multiple\_client\_labels(labels\_array, names) -** удаляет теги, указанные в массиве

**labels\_array** - массив тегов. <mark style="color:$primary;">ИЛИ</mark> <mark style="color:оранжевый;">**ID**</mark> массив<mark style="color:оранжевый;">**,**</mark> <mark style="color:$primary;">ИЛИ</mark> <mark style="color:оранжевый;">**names**</mark> массив.&#x20;

<mark style="color:оранжевый;">Если передан массив names</mark>, тогда<mark style="color:оранжевый;">❗обязательно передать второй параметр (names), установленный в 1.</mark>

**names** - установить в 1, если массив содержит имена тегов вместо ID. Это означает, что массив состоит из имён.

{% hint style="danger" %}
НЕ допускается объединять в одной функции ID тегов и имена тегов!
{% endhint %}

</details>

<details>

<summary>Пример</summary>

`/*Удалить теги по ID*/`

`r = remove_multiple_client_labels('[138,169,166]')`&#x20;

`/*Удалить теги по имени тега*/`

`r2 = remove_multiple_client_labels('["newTestTag","tag2"]', 1)`

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

<div data-with-frame="true"><figure><img src="/files/ca9e2cc7dd2a0383e734acc1558c5b2f75a9034c" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

### Найти клиентов по нескольким тегам

<details>

<summary>Описание</summary>

**find\_clients\_by\_multiple\_labels(labels\_array, names)** - находит клиентов по нескольким тегам

{% hint style="warning" %}
ВАЖНО! Эта функция находит только тех клиентов, у которых есть ВСЕ указанные теги.
{% endhint %}

Параметры:

**labels\_array** - массив тегов. <mark style="color:$primary;">ИЛИ</mark> <mark style="color:оранжевый;">**ID**</mark> массив<mark style="color:оранжевый;">**,**</mark> <mark style="color:$primary;">ИЛИ</mark> <mark style="color:оранжевый;">**names**</mark> массив.&#x20;

<mark style="color:оранжевый;">Если передан массив names</mark>, тогда<mark style="color:оранжевый;">❗обязательно передать второй параметр (names), установленный в 1.</mark>

**names** - установить в 1, если массив содержит имена тегов вместо ID. Это означает, что массив состоит из имён.

{% hint style="danger" %}
НЕ допускается объединять в одной функции ID тегов и имена тегов!
{% endhint %}

Возвращает массив ID клиентов (client\_id): \[41121, 41192, 41522]

</details>

<details>

<summary>Пример</summary>

`/*Найти клиентов, у которых есть все указанные теги, по ID*/`

`r = find_clients_by_multiple_labels('[138,169,166]')`&#x20;

`/*Найти клиентов, у которых есть все указанные теги, по именам тегов*/`

`r2 = find_clients_by_multiple_labels('["newTestTag","tag2"]', 1)`

<div data-with-frame="true"><figure><img src="/files/880998a19a001cbd464d87e50707ba827fbe921c" alt="" width="563"><figcaption></figcaption></figure></div>

</details>

### Проверить массив тегов клиента

<details>

<summary>Описание</summary>

**has\_client\_multiple\_labels(labels\_array, names)** - проверяет массив тегов клиента

{% hint style="warning" %}
ВАЖНО! Она возвращает **True** если у клиента есть все указанные теги!
{% endhint %}

Параметры:

**labels\_array** - массив тегов. <mark style="color:$primary;">ИЛИ</mark> <mark style="color:оранжевый;">**ID**</mark> массив<mark style="color:оранжевый;">**,**</mark> <mark style="color:$primary;">ИЛИ</mark> <mark style="color:оранжевый;">**names**</mark> массив.&#x20;

<mark style="color:оранжевый;">Если передан массив names</mark>, тогда<mark style="color:оранжевый;">❗обязательно передать второй параметр (names), установленный в 1.</mark>

**names** - установить в 1, если массив содержит имена тегов вместо ID. Это означает, что массив состоит из имён.

{% hint style="danger" %}
НЕ допускается объединять в одной функции ID тегов и имена тегов!
{% endhint %}

Возвращает либо **ошибку**, или **True** если у клиента есть все теги из массива, либо **False** если у клиента нет всех тегов.

</details>

<details>

<summary>Пример</summary>

`/*Проверить, есть ли у клиента все указанные теги по ID*/`

`r = has_client_multiple_labels('[138,169,166]')`

`/*Проверить, есть ли у клиента все указанные теги по именам тегов*/`

&#x20;`r2 = has_client_multiple_labels('["newTestTag","tag2"]', 1)`

<div data-with-frame="true"><figure><img src="/files/b554c0df895844109aa32b1e001d8eb47bdc40ac" alt="" width="563"><figcaption></figcaption></figure></div>

</details>


---

# 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.mavibot.ai/doc/ru/chatbot/functions/kalkulyator/tags.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.
