# Travailler avec les tags MaviBot

## Créer / supprimer une étiquette

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

<details>

<summary>Description</summary>

Les balises MaviBot s’affichent dans un profil client comme suit :

<div data-with-frame="true"><figure><img src="/files/15f63ed9a97734744a0d904be990716b02088888" alt="" width="355"><figcaption><p>Balises dans un profil client</p></figcaption></figure></div>

et dans le **« Listes »**  :

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

**create\_label(label\_name)**\
crée une balise MaviBot avec le nom spécifié

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;label\_name**- nom de la balise, spécifié entre apostrophes simples ('').

**add\_label(label\_name, client\_id)**\
ajoute une balise MaviBot au client&#x20;

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;label\_name -** nom de la balise, spécifié entre apostrophes simples ('')\
**client\_id** ID du client. S’il est omis, l’ID du client actuel est utilisé&#x20;

**remove\_label(label\_name, client\_id)**\
supprime la balise du client&#x20;

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;label\_name** - nom de la balise, spécifié entre apostrophes simples ('')\
**client\_id** -ID du client. S’il est omis, l’ID du client actuel est utilisé

**has\_label(label\_name, client\_id**) - vérifie si le client a la balise&#x20;

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;label\_name** - nom de la balise, spécifié entre apostrophes simples ('')\
**client\_id** - ID du client. S’il est omis, l’ID du client actuel est utilisé

**remove\_label\_everywhere(label\_name)**\
supprime la balise de tous les clients

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;label\_name**- nom de la balise, spécifié entre apostrophes simples ('')

**count\_of\_clients\_with\_label(label\_name)**\
obtient le nombre total de clients avec la balise

Paramètres :\ <mark style="color:red;">**!**</mark>**&#x20;label\_name**- nom de la balise, spécifié entre apostrophes simples ('')

</details>

<details>

<summary>Exemple</summary>

Voyons donc **comment une balise MaviBot est créée**.

Il vous suffit d’exécuter la fonction de création une seule fois dans le bloc gris (un bloc sans état), par exemple :

<div data-with-frame="true"><figure><img src="/files/f53bea8e4f098362e895d33d12f4cd182b5a9cd6" alt=""><figcaption><p>   Création d’une balise à l’aide de la fonction calculatrice</p></figcaption></figure></div>

En même temps, la variable ***a*** peut être utilisée pour analyser le succès de la fonction de création de balise :

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

Ensuite, vous pouvez **attribuer une balise à n’importe quel client** en ajoutant la `add_label()` fonction dans le bloc approprié de votre tunnel :

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

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

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

Vous pouvez vérifier si un client possède une balise à l’aide de la `has_label()` fonction :

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

La fonction renvoie une valeur logique : Vrai ou Faux.&#x20;

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

**Les autres actions liées aux balises sont effectuées de la même manière**— suppression d’une balise d’un client spécifique ou suppression complète d’une balise de tous les clients.

Vous pouvez également compter le nombre de clients ayant une balise donnée en utilisant la `count_of_clients_with_label()` fonction.

<div data-with-frame="true"><figure><img src="/files/f209a60591b40612553c421f3b0d42790390e264" alt="" width="375"><figcaption><p>Comptage du nombre de clients par balise donnée</p></figcaption></figure></div>

</details>

<details>

<summary>Exemple de code à copier</summary>

`/Créer une balise/ a=create_label('tag1')`

`/Attribuer une balise au client/ a=add_label('stage 1')`

`/Vérifier si le client a la balise/ a=has_label('этап 1','73704021')`

`/Compter le nombre de clients avec la balise donnée/ etap1=count_of_clients_with_label('stage 1') tovar1=count_of_clients_with_label('1')`

</details>

## Création d’une balise

<details>

<summary>Description</summary>

**create\_label(label\_name)** - crée une balise MaviBot avec le nom spécifié

Paramètres :

<mark style="color:red;">**!**</mark>**&#x20;label\_name**- nom de la balise, spécifié entre apostrophes simples ('')

</details>

### Création d’une balise sans doublons

<details>

<summary>Description</summary>

**create\_label\_if\_not\_exist(name, color) -** crée une nouvelle balise si aucune balise portant le même nom n’existe encore et renvoie son identifiant ; sinon, renvoie l’identifiant de la balise existante

**name** — nom de la balise

**color** — couleur de la balise (par défaut : 0)

Table des couleurs pour **color** paramètre :

0 — gris clair&#x20;

1 — jaune

2 — bleu&#x20;

3 — rouge

4 — rose

5 — beige&#x20;

6 — violet

7 — bleu clair&#x20;

8 — gris

9 - vert

</details>

### Obtenir toutes les balises du client

<details>

<summary>Description</summary>

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

***Paramètres :***

