# Trabalhando com tags do MaviBot

## Criar / remover etiqueta

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

<details>

<summary>Descrição</summary>

As tags do MaviBot são exibidas em um perfil de cliente como:

<div data-with-frame="true"><figure><img src="/files/4b884c87e98ae5beacd128bba93c5883e6e30b78" alt="" width="355"><figcaption><p>Tags em um perfil de cliente</p></figcaption></figure></div>

e em **"Listas"** :

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

**create\_label(label\_name)**\
cria uma tag do MaviBot com o nome especificado

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;label\_name**- nome da tag, especificado entre aspas simples ('').

**add\_label(label\_name, client\_id)**\
adiciona a tag do MaviBot ao cliente&#x20;

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;label\_name -** nome da tag, especificado entre aspas simples ('')\
**client\_id** ID do cliente. Se omitido, o ID do cliente atual é usado&#x20;

**remove\_label(label\_name, client\_id)**\
remove a tag do cliente&#x20;

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;label\_name** - nome da tag, especificado entre aspas simples ('')\
**client\_id** - ID do cliente. Se omitido, o ID do cliente atual é usado

**has\_label(label\_name, client\_id**) - verifica se o cliente tem a tag&#x20;

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;label\_name** - nome da tag, especificado entre aspas simples ('')\
**client\_id** - ID do cliente. Se omitido, o ID do cliente atual é usado

**remove\_label\_everywhere(label\_name)**\
remove a tag de todos os clientes

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;label\_name**- nome da tag, especificado entre aspas simples ('')

**count\_of\_clients\_with\_label(label\_name)**\
obtém o número total de clientes com a tag

Parâmetros:\ <mark style="color:vermelho;">**!**</mark>**&#x20;label\_name**- nome da tag, especificado entre aspas simples ('')

</details>

<details>

<summary>Exemplo</summary>

Então, vamos ver **como uma tag do MaviBot é criada**.

Você só precisa executar a função de criação uma vez no bloco cinza (um bloco sem estado), por exemplo:

<div data-with-frame="true"><figure><img src="/files/ca187114d537a858578b6d7cd6800892cc959053" alt=""><figcaption><p>   Criando uma tag usando a função calculadora</p></figcaption></figure></div>

Ao mesmo tempo, a variável ***a*** pode ser usada para analisar o sucesso da função de criação da tag:

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

Em seguida, você pode **atribuir uma tag a qualquer cliente** adicionando a `add_label()` função no bloco apropriado do seu funil:

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

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

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

Você pode verificar se um cliente tem uma tag usando a `has_label()` função:

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

A função retorna um valor lógico: True ou False.&#x20;

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

**Outras ações relacionadas a tags são realizadas de forma semelhante**—removendo uma tag de um cliente específico ou removendo uma tag completamente de todos os clientes.

Você também pode contar o número de clientes com uma determinada tag usando a `count_of_clients_with_label()` função.

<div data-with-frame="true"><figure><img src="/files/8c980c7698e5655daeba2a2096dccbe9e7c5a1ba" alt="" width="375"><figcaption><p>Contando o número de clientes por uma determinada tag</p></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

`/Criar tag/ a=create_label('tag1')`

`/Atribuir tag ao cliente/ a=add_label('stage 1')`

`/Verificar se o cliente tem a tag/ a=has_label('этап 1','73704021')`

`/Contar o número de clientes com uma determinada tag/ etap1=count_of_clients_with_label('stage 1') tovar1=count_of_clients_with_label('1')`

</details>

## Criando uma tag

<details>

<summary>Descrição</summary>

**create\_label(label\_name)** - cria uma tag do MaviBot com o nome especificado

Parâmetros:

<mark style="color:vermelho;">**!**</mark>**&#x20;label\_name**- nome da tag, especificado entre aspas simples ('')

</details>

### Criando uma tag sem duplicatas

<details>

<summary>Descrição</summary>

**create\_label\_if\_not\_exist(name, color) -** cria uma nova tag se ainda não existir uma com o mesmo nome e retorna seu identificador; caso contrário, retorna o identificador da tag existente

**name** — nome da tag

**color** — cor da tag (padrão: 0)

Tabela de cores para **color** parâmetro:

0 — cinza claro&#x20;

1 — amarelo

2 — azul&#x20;

3 — vermelho

4 — rosa

5 — bege&#x20;

6 — roxo

7 — azul claro&#x20;

8 — cinza

9 - verde

</details>

### Obter todas as tags do cliente

<details>

<summary>Descrição</summary>

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

***Parâmetros:***

