# Робота з тегами 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/67581c6ab27c5132673ca8f3d6f3552f8a8ea653" alt="" width="355"><figcaption><p>Мітки в профілі клієнта</p></figcaption></figure></div>

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

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

**create\_label(label\_name)**\
створює мітку MaviBot із вказаною назвою

Параметри:\ <mark style="color:red;">**!**</mark>**&#x20;label\_name**- назва мітки, вказана в одинарних лапках ('').

**add\_label(label\_name, client\_id)**\
додати мітку MaviBot клієнту&#x20;

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

**remove\_label(label\_name, client\_id)**\
видалити мітку з клієнта&#x20;

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

**has\_label(label\_name, client\_id**) - перевірити, чи має клієнт мітку&#x20;

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

**remove\_label\_everywhere(label\_name)**\
видалити мітку в усіх клієнтів

Параметри:\ <mark style="color:red;">**!**</mark>**&#x20;label\_name**- назва мітки, вказана в одинарних лапках ('')

**count\_of\_clients\_with\_label(label\_name)**\
отримати загальну кількість клієнтів із міткою

Параметри:\ <mark style="color:red;">**!**</mark>**&#x20;label\_name**- назва мітки, вказана в одинарних лапках ('')

</details>

<details>

<summary>Приклад</summary>

Отже, давайте подивимося **як створюється мітка MaviBot**.

Потрібно лише один раз виконати функцію створення в сірому блоці (незначущому блоці), наприклад:

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

Водночас змінну ***a*** можна використовувати для аналізу успішності функції створення мітки:

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

Далі ви можете **призначити мітку будь-якому клієнту** додавши `add_label()` функцію у відповідному блоці вашої воронки:

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

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

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

Ви можете перевірити, чи має клієнт мітку, використовуючи `has_label()` функцію:

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

Функція повертає логічне значення: True або False.&#x20;

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

**Інші дії, пов’язані з мітками, виконуються аналогічно**— видалення мітки з конкретного клієнта або повне видалення мітки в усіх клієнтів.

Ви також можете підрахувати кількість клієнтів із певною міткою, використовуючи `count_of_clients_with_label()` функцію.

<div data-with-frame="true"><figure><img src="/files/5132dd664808002dfab3d54175dc9a93a275e7db" 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:red;">**!**</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/5a44f4385eec5a94e901ec653878cc1c75f312e4" 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;">OR</mark> <mark style="color:orange;">**ID**</mark> масив<mark style="color:orange;">**,**</mark> <mark style="color:$primary;">OR</mark> <mark style="color:orange;">**names**</mark> масив.&#x20;

<mark style="color:orange;">Якщо передано масив names</mark>до іншого сервісу<mark style="color:orange;">❗обов’язково передати другий параметр (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/40447ec0e5a8d851e9d01b2112f6a4816e8081e8" 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;">OR</mark> <mark style="color:orange;">**ID**</mark> масив<mark style="color:orange;">**,**</mark> <mark style="color:$primary;">OR</mark> <mark style="color:orange;">**names**</mark> масив.&#x20;

<mark style="color:orange;">Якщо передано масив names</mark>до іншого сервісу<mark style="color:orange;">❗обов’язково передати другий параметр (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/20c0116fb32da12ae8e00a7eed309f5cfc5abcd9" 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;">OR</mark> <mark style="color:orange;">**ID**</mark> масив<mark style="color:orange;">**,**</mark> <mark style="color:$primary;">OR</mark> <mark style="color:orange;">**names**</mark> масив.&#x20;

<mark style="color:orange;">Якщо передано масив names</mark>до іншого сервісу<mark style="color:orange;">❗обов’язково передати другий параметр (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/4b1596558e5adcabd064ab7966419e45ceda53a0" 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/uk/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.
