# A API do software de edição

* [Como obter mensagens na URL do Webhook especificada nas configurações do projeto](#how-to-get-messages-on-webhook-url-that-is-specified-in-the-projects-settings)&#x20;
* [Como usar um webhook universal](#how-to-use-a-universal-webhook)&#x20;
* [Como iniciar o bot](#how-to-launch-the-bot)&#x20;
* [Como trabalhar com mensagens](#how-to-work-with-messages)&#x20;
* [Como distribuir os clientes](#how-to-distribute-the-clients)&#x20;
* [Como trabalhar com variáveis](#how-to-work-with-variables)&#x20;
* [Como obter client\_id](#how-to-get-client_id)&#x20;
* [Quais outras possibilidades existem](#what-other-possibilities-there-are)

As requisições são feitas com o método **POST** na URL, ou seja, **<https://chatter.mavibot.ai/api/{api\\_key}/{action}>**

Onde ele está localizado: **api\_key** é a chave de acesso à API, obtida nas configurações do projeto:

![](https://lh4.googleusercontent.com/NMHfsMXf9aqYBwcLqud8V-NoFMxqqxkcSdhxjckgEtowma_UmtxTmDqHFIsQwrpjc7kR8afwlpnC5FGMjLxYHtNwhnkR6xF0iwlUPjXTlkqRlYtoHfWrhp_dce8r5I5R-pPgDMzV)

{% hint style="success" %}
**Você pode obter a chave de acesso usando a variável #{api\_key}.** Ela contém a chave gerada correspondente. Não se esqueça de gerar uma antes de usá-la.
{% endhint %}

{% hint style="danger" %}
Ao copiar a URL da consulta desta página, é inserido um espaço que deve ser removido ao fazer a chamada&#x20;

Um exemplo de cópia incorreta do link: <https://chatter.mavibot.ai/api/callback&#x20>;

O espaço após .pro é fácil de passar despercebido, mas, se ele for mantido, a consulta não funcionará
{% endhint %}

{% hint style="warning" %}
**Ao enviar a requisição com o método GET, não use palavras proibidas.** Veja a formação correta das requisições GET
{% endhint %}

## Como obter mensagens na URL do Webhook especificada nas configurações do projeto

![As configurações do projeto](https://lh5.googleusercontent.com/042KfsD4dxlKvcCDd-bReA7zTmfMHDr2LoX5jD1maPuo5OIwkyQ4qEXwFpwX41YA1Sx7SHES2TwLQD6Trs_TmwO57Pso2ogV4w8lJdmwhtIi7JdSwJvoePaXSYxO8NKLVm6kooPc)

Toda mensagem recebida ou enviada vem com as seguintes requisições POST em JSON:

```
{
    'id': o identificador da mensagem no sistema,
    'client': {
        'id': o identificador do cliente no sistema,
        'recepient': o identificador do cliente no mensageiro,
        'client_type': o tipo do mensageiro,
        'name': o nome do cliente,
        'avatar': o avatar do cliente,
        'created_at': a data em que o cliente foi criado,
        'tag': a chave de assinatura,
        'group': o bot ao qual o cliente está vinculado,
    },
    'message': o texto da mensagem,
    'attachments': o array de links para arquivos,
    'message_id': o id do bloco de onde a mensagem foi enviada,
    'project_id': o id do projeto,
    'is_input': 1 se a mensagem for de um cliente, 0 se for do bot,
    'delivered': 1 se a mensagem foi enviada com sucesso, 0 se houve um erro,,
    'error_message': a mensagem que explica o erro
}
```

Se a requisição retornar com erro, ela não será reenviada. Se o servidor retornar com erro, as notificações ainda assim serão recebidas.

## Como usar um webhook universal

Agora, esses métodos podem ser acionados tanto com a requisição POST quanto com a GET.

* [callback ](#the-bots-launch)
* [whatsapp\_callback](#launching-the-bot-through-the-number-on-whatsapp)&#x20;
* [message ](#sending-the-message-to-the-client)
* [whatsapp\_message](#sending-messages-in-whatsapp)

Anteriormente, os parâmetros (com os quais os métodos dos clientes eram iniciados, ou seja, **client\_id**) eram escritos de forma muito rígida em nossos métodos, o que impunha algumas restrições ao usá-los com serviços de terceiros.

Agora você pode indicar em qual parâmetro da requisição o Mavibot vai procurar o identificador do usuário: para isso, usa-se um parâmetro com o prefixo **value\_** como **value\_user\_id** e **value\_group\_id**.

Além disso, o método para enviar o callback **callback** pode ser iniciado transmitindo um e-mail (**client\_email**) e um número de telefone do cliente (**client\_phone**).

{% hint style="success" %}
Métodos **callback** e **whatsapp\_callback** não estão vinculados aos nomes dos parâmetros. Você pode especificar qual parâmetro conterá o número de telefone, o e-mail e o id do cliente.
{% endhint %}

Isso é útil quando você está configurando o recebimento do webhook por meio de outro site.

**Para especificar qual variável contém client\_id** você precisa passar **value\_client\_id** e indicar o nome do parâmetro com esse valor nele

**Para especificar qual variável contém phone** você precisa passar **value\_phone** e indicar o nome do parâmetro com esse valor nele

**Para especificar qual variável contém email** você precisa passar **value\_email** e indicar o nome do parâmetro com esse valor nele

**Para especificar qual variável contém user\_id** você precisa passar **value\_user\_id** e indicar o nome do parâmetro com esse valor nele

**Para especificar qual variável contém group\_id** você precisa passar **value\_group\_id** e indicar o nome do parâmetro com esse valor nele

Exemplo:

Digite no endereço value\_client\_id = meu\_cliente

`https://chatter.mavibot.ai/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback?value_client_id=my_client`\
`{"my_client":49177759, "message":"Olá mundo"}`

A consulta será equivalente à consulta abaixo:

`https://chatter.mavibot.ai/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback`\
`{"client_id":49177759, "message":"Olá mundo"}`

{% hint style="info" %}
Como você pode ver, o nome do parâmetro que contém o nome é diferenciado pelo prefixo **value\_**
{% endhint %}

## Como iniciar o bot

## A inicialização do bot

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/callback`

O método pode ser usado para iniciar o fluxo de trabalho do cliente ou para aprovar a ação em um serviço de terceiros. Esta mensagem não ficará visível para o cliente. \
**Os parâmetros transferidos adicionalmente são salvos nas variáveis.** \
O método para enviar o callback agora pode ser ativado compartilhando um e-mail (client\_email) ou o número de telefone do cliente (client\_phone)

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Corpo da requisição

| Name          | Tipo      | Descrição                                           |
| ------------- | --------- | --------------------------------------------------- |
| client\_phone | de string | número de telefone pelo qual o cliente é encontrado |
| client\_email | de string | e-mail pelo qual o cliente é encontrado             |
| client\_id    | de string | id do cliente no editor                             |
| message       | de string | o texto da mensagem                                 |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json
 
params = {"message": "some_text", "client_id": "25554"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/callback'
requests.post(url, json=params)
```

{% endtab %}
{% endtabs %}

## Inicialização do bot por meio do número no WhatsApp

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/whatsapp_callback`

Este método inicia o bot no WhatsApp depois que o cliente se cadastra pelo site ou depois que ele deixa uma solicitação com o número de telefone \
**Os parâmetros transferidos adicionalmente são salvos nas variáveis**

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Corpo da requisição

| Name    | Tipo      | Descrição                       |
| ------- | --------- | ------------------------------- |
| name    | de string | o nome do cliente               |
| message | de string | o texto da mensagem             |
| phone   | de string | o número de telefone do cliente |
| bot\_id | de string | o id do bot                     |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Inicialização do bot por meio do id do Telegram

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/tg_callback`

O método pode ser usado para iniciar o fluxo de trabalho ou confirmar ações em um site de terceiros. Esta mensagem não ficará visível para o cliente.&#x20;

**Os parâmetros transferidos adicionalmente são salvos nas variáveis**

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Corpo da requisição

| Name      | Tipo      | Descrição                                |
| --------- | --------- | ---------------------------------------- |
| message   | de string | o texto da mensagem                      |
| user\_id  | de string | o id do usuário no Telegram              |
| group\_id | de string | o nome do bot (deve terminar em **bot**) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Como trabalhar com mensagens

**Parâmetros para envio de mensagens**

**attachment\_type** pode assumir estes valores: **imagem, vídeo, link, arquivo, áudio** \
Ao enviar anexos, o parâmetro **message** não é obrigatório

**buttons** identifica os botões que serão anexados à mensagem. O formato dos botões é comparável às configurações avançadas do botão. São possíveis duas variantes de envio dos botões: uma com a dica em mensageiros sem botões e outra sem ela

Aqui está um exemplo do parâmetro buttons:

```
"buttons": {"hint": "Este texto será mostrado no WhatsApp",
 "buttons": [
    {"type": "reply", 
     "text": "Quais serviços podemos oferecer", 
     "line": 0, "index_in_line": 0}, 
       
    {"type": "reply", 
     "text": "Informações de pagamento", 
     "line": 0, 
     "index_in_line": 1}, 
        
    {"type": "reply", 
     "text": "Nossas informações de contato", 
     "line": 1, "index_in_line": 0}, 
        
    {"type": "reply", 
     "text": "Deixar uma solicitação", 
     "line": 1, "index_in_line": 1}
   ] 
}
```

## Enviando a mensagem ao cliente

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/message`

Este método pode ser usado para enviar mensagens com notificações. O parâmetro **message** é obrigatório se você não estiver enviando um arquivo. Se estiver, o texto não é necessário

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name             | Tipo      | Descrição                     |
| ---------------- | --------- | ----------------------------- |
| message\_id      | de string | o número do bloco de envio    |
| message          | de string | o texto da mensagem           |
| client\_id       | de string | o id do cliente no editor     |
| attachment\_type | de string | o tipo de exibição do arquivo |
| attachment\_url  | de string | a URL do arquivo              |
| buttons          | objeto    | buttons                       |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json

params = {"message": "some_text", "client_id": "25554"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/message'
requests.post(url, json=params)
```

{% endtab %}
{% endtabs %}

## Enviando mensagens no WhatsApp

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/whatsapp_message`

Permite enviar uma mensagem, em nome do bot conectado, para o número mencionado **whatsapp\_bot\_id** deve ser obtido na seção “Mensageiros e chats”. Cada página do WhatsApp conectada recebe uma identificação única

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name              | Tipo      | Descrição                              |
| ----------------- | --------- | -------------------------------------- |
| message\_id       | de string | o número do bloco de envio             |
| whatsapp\_bot\_id | número    | o bot do WhatsApp que envia a mensagem |
| attachment\_url   | de string | a url do arquivo                       |
| attachment\_type  | de string | o tipo de exibição do arquivo          |
| message           | de string | o texto da mensagem                    |
| phone             | de string | o número de telefone do destinatário   |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json

params = {"message": "some_text", "phone": "79875146788"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/whatsapp_message'
requests.post(url, json=params)
```

{% endtab %}
{% endtabs %}

## Envio de mensagens em massa

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/broadcast`

O método permite a distribuição de mensagens. Se o parâmetro **clients** não for mencionado, o broadcast será enviado para todos os usuários. É necessário enviar um arquivo ou um texto

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name             | Tipo      | Descrição                                                   |
| ---------------- | --------- | ----------------------------------------------------------- |
| message\_id      | de string | o número do bloco de envio                                  |
| list             | de string | a lista de números dos destinatários                        |
| shift            | de string | a quantidade de segundos entre as mensagens. 0,2 por padrão |
| message          | de string | o texto da mensagem                                         |
| clients          | array     | os ids dos destinatários                                    |
| attachment\_type | de string | o tipo de exibição do arquivo                               |
| attachment\_url  | de string | a URL do arquivo                                            |
| buttons          | de string | buttons                                                     |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{import requests
import json

params = {"message": "some_text", "clients": ["5", "58", "110"]}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/broadcast'
requests.post(url, json=params)
```

{% endtab %}
{% endtabs %}

## Obtendo o histórico de mensagens

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/get_history?client_id=`

Obtendo o histórico de mensagens. Você pode obter o **client\_id** parâmetro [AQUI](#how-to-get-client_id)

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Parâmetros da consulta

| Name       | Tipo      | Descrição       |
| ---------- | --------- | --------------- |
| client\_id | de string | o id do cliente |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
  "status": "success",
  "result": [
    {
      "id": 104500,
      "answered": true,
      "client_replica": false,
      "message_id": 390,
      "message_from_outside": 0,
      "created_at": 1587895014,
      "text": "CouCou",
      "attachments": {
        
      },
      "delivered": true,
      "error_message": "true"
    },
  ]
}
```

{% endtab %}
{% endtabs %}

## Limpando o histórico de mensagens

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/clear_history?client_id=`

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Parâmetros da consulta

| Name       | Tipo      | Descrição       |
| ---------- | --------- | --------------- |
| client\_id | de string | o id do cliente |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json


token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/clear_history?client_id=85856'
requests.get(url)
```

{% endtab %}
{% endtabs %}

## Como distribuir os clientes

## Atribuindo um cliente a um funcionário

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/assign_to_user`

O método permite atribuir um cliente a um funcionário. O parâmetro de e-mail é opcional. Se o e-mail não for informado, ele será distribuído pelo algoritmo do sistema

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Parâmetros da consulta

| Name       | Tipo   | Descrição                        |
| ---------- | ------ | -------------------------------- |
| client\_id | String | o id do cliente                  |
| e-mail     | String | o e-mail do atendente (opcional) |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json

params = {"message": "some_text", "clients": ["5", "58", "110"]}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/broadcast'
requests.post(url, json=params)
```

{% endtab %}
{% endtabs %}

## Carregando clientes no sistema

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/load_clients`

O método permite carregar clientes no sistema. Ao enviar clientes do WhatsApp, você pode passar o número livremente com o @s.whatsapp.net no final ou sem ele.&#x20;

Você pode obter o id do grupo (**group\_id**) [aqui ](#what-other-possibilities-there-are)por meio de /api/\<api\_key>/connected\_channels&#x20;

(se client\_type=13 (telefonia), então group\_id="")&#x20;

Você pode ver o tipo de mensageiro de onde o cliente veio (**client\_type**)&#x20;

Ex.: \[{"platform\_id":"79875555555","group\_id":34810,"client\_type":6}]

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name         | Tipo   | Descrição                                   |
| ------------ | ------ | ------------------------------------------- |
| platform\_id | String | o número de telefone                        |
| group\_id    | String | o id do grupo                               |
| client\_type | String | o tipo de mensageiro de onde o cliente veio |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json


token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/load_clients'

params = [{ "platform_id": 274827917, "group_id": 169166236, "client_type":0},
{"platform_id":"79538550785@s.whatsapp.net", "group_id": "1hwF7lwEjv4SKYIGFhQnBw==", "client_type": 6}]
requests.post(url, json=params)
# em caso de sucesso, a função retorna para cada elemento seu id e status adicional
# exemplo de resposta
# {"status":"success","items":[{"platform_id":"700000000@s.whatsapp.net","group_id":"5kqchxwyvdvFZOsp80q2qw==","client_type":6,"status":"success","id":1469409}]}
```

{% endtab %}
{% endtabs %}

## Adicionando clientes à lista

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/add_to_list`

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name     | Tipo           | Descrição                        |
| -------- | -------------- | -------------------------------- |
| list\_id | número inteiro | o número da lista                |
| clients  | array          | o array dos números dos clientes |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Removendo clientes da lista

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/remove_from_list`

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name     | Tipo           | Descrição                        |
| -------- | -------------- | -------------------------------- |
| list\_id | número inteiro | o número da lista                |
| clients  | array          | o array dos números dos clientes |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Obtendo a lista de clientes

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/get_clients`

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Parâmetros da consulta

| Name   | Tipo           | Descrição                                                       |
| ------ | -------------- | --------------------------------------------------------------- |
| offset | de string      | deslocamento a partir do primeiro elemento                      |
| limit  | número inteiro | a quantidade de elementos na resposta. 500 por padrão, máx. 500 |
| list   | de string      | o número da lista                                               |

{% tabs %}
{% tab title="200: OK Retorna o status dos elementos e o array" %}

```javascript
{
"status":"success",
"clients":[{
    "id":44483,
    "platform_id":"146467928",
    "client_type":0,
    "name":null,
    "avatar":null,
    "message_id":null,
    "project_id":1,
    "created_at":1588248599,
    "updated_at":1588248599,
    "custom_answer":null,
    "tag":null,
    "group":"143414131",
    "operator_start_dialog":null
    }
]
}
```

{% endtab %}
{% endtabs %}

## Obtendo a lista de assinantes em qualquer mensageiro

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/subscribers`

Obtendo informações sobre os clientes no mensageiro escolhido

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Parâmetros da consulta

| Name         | Tipo           | Descrição                                                                                                           |
| ------------ | -------------- | ------------------------------------------------------------------------------------------------------------------- |
| page         | número inteiro |                                                                                                                     |
| tag          | de string      | a tag mencionada na página de inscrição                                                                             |
| group        | número inteiro | o id do grupo ao qual o assinante está vinculado                                                                    |
| date\_from   | número inteiro | timestamp da data após a qual eles se inscreveram                                                                   |
| date\_to     | número inteiro | timestamp da data até a qual eles se inscreveram                                                                    |
| client\_type | número inteiro | o id do mensageiro para o qual você precisa carregar a lista. se não alterar nada, todos os clientes serão exibidos |

{% tabs %}
{% tab title="200: OK " %}

```javascript
[
  {
    "id": 44886,
    "tag": null,
    "created_at": 1609867984,
    "name": "John Smith",
    "tg_id": "146467928",
    "group": "155824294",
    "variables": null
  },
  {
    "id": 44889,
    "tag": null,
    "created_at": 1609867984,
    "name": "Jane Austen",
    "tg_id": "1609867984",
    "group": "155824294",
    "variables": {
      "utm_source": "some_value"
    }
  }
]
```

{% endtab %}
{% endtabs %}

### Permissão para excluir clientes

<mark style="color:verde;">**`POST`**</mark>` ``https://chatter.mavibot.ai/api/<api_key>/get_clients`

Permissão de acesso ao gerar a chave: “Permissão para excluir clientes”

Parâmetros

Caminho\
api key\* — token de acesso

Corpo\
client\_ids — lista de IDs de clientes a serem excluídos. Máximo de 500. Exemplo: \[199571, 199707, 1935722]

## Como trabalhar com variáveis

## Atribuição de variáveis

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/save_variables`

Permite salvar variáveis na aplicação e no cliente. \
A requisição de atribuição de variáveis, por padrão, adiciona às variáveis da transação. \
Se você precisar alterar as variáveis no perfil, é necessário adicionar o prefixo **client**. \
Ex.: para mobile: client.phone&#x20;

O parâmetro **clients** permite atribuir variáveis em massa&#x20;

Ex.: {"client\_id":49177759, "variables":\
{"client.phone":"1234567890"}}

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name       | Tipo      | Descrição                                             |
| ---------- | --------- | ----------------------------------------------------- |
| clients    | array     | array de ids de clientes para atribuição de variáveis |
| client\_id | de string | id do cliente                                         |
| variáveis  | objeto    | hash da variável (valor da chave)                     |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json

params = {"client_id": "25554", "variables": {"var_name": "var_value"}}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/save_variables'
requests.post(url, json=params)
```

{% endtab %}
{% endtabs %}

## Obtendo variáveis

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/get_variables?client_id=`

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Parâmetros da consulta

| Name       | Tipo      | Descrição     |
| ---------- | --------- | ------------- |
| client\_id | de string | id do cliente |

{% tabs %}
{% tab title="200: OK " %}

```javascript
import requests
import json


token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/get_variables?client_id=85856'
requests.get(url)
```

{% endtab %}
{% endtabs %}

## **Como obter client\_id**

## Obtendo client\_id pelo valor platform\_id

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_platform_id`

O método retorna o id do cliente para executar requisições à API

Exemplo de parâmetros: {"platform\_ids": \["571830542", "256865200"]}

#### Parâmetros de caminho

| Name | Tipo      | Descrição       |
| ---- | --------- | --------------- |
|      | de string | chave de acesso |

#### Corpo da requisição

| Name          | Tipo      | Descrição                  |
| ------------- | --------- | -------------------------- |
| platform\_ids | de string | array de ids no mensageiro |

{% tabs %}
{% tab title="200: OK " %}

```javascript
[{
"id":15099119,
"tag":null,
"created_at":1618815253,
"name":"Oscar Wilde",
"avatar":"https:\\/\\/files.salebot.pro\\/uploads\\/avatars\\/256865200.jpg",
"platform_id":"2568652",
"group":"Salebotpro_bot",
"variables":{"tg_username":"@wildeo"}},

{"id":21087377,
"tag":null,
"created_at":1626275893,
"name":"Freddie Mercury",
"avatar":"https:\\/\\/files.salebot.pro\\/uploads\\/avatars\\/571830542.jpg",
"platform_id":"571830542",
"group":"Salebotpro_bot",
"variables":{"tg_username":"@freddieisqueen"}
}]
```

{% endtab %}
{% endtabs %}

## Como obter o id do cliente no chat online

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/online_chat_client_id?recipient=`

Este método permite integrar o site e o chatbot, ou seja, se uma pessoa acessar a página com a oferta especial, você pode enviar instantaneamente uma mensagem sobre a oferta no chat

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Parâmetros da consulta

| Name      | Tipo      | Descrição               |
| --------- | --------- | ----------------------- |
| tag       | de string | tag do cliente          |
| name      | de string | o nome do cliente       |
| recipient | de string | o id do diálogo no site |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{ "client_id": 36553 }
```

{% endtab %}
{% endtabs %}

Onde você obtém o recipient? No site que usa o chat online “Mavibot.ai”, você precisa obter a propriedade SaleBotPro.recipient\_id com a ajuda de JS.

![](https://lh4.googleusercontent.com/kTHJGnkdMXxirfxHrmgHcg3n9nRn35lHIiWbQ6LZyaQZ4IbO8TnOtgihTt4MdAqFa1bWujmpYDOId9ALFfmud8n-XD2AJlxep2luxjL4nCl2YgDTpdemE4wJVsgFuPw1h382oUL5)

## Como obter o id do cliente pelo número do WhatsApp

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/whatsapp_client_id?phone=`

O método retorna o id do cliente para executar requisições à API se você souber o número de telefone do cliente no WhatsApp. \
Se não houver nenhum cliente com esse número, você receberá um 404.

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Parâmetros da consulta

| Name  | Tipo      | Descrição            |
| ----- | --------- | -------------------- |
| phone | de string | o número de telefone |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Obtendo o id do cliente pelo número de telefone

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_phone?phone=`

O método retorna o id do cliente para executar requisições à API. \
A busca ocorre pelos clientes do WhatsApp, bem como pelas variáveis.

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Parâmetros da consulta

| Name  | Tipo      | Descrição            |
| ----- | --------- | -------------------- |
| phone | de string | o número de telefone |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Obtendo o id do cliente por e-mail

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_email?email=`

O método retorna o id do cliente para executar requisições à API. A busca ocorre por meio das variáveis.

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Parâmetros da consulta

| Name  | Tipo      | Descrição         |
| ----- | --------- | ----------------- |
| email | de string | e-mail para busca |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Obtendo o id do cliente pelo valor da variável

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_var?var=&val=`

O método retorna o id do cliente para executar requisições à API

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Parâmetros da consulta

| Name | Tipo      | Descrição                                       |
| ---- | --------- | ----------------------------------------------- |
| var  | de string | o nome da variável pela qual a busca será feita |
| val  | de string | o valor da variável                             |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## **Quais outras possibilidades existem**

## Movendo a transação para o status MavibotCRM

<mark style="color:verde;">`POST`</mark> `https://chatter.mavibot.ai/api/<api_key>/set_order_state`

O número da transação pode ser obtido na janela de edição do fluxo de trabalho do MavibotCRM.

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name       | Tipo      | Descrição                                                              |
| ---------- | --------- | ---------------------------------------------------------------------- |
| client\_id | de string | id do cliente                                                          |
| state\_id  | de string | o número do status para o qual a transação do cliente será transferida |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Verificando se a pessoa segue a conta do Instagram&#x20;

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/check_insta_subscription`

Pode ser chamado tanto com o método POST quanto com o método GET

#### Parâmetros de caminho

| Name     | Tipo      | Descrição         |
| -------- | --------- | ----------------- |
| api\_key | de string | a chave de acesso |

#### Corpo da requisição

| Name       | Tipo      | Descrição                                              |
| ---------- | --------- | ------------------------------------------------------ |
| user\_name | de string | o nome de usuário do cliente que você deseja verificar |
| login      | de string | o login do bot que está sendo verificado               |

{% tabs %}
{% tab title="200: OK O campo is\_follower é o que contém a informação sobre se a pessoa o segue ou não" %}

```javascript
{
"username": "beyonce",
"account_id": "1463220603",
"avatar": "https://instagram.fhel6-1.fna.fbcdn.net/v/t51.2885-19/1060168..",
"real_name": "Beyonce",
"is_follower": true,
"status": 200
}
```

{% endtab %}
{% endtabs %}

## Verificando se o número de telefone usa WhatsApp

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/check_whatsapp`

**Para usar o método, você PRECISA ter o WhatsApp e o Mavibot conectados**

Pode ser chamado tanto com o método POST quanto com o método GET \
O número de telefone pode ser passado em qualquer formato

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

#### Corpo da requisição

| Name  | Tipo      | Descrição            |
| ----- | --------- | -------------------- |
| phone | de string | o número de telefone |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

## Obtendo a lista de mensageiros conectados ao projeto (incluindo group\_id)

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/connected_channels`

A função retorna o parâmetro **group\_id** para cada mensageiro e ele é o que precisa ser passado ao carregar os clientes&#x20;

O campo **status** também retorna para o WhatsApp, e ele contém um valor de: \
**NOT\_STARTED = 0** \
**STARTED = 1** \
**ASLEEP = 2** \
**STOPPED = 3**

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{'project_id': 1, 
'viber': [{
        'id': 14, 
        'uri': 'salebotstage', 
        'name': 'salebotstage', 
        'enabled': true,
        'group_id': 11}], 
'facebook': [], 
'telegram': [{
        'id': 23, 
        'short_name': 'bulls_vs_bears_bot', 
        'name': 'bulls_vs_bears_bot', 
        'enabled': true,
        'group_id': 'bulls_vs_bears_bot'}], 
'whatsapp': [] 
}
```

{% endtab %}
{% endtabs %}

## Obtendo a lista de blocos do schema do bot

<mark style="color:azul;">`GET`</mark> `https://chatter.mavibot.ai/api/<api_key>/get_messages`

#### Parâmetros de caminho

| Name     | Tipo      | Descrição       |
| -------- | --------- | --------------- |
| api\_key | de string | token de acesso |

{% tabs %}
{% tab title="200: OK " %}

```javascript
{
    // Resposta
}
```

{% endtab %}
{% endtabs %}

{% hint style="success" %}
Se você precisar de métodos adicionais, entre em contato com o suporte ao cliente&#x20;
{% endhint %}


---

# 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/integrations/api/settings.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.