**client\_id** - opcional; se não for fornecido, as tags do cliente atual serão recuperadas.

A função retorna uma resposta em formato JSON: {"161":"tag1","228":"tag2"}, onde: a chave é o ID da tag e o valor é o nome da tag

</details>

<details>

<summary>Exemplo</summary>

<figure><img src="/files/03b798b91f9d4bb1d78e0e8599f6d4b5303b9c97" alt="" width="375"><figcaption><p>Obter todas as tags do cliente atual</p></figcaption></figure>

</details>

### Excluir tags do cliente por array

<details>

<summary>Descrição</summary>

**remove\_multiple\_client\_labels(labels\_array, names) -** exclui as tags especificadas no array

**labels\_array** - array de tags. <mark style="color:$primary;">OU</mark> <mark style="color:laranja;">**ID**</mark> array<mark style="color:laranja;">**,**</mark> <mark style="color:$primary;">OU</mark> <mark style="color:laranja;">**names**</mark> array.&#x20;

<mark style="color:laranja;">Se o array names for passado</mark>, então<mark style="color:laranja;">❗é obrigatório passar o segundo parâmetro (names) definido como 1.</mark>

**names** - Defina como 1 se o array contiver nomes de tags em vez de IDs. Isso indica que o array consiste em nomes.

{% hint style="danger" %}
NÃO é permitido combinar IDs de tags e nomes de tags na mesma função!
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

`/*Excluir tags por ID*/`

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

`/*Excluir tags por nome da tag*/`

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

A variável armazena o resultado da execução da função: ou uma mensagem de erro ou um número indicando quantas tags foram excluídas.

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

</details>

### Encontrar clientes por várias tags

<details>

<summary>Descrição</summary>

**find\_clients\_by\_multiple\_labels(labels\_array, names)** - encontra clientes por várias tags

{% hint style="warning" %}
IMPORTANTE! Isso encontra apenas os clientes que têm TODAS as tags especificadas.
{% endhint %}

Parâmetros:

**labels\_array** - array de tags. <mark style="color:$primary;">OU</mark> <mark style="color:laranja;">**ID**</mark> array<mark style="color:laranja;">**,**</mark> <mark style="color:$primary;">OU</mark> <mark style="color:laranja;">**names**</mark> array.&#x20;

<mark style="color:laranja;">Se o array names for passado</mark>, então<mark style="color:laranja;">❗é obrigatório passar o segundo parâmetro (names) definido como 1.</mark>

**names** - Defina como 1 se o array contiver nomes de tags em vez de IDs. Isso indica que o array consiste em nomes.

{% hint style="danger" %}
NÃO é permitido combinar IDs de tags e nomes de tags na mesma função!
{% endhint %}

Retorna um array de IDs de clientes (client\_id): \[41121, 41192, 41522]

</details>

<details>

<summary>Exemplo</summary>

`/*Encontrar clientes que têm todas as tags especificadas por ID*/`

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

`/*Encontrar clientes que têm todas as tags especificadas por nomes de tags*/`

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

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

</details>

### Verificar array de tags do cliente

<details>

<summary>Descrição</summary>

**has\_client\_multiple\_labels(labels\_array, names)** - verifica o array de tags do cliente

{% hint style="warning" %}
IMPORTANTE! Ele retorna **True** se um cliente tiver todas as tags especificadas!
{% endhint %}

Parâmetros:

**labels\_array** - array de tags. <mark style="color:$primary;">OU</mark> <mark style="color:laranja;">**ID**</mark> array<mark style="color:laranja;">**,**</mark> <mark style="color:$primary;">OU</mark> <mark style="color:laranja;">**names**</mark> array.&#x20;

<mark style="color:laranja;">Se o array names for passado</mark>, então<mark style="color:laranja;">❗é obrigatório passar o segundo parâmetro (names) definido como 1.</mark>

**names** - Defina como 1 se o array contiver nomes de tags em vez de IDs. Isso indica que o array consiste em nomes.

{% hint style="danger" %}
NÃO é permitido combinar IDs de tags e nomes de tags na mesma função!
{% endhint %}

Retorna **um erro**, ou **True** se o cliente tiver todas as tags do array, ou **Falso** se o cliente não tiver todas as tags.

</details>

<details>

<summary>Exemplo</summary>

`/*Verificar se o cliente tem todas as tags especificadas por ID*/`

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

`/*Verificar se o cliente tem todas as tags especificadas por nomes de tags*/`

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

<div data-with-frame="true"><figure><img src="/files/01855488ca84254bef2ec548b16e3a6a87e38289" 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/pt/chatbot/functions/calculadora/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.