**client\_id** - facultatif ; si non fourni, les balises du client actuel seront récupérées.

La fonction renvoie une réponse au format JSON : {"161":"tag1","228":"tag2"}, où : la clé est l’ID de la balise, et la valeur est le nom de la balise

</details>

<details>

<summary>Exemple</summary>

<figure><img src="/files/db0fc29745a239edb69d353a81b525dfae61bba9" alt="" width="375"><figcaption><p>Obtenir toutes les balises du client actuel</p></figcaption></figure>

</details>

### Supprimer les balises du client par tableau

<details>

<summary>Description</summary>

**remove\_multiple\_client\_labels(labels\_array, names) -** supprime les balises spécifiées dans le tableau

**labels\_array** - tableau des balises. <mark style="color:$primary;">OU</mark> <mark style="color:orange;">**ID**</mark> tableau<mark style="color:orange;">**,**</mark> <mark style="color:$primary;">OU</mark> <mark style="color:orange;">**names**</mark> tableau.&#x20;

<mark style="color:orange;">Si le tableau names est passé</mark>, alors<mark style="color:orange;">❗il est obligatoire de passer le deuxième paramètre (names) défini à 1.</mark>

**names** - défini à 1 si le tableau contient des noms de balises au lieu d’ID. Cela indique que le tableau est constitué de noms.

{% hint style="danger" %}
Il n’est PAS permis de combiner des ID de balises et des noms de balises dans la même fonction !
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

`/*Supprimer des balises par ID*/`

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

`/*Supprimer des balises par nom de balise*/`

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

La variable stocke le résultat de l’exécution de la fonction : soit un message d’erreur, soit un nombre indiquant combien de balises ont été supprimées.

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

</details>

### Trouver des clients par plusieurs balises

<details>

<summary>Description</summary>

**find\_clients\_by\_multiple\_labels(labels\_array, names)** - trouve des clients par plusieurs balises

{% hint style="warning" %}
IMPORTANT ! Cela ne trouve que les clients qui possèdent TOUTES les balises spécifiées.
{% endhint %}

Paramètres :

**labels\_array** - tableau des balises. <mark style="color:$primary;">OU</mark> <mark style="color:orange;">**ID**</mark> tableau<mark style="color:orange;">**,**</mark> <mark style="color:$primary;">OU</mark> <mark style="color:orange;">**names**</mark> tableau.&#x20;

<mark style="color:orange;">Si le tableau names est passé</mark>, alors<mark style="color:orange;">❗il est obligatoire de passer le deuxième paramètre (names) défini à 1.</mark>

**names** - défini à 1 si le tableau contient des noms de balises au lieu d’ID. Cela indique que le tableau est constitué de noms.

{% hint style="danger" %}
Il n’est PAS permis de combiner des ID de balises et des noms de balises dans la même fonction !
{% endhint %}

Renvoie un tableau d’ID de clients (client\_id) : \[41121, 41192, 41522]

</details>

<details>

<summary>Exemple</summary>

`/*Trouver les clients qui possèdent toutes les balises spécifiées par ID*/`

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

`/*Trouver les clients qui possèdent toutes les balises spécifiées par noms de balises*/`

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

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

</details>

### Vérifier le tableau des balises du client

<details>

<summary>Description</summary>

**has\_client\_multiple\_labels(labels\_array, names)** - vérifie le tableau des balises du client

{% hint style="warning" %}
IMPORTANT ! Il renvoie **True** si un client possède toutes les balises spécifiées !
{% endhint %}

Paramètres :

**labels\_array** - tableau des balises. <mark style="color:$primary;">OU</mark> <mark style="color:orange;">**ID**</mark> tableau<mark style="color:orange;">**,**</mark> <mark style="color:$primary;">OU</mark> <mark style="color:orange;">**names**</mark> tableau.&#x20;

<mark style="color:orange;">Si le tableau names est passé</mark>, alors<mark style="color:orange;">❗il est obligatoire de passer le deuxième paramètre (names) défini à 1.</mark>

**names** - défini à 1 si le tableau contient des noms de balises au lieu d’ID. Cela indique que le tableau est constitué de noms.

{% hint style="danger" %}
Il n’est PAS permis de combiner des ID de balises et des noms de balises dans la même fonction !
{% endhint %}

Renvoie soit **une erreur**, ou **True** si le client possède toutes les balises du tableau, ou **Faux** si le client ne possède pas toutes les balises.

</details>

<details>

<summary>Exemple</summary>

`/*Vérifier si le client possède toutes les balises spécifiées par ID*/`

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

`/*Vérifier si le client possède toutes les balises spécifiées par noms de balises*/`

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

<div data-with-frame="true"><figure><img src="/files/7eaed426280cff5805e8d923494630b8644d8cb8" 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/fr/chatbot/functions/calculatrice/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.
