Algumas funções de solicitação de API podem ser executadas na Calculadora.
As solicitações são enviadas via método POST ou GET para uma URL no seguinte formato:
https://chatter.mavibot.ai/api/{api\_key}/{action}
Onde:
api_key — a chave de acesso à API gerada nas configurações do projeto.

Para usar o token em uma solicitação de URL, primeiro você precisa gerar uma chave de API.
As instruções para fazer isso estão na seção "Gerando uma chave de API". link
Ao copiar uma URL desta página, um espaço pode aparecer e deve ser removido.
Exemplo de link incorreto:
https://chatter.mavibot.pro /api/callbackSe o espaço após .pro permanecer, a solicitação não funcionará.
Não use caracteres proibidos ao enviar uma solicitação GET.
Certifique-se de entender o formato correto para solicitações GET.
Como gerar uma chave de API
O recurso antigo de geração de chave de API ainda funciona como antes, mas não está disponível para novos projetos.
Se o seu projeto já possui chaves de API geradas sem as configurações de acesso descritas nesta seção, essas chaves de API existentes continuarão a funcionar normalmente.
Se você precisar gerar novas chaves, use as configurações atualizadas.
Para gerar uma chave de API, vá para as configurações do projeto:

Em seguida, vá para a seção "Integrações":

Você encontrará o botão "Adicionar chave de API" na seção "Integrações":

Após clicar no botão, uma janela modal será aberta com as configurações de acesso e opções de geração de chave de API:

Em seguida, você precisa selecionar as permissões de acesso para a chave de API:

A função da API funcionará de acordo com as permissões de acesso que você selecionar.
Por favor, note!
A função da API depende das permissões de acesso que você definir: se você gerar uma chave de API com acesso somente leitura às informações do cliente e depois usá-la para enviar uma mensagem a um cliente ou modificar suas variáveis, a solicitação de API falhará.
A permissão necessária para cada solicitação de API é especificada no cartão de solicitação de API:![]()
Em seguida, insira um nome para a chave de API:

Gere a chave de API clicando no botão "Gerar":

Depois disso, clique em "Concluído" e a chave de API será adicionada à seção:

Você pode adicionar quantas chaves de API forem necessárias, atribuindo diferentes permissões de acesso a cada uma.

Em seguida, você precisa definir uma chave primária do projeto. Isso permite que você use a chave em uma URL de solicitação com o espaço reservado #{api_key}.
Para fazer isso, clique no botão "{+}" à direita da chave de API desejada:

Um rótulo aparecerá então ao lado da chave, indicando que ela é a chave primária do projeto.

Você pode acessar a chave primária do projeto via api_key: basta gerar a chave necessária, definir suas permissões e designá-la como a chave primária do projeto. Em seguida, na Calculadora, use a URL de solicitação com o espaço reservado #{api_key}, que conterá o valor da chave primária do projeto.


Quaisquer outras chaves geradas com configurações de acesso serão consideradas chaves secundárias. Na URL de solicitação, você pode usar o valor delas em vez de #{api_key}. Para fazer isso, copie o valor da chave secundária:

e cole-o na URL de solicitação no lugar de #{api_key}:

Uma chave de API gerada usando o método antigo é definida como a chave primária do projeto por padrão e tem permissões totais.
Nota!
Se você excluir a chave definida como a chave primária do projeto, precisará designar manualmente uma nova chave como primária.
Por favor, note!
Se você tiver chaves de API geradas usando o método antigo, elas continuarão a funcionar normalmente. Não é possível gerar novas chaves de API do tipo antigo.
Como receber mensagens na URL do Webhook especificada nas configurações do projeto
Cada mensagem recebida ou enviada será enviada como a seguinte solicitação JSON POST:
{
"id": "ID da mensagem no sistema",
"client": {
"id": "ID do cliente no sistema",
"recepient": "ID do cliente no messenger",
"client_type": "tipo de messenger",
"name": "nome do cliente",
"avatar": "avatar do cliente",
"created_at": "data de criação do cliente",
"tag": "chave de assinatura",
"group": "bot ao qual o cliente está vinculado"
},
"message": "texto da mensagem",
"attachments": "array contendo links de arquivos ou dicionários de links de arquivos",
"message_id": "ID do bloco do qual a mensagem foi enviada",
"project_id": "ID do projeto",
"is_input": "1 se a mensagem for do cliente, 0 se for do bot",
"delivered": "1 se a mensagem foi enviada com sucesso, 0 se houve um erro",
"error_message": "texto do erro de entrega da mensagem"
}
Se uma solicitação retornar um erro, ela não será repetida. Mesmo que o servidor retorne erros, as notificações continuarão a ser enviadas.
Como criar uma solicitação JSON
Vá para as configurações do bloco onde os dados serão registrados na tabela.

- Adicione uma seção de Solicitação de API.
- Selecione POST-JSON como o tipo de solicitação.
- Em seguida, prossiga para preencher os campos da solicitação:

URL da solicitação — o caminho para a função a ser chamada. Na documentação, isso é sempre mostrado na primeira linha ao lado do tipo de solicitação:

Valores salvos — uma lista de parâmetros de resposta com os nomes das variáveis onde os resultados devem ser armazenados, no seguinte formato:
request_parameter -> your_variable
Se a resposta contiver parâmetros com uma estrutura complexa, analise-os da seguinte forma:
"cell_number":{"row":4,"col":2}\n > \n > \n > cell_number|row ->String; \n > cell_number|col -> Coluna
Cabeçalhos da solicitação — preencha se necessário. Isso geralmente inclui o formato dos dados e/ou token de acesso.
Parâmetros JSON — o corpo da solicitação, onde você especifica os parâmetros de dados no formato JSON. Exemplo:
{"client_id": "#{recipient_id_in_builder}", "message":"Olá!"}
Para entender a estrutura da resposta, escreva #{custom_answer} no campo Mensagem para exibir o valor da variável.

Em seguida, a documentação lista os parâmetros permitidos na seção "Corpo":

Como usar um webhook universal
Os métodos listados agora podem ser executados como solicitações POST ou GET.
Anteriormente, nossos métodos tinham parâmetros fixos (como client_id e fb_id) para acionar ações do assinante, o que impunha certas limitações ao integrar com serviços de terceiros.
Agora você pode especificar qual parâmetro de solicitação o MaviBot deve usar para encontrar o ID do usuário. Use um parâmetro com o prefixo value_, por exemplo, value_user_id ou value_group_id.
Além disso, o método de envio de callback agora pode ser acionado usando o e-mail do cliente (client_email) ou número de telefone (client_phone).
Os métodos callback, fb_callback e whatsapp_callback não estão vinculados a nomes de parâmetros específicos. Você pode especificar qual parâmetro contém o número de telefone, e-mail ou ID do cliente.
Isso é útil ao configurar a recepção de webhook de um site.
Para especificar qual variável contém o client_id, use o parâmetro value_client_id e forneça o nome do parâmetro que contém esse valor.
Para especificar qual variável contém o número de telefone, use value_phone.
Para especificar qual variável contém o e-mail, use value_email.
Para especificar qual variável contém o user_id, use value_user_id.
Para especificar qual variável contém o group_id, use value_group_id.
Para especificar a variável que contém a própria mensagem no webhook, use value_message (passado da mesma forma que os outros parâmetros).
Exemplo:
No endereço, especifique value_client_id = my_client.
https://chatter.mavibot.ai/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback?value_client_id=my_client
{"my_client":49177759, "message":"Olá mundo"}
A solicitação será equivalente à abaixo:
https://chatter.mavibot.pro/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback
{"client_id":49177759, "message":"Olá mundo"}
Como você pode ver, o nome do parâmetro que contém o valor é prefixado com value_.
Por favor, note!
Alguns eventos geram notificações do sistema dentro do projeto.
Por exemplo, existem notificações do sistema com um campo de mensagem que não está vazio, mas não contém texto do cliente.
Ao mesmo tempo, o projeto também pode gerar hooks de mensagem com conteúdo específico, como "message: new_chat_member".
Portanto, é importante verificar o conteúdo: será uma notificação do sistema ou um hook para um evento específico.
Como iniciar o bot
Iniciar o bot
**POST** https://chatter.mavibot.ai/api/#{api_key}/callback
URL da solicitação: https://chatter.mavibot.ai/api/#{api\_key}/callback
Este método pode ser usado para acionar um funil para um cliente ou confirmar uma ação em um recurso externo. O cliente não verá esta mensagem.
Por favor, note: quaisquer parâmetros que você passar adicionalmente serão salvos na variável
O método de callback agora também pode ser acionado usando o e-mail do cliente (client_email) ou número de telefone (client_phone).
Permissão de acesso ao gerar uma chave: "Permissão para modificar/excluir informações do cliente".
Caminho
api key* - token de acesso
Corpo
client_phone - número de telefone usado para localizar o cliente
client_email - e-mail usado para localizar o cliente
client_id - ID do cliente no builder
message - texto da mensagem
resume_bot - True (parâmetro opcional). Se o bot estiver pausado, isso é usado para retomá-lo.
Exemplo: resume_bot = True
time_shift - número. Se especificado, a mensagem será enviada após o número determinado de segundos a partir da hora atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (por exemplo, "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
import requests
import json
params = {"message": "some_text", "client_id": "25554"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/callback'
requests.post(url, json=params)
Iniciando o bot usando um número do WhatsApp
**POST** https://chatter.mavibot.ai/api/<api_key>/whatsapp_callback
URL da requisição: https://chatter.mavibot.ai/api/\<api_key>/whatsapp_callback>
Este método pode acionar o bot do WhatsApp após um cliente se registrar no site ou enviar uma solicitação com seu número de telefone.
Atenção: quaisquer parâmetros adicionais que você passar serão salvos em variáveis
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
name - nome do cliente
message - texto da mensagem
phone - número de telefone do cliente
bot_id - ID do bot
resume_bot - True (parâmetro opcional). Se o bot estiver pausado, use isso para retomá-lo. Exemplo: resume_bot = True
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
Iniciando o bot usando um ID do Telegram
**POST** https://chatter.mavibot.pro/api/#{api_key}/tg_callback
URL da requisição: https://chatter.mavibot.pro/api/#{api\_key}/tg\_callback
Este método pode ser usado para acionar um funil para um cliente ou confirmar uma ação em um site externo. O cliente não verá esta mensagem.
Atenção: quaisquer parâmetros adicionais que você passar serão salvos em variáveis.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
message - texto da mensagem
user_id - ID do usuário do Telegram
group_id - nome do bot (terminado em bot)
resume_bot - True (parâmetro opcional). Se o bot estiver pausado, use isso para retomá-lo. Exemplo: resume_bot = True
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
Enviando mensagens de callback para uma lista de clientes por platform_id
**POST** https://chatter.mavibot.ai/api/#{api_key}/send_callback_by_platform_id
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/send\_callback\_by\_platform\_id
Quando clientes com um platform_id da lista são encontrados no projeto, um callback será enviado com o texto do campo callback_text.
\ Limite: 1 requisição = máximo de 300 envios
Exemplo de parâmetros da requisição:
{"platform_ids":[407184121, "79609879898", "2rwewefw"], "callback_text": "test_callback"}
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
platform_ids - Lista de IDs dos clientes no mensageiro
callback_text - texto do callback
group_id - ID do bot
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
Enviando uma mensagem de callback para um cliente por e-mail
**POST** https://chatter.mavibot.ai/api/#{api_key}/email_callback
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/email\_callback
Este método pode acionar o bot de e-mail após um cliente se registrar no site ou enviar uma solicitação com seu e-mail. O método localizará o e-mail do cliente ou o criará se não for encontrado.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Atenção: quaisquer parâmetros adicionais que você passar serão salvos em variáveis
Path
api key* - token de acesso
Body
name - nome do cliente
message - texto da mensagem
email - endereço de e-mail
email_id_bot - endereço de e-mail do bot
resume_bot - True (parâmetro opcional).
Se o bot estiver pausado, use isso para retomá-lo. Exemplo: resume_bot = True
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
Como trabalhar com mensagens
Parâmetros de envio de mensagens
attachment_type — pode ser: image, video, link, file ou audio.
Ao enviar um anexo, o parâmetro message é opcional.
buttons — define os botões a serem anexados à mensagem. O formato do botão corresponde às configurações avançadas de botão.
Os botões podem ser passados de duas maneiras: com uma dica para mensageiros que não suportam botões, ou sem ela.
Exemplo do parâmetro buttons:
"buttons": {
"hint": "Este texto será exibido no WhatsApp",
"buttons": [
{
"type": "reply",
"text": "Fale sobre os serviços",
"line": 0,
"index_in_line": 0
},
{
"type": "reply",
"text": "Preços dos serviços",
"line": 0,
"index_in_line": 1
},
{
"type": "reply",
"text": "Contatos",
"line": 1,
"index_in_line": 0
},
{
"type": "reply",
"text": "Enviar uma solicitação",
"line": 1,
"index_in_line": 1
}
]
}
Enviando uma mensagem para um cliente
**POST** https://chatter.mavibot.ai/api/#{api_key}/message
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/message
Este método pode ser usado para enviar mensagens de notificação. O parâmetro message é obrigatório, a menos que você esteja enviando um arquivo. Se você estiver enviando um arquivo, o texto é opcional.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
message_id - número do bloco para envio
message - texto da mensagem
client_id - ID do cliente no construtor
attachment_type - tipo de exibição do arquivo. Obrigatório se attachment_url for fornecido.
attachment_url - URL do arquivo
buttons - botões
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
import requests
import json
# Enviando uma mensagem de texto
params = {"message": "some_text", "client_id": "25554"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/message'
requests.post(url, json=params)
# Enviando um anexo
params = {
"message": "some message",
"client_id": "1234565",
"attachment_type": "video/image/file",
"attachment_url": "https://qwreqw"
}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/message'
requests.post(url, json=params)
# Em 'attachment_type', especifique 'video', 'image' ou 'file'
# dependendo do tipo de anexo: vídeo, imagem ou documento.
Enviando uma mensagem no WhatsApp
**POST** https://chatter.salebot.pro/api/<api_key>/whatsapp_message
URL da requisição: https://chatter.mavibot.pro/api/\<api_key>/whatsapp_message>
Permite enviar uma mensagem em nome do bot conectado para o número especificado. O whatsapp_bot_id deve ser obtido na seção "Mensageiros e chats". Cada conta do WhatsApp conectada recebe um identificador único do construtor.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
message_id - número do bloco para envio
whatsapp_bot_id - ID do bot do WhatsApp do qual a mensagem deve ser enviada
attachment_url - URL do arquivo
attachment_type - tipo de exibição do arquivo. Obrigatório se attachment_url for fornecido.
message - texto da mensagem
phone - número de telefone do destinatário
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
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)
Envio de mensagens em massa
**POST** https://chatter.mavibot.ai/api/#{api_key}/broadcast
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/broadcast
Este método permite iniciar uma transmissão.
Você pode usar uma das seguintes opções mutuamente exclusivas:
- parâmetro list — a transmissão será enviada para a lista especificada de clientes.
- parâmetro clients — a transmissão será enviada para um array de IDs de clientes.
- parâmetros platform_ids e group_id — a transmissão será enviada para um array de platform_ids (IDs do mensageiro) para o bot especificado (group_id).
- Se nenhum dos parâmetros acima for fornecido, a transmissão não será enviada.
Parâmetros obrigatórios: message (e/ou attachment_type e attachment_url) ou message_id.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
list - número da lista para a qual a transmissão deve ser enviada
clients - IDs dos clientes no construtor
message - texto da mensagem
platform_ids - IDs dos destinatários no mensageiro. Deve ser usado junto com o parâmetro obrigatório group_id
group_id - obrigatório apenas ao usar platform_ids. Ignorado com outras opções. Especifica o bot para envio para os platform_ids fornecidos
attachment_url - URL do arquivo
attachment_type - tipo de exibição do arquivo. Obrigatório se attachment_url for fornecido.
buttons - botões
message_id - número do bloco para envio
shift — número de segundos entre mensagens. O padrão é 0,2.
time_shift - número. Se especificado, a mensagem será enviada após o número de segundos fornecido a partir do horário atual.
send_time - data e hora no formato "%Y-%m-%d %H:%M:%S" (ex.: "2024-10-16 13:15:59"). Isso define a data e hora para o envio da mensagem. Se ambos time_shift e send_time forem especificados, time_shift terá precedência.
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)
Recuperando o histórico de mensagens
**GET** https://chatter.mavibot.ai/api/#{api_key}/get_history?client_id=
URL request: https://chatter.mavibot.ai/api/#{api\_key}/get\_history?client\_id=
O parâmetro client_id pode ser obtido aqui. link
Permissão de acesso ao gerar a chave: "Permissão para ler informações do cliente".
Path
api key* - token de acesso
Body
client_id - ID do cliente
limit - número de itens na resposta. Padrão: 2000, máximo: 2000
start_date - data de início do período de seleção (obrigatório se stop_date for especificado), formato: dd.mm.yyyy
stop_date - data de fim do período de seleção (obrigatório se start_date for especificado), formato: dd.mm.yyyy
{
"status": "success",
"result": [
{
"id": 104500,
"answered": true,
"client_replica": false,
"message_id": 390,
"message_from_outside": 0,
"created_at": 1587895014,
"text": "Meow meow",
"attachments": {
},
"delivered": true,
"error_message": "true",
"manager_id": 12486,
"manager_email": "[email protected]"
},
]
}
Limpar histórico de mensagens
**GET** https://chatter.mavibot.ai/api/#{api_key}/clear_history?client_id=
URL request: https://chatter.mavibot.ai/api/#{api\_key}/clear\_history?client\_id=
Exclui o histórico do chat
Permissão de acesso ao gerar a chave: "Permissão para modificar/excluir informações do cliente".
Path
api key* - token de acesso
Body
client_id - ID do cliente
import requests
import json
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/clear_history?client_id=85856'
requests.get(url)
Como atribuir clientes
Atribuindo um cliente a um funcionário
**POST** https://chatter.mavibot.ai/api/#{api_key}/assign_to_user
URL request: https://chatter.mavibot.ai/api/#{api\_key}/assign\_to\_user
Este método permite atribuir um cliente a um funcionário. O parâmetro email é opcional. Se nenhum email for fornecido, o sistema atribuirá o cliente de acordo com seu algoritmo.
Permissão de acesso ao gerar a chave: "Permissão para modificar/excluir informações do cliente".
Path
api key* - token de acesso
Body
client_id - ID do cliente
email - email do funcionário (opcional)
import requests
import json
params = {"client_id":"#{client_id}","email":"[email protected]"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/broadcast'
requests.post(url, json=params)
Importando clientes para o sistema
**POST** https://chatter.mavibot.ai/api/#{api_key}/load_clients
URL request: https://chatter.mavibot.pro/api/#{api\_key}/load\_clients
Este método permite importar clientes para o sistema. Ao enviar clientes do WhatsApp, você pode fornecer o número em qualquer formato, com ou sem o final @s.whatsapp.net.
O ID do grupo (group_id) pode ser obtido AQUI via /api/<api_key>/connected_channels. (Se client_type = 13 (telefonia), então group_id é uma string vazia: ""). link
O tipo de mensageiro do qual o cliente veio (client_type) pode ser encontrado AQUI. link
Exemplo: [{"platform_id":"79875555555","group_id":34810,"client_type":6}]
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
platform_id - número de telefone
group_id - ID do grupo
client_type - o tipo de mensageiro de onde o cliente veio
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":"[email protected]", "group_id": "1hwF7lwEjv4SKYIGFhQnBw==", "client_type": 6}]
requests.post(url, json=params)
# se bem-sucedido, a função retornará um ID e um status de adição para cada item
# exemplo de resposta
# {"status":"success","items":[{"platform_id":"[email protected]","group_id":"5kqchxwyvdvFZOsp80q2qw==","client_type":6,"status":"success","id":1469409}]}
Adicionar clientes a uma lista
**POST** https://chatter.mavibot.ai/api/<api_key>/add_to_list
URL request: https://chatter.mavibot.ai/api/\<api_key>/add_to_list
Adiciona clientes a uma lista
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
list_id - número da lista
clients - array de IDs de clientes
Exemplo:
Parâmetros JSON
{"list_id":1170282, "clients":[411262772, 646410963]}
Remover clientes de uma lista
**POST** https://chatter.mavibot.ai/api/#{api_key}/remove_from_list
URL request: https://chatter.mavibot.ai/api/#{api\_key}/remove\_from\_list
Remove clientes de uma lista
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
list_id - número da lista
clients - array de números de clientes no construtor Mavibot (valores de client_id)
Recuperar lista de clientes
**GET** https://chatter.mavibot.ai/api/<api_key>/get_clients
URL request: https://chatter.mavibot.a/aipi/\<api_key>/get_clients
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
offset – Deslocamento a partir do primeiro elemento
limit – Número de itens na resposta / Padrão: 500, Máximo: 500
list – Número da lista
reverse – Indica ordenação reversa (do registro mais antigo para o mais novo). Este parâmetro funciona apenas se a lista não for especificada.
Retorna o status e um array de itens.
{
"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
}
]
}
Recuperar a lista de assinantes do bot em qualquer mensageiro
**GET** https://chatter.mavibot.ai/api/#{api_key}/subscribers
URL request: https://chatter.mavibot.ai/api/#{api\_key}/subscribers
Recupera informações do cliente de um mensageiro selecionado.
Nota! Este método não retorna variáveis.
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
page
tag – Tag especificada na página de assinatura
group – ID do grupo VK ao qual o assinante está vinculado
date_from – Inscrito após esta data (timestamp)
date_to – Inscrito antes desta data (timestamp)
client_type – ID do mensageiro para o qual recuperar a lista de assinantes. Se não especificado, todos os clientes serão retornados
[
{
"id": 44886,
"tag": null,
"created_at": 1609867984,
"name": "John Smith",
"vk_id": "146467928",
"group": "155824294",
"variables": null
},
{
"id": 44889,
"tag": null,
"created_at": 1609867984,
"name": "Anna Smith",
"vk_id": "1609867984",
"group": "155824294",
"variables": {
"utm_source": "some_value"
}
}
]
Como trabalhar com variáveis
Atribuindo variáveis
**POST** https://chatter.mavibot.ai/api/#{api_key}/save_variables
URL request: https://chatter.mavibot.ai/api/#{api\_key}/save\_variables
!** **Nenhum limite se aplica a esta solicitação.
Permite salvar variáveis tanto no lead quanto no cliente.
Por padrão, a solicitação de atribuição de variável as adiciona às variáveis do negócio.
Para atualizar variáveis no perfil do cliente, use o prefixo client.. Por exemplo, para telefone: client.phone.
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Atualização: O parâmetro clients permite atribuir variáveis em massa.
Exemplo: {"client_id":49177759, "variables":{"client.phone":"88888888888"}}
Path
api key* - token de acesso
Body
clients – Array de IDs de clientes para atribuição de variáveis
client_id – ID do cliente
variables – Hash de variáveis (pares chave-valor)
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)
Recuperar variáveis
**GET** https://chatter.mavibot.ai/api/#{api_key}/get_variables?client_id=
URL request: https://chatter.mavibot.ai/api/#{api\_key}/get\_variables?client\_id=
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Exemplo: https://chatter.mavibot.ai/api/d3f31dabef80ddeb73d43938b4ef8bb0/get\_variables?client\_id=49177759
Path
api key* - token de acesso
Body
client_id - ID do cliente
import requests
import json
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.mavibot.ai/api/{token}/get_variables?client_id=85856'
requests.get(url)
Como recuperar o ID do cliente (client_id)
Recuperar client_id usando o valor platform_id
**POST** https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_platform_id
URL request: https://chatter.mavibot.ai/api/#{api\_key}/find\_client\_id\_by\_platform\_id
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Path
api key* - token de acesso
Body
platform_ids - Array de IDs em um mensageiro
group_id - ID do bot
[{
"id":15099119,
"tag":null,
"created_at":1618815253,
"name":"ОЛЬГА БЕЛИК",
"avatar":"https:\\/\\/files.mavibot.ai\\/uploads\\/avatars\\/256865200.jpg",
"platform_id":"2568652",
"group":"Mavibotai_bot",
"variables":{"tg_username":"@belik"}},
{"id":21087377,
"tag":null,
"created_at":1626275893,
"name":"John Smith",
"avatar":"https:\\/\\/files.mavibot.ai\\/uploads\\/avatars\\/571830542.jpg",
"platform_id":"571830542",
"group":"Mavibotai_bot",
"variables":{"tg_username":"@jsmith61"}
}]
Recuperar o ID do cliente do chat online
**GET** https://chatter.mavibot.ai/api/#{api_key}/online_chat_client_id?recipient=
URL request: https://chatter.mavibot.ai/api/#{api\_key}/online\_chat\_client\_id?recipient=
Este método permite integrar um site com um bot de chat. Por exemplo, se um usuário visitar uma página de promoção, você pode enviar imediatamente uma mensagem no chat com uma oferta personalizada.
Permissão de acesso ao gerar a chave: "Permissão para modificar ou excluir informações do cliente".
Caminho
api key* - token de acesso
Corpo
tag - tag (tag do cliente)\nname - nome do cliente\nrecipient - ID do diálogo no site
Onde obter o recipient?
Você pode obtê-lo no site com o chat online do Mavibot.ai, use JS para obter a propriedade MavibotAi.recipient_id.
{ "client_id": 36553 }
Recuperar client_id pelo número do WhatsApp
**GET** https://chatter.mavibot.ai/api/#{api_key}/whatsapp_client_id?phone=
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/whatsapp\_client\_id?phone=
Este método retorna o ID do cliente para fazer requisições à API se você souber o número de telefone do WhatsApp do cliente.
Se nenhum cliente existir com esse número, o método retornará um erro 404.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Caminho
api key* - token de acesso
Corpo
phone - número de telefone
group_id - ID do bot
Recuperar client_id pelo número de telefone
**GET** https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_phone?phone=
URL da requisição: https://chatter.mavibot.ai/api/\<api_key>/find_client_id_by_phone?phone=
Este método retorna o ID do cliente para fazer requisições à API.
A busca é realizada tanto entre clientes do WhatsApp quanto por meio de variáveis.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Caminho
api key* - token de acesso
Corpo
phone - número de telefone
Recuperar client_id pelo e-mail
**GET** https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_email?email=
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/find\_client\_id\_by\_email?email= 
Este método retorna o ID do cliente para fazer requisições à API.
A busca é realizada usando variáveis.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Caminho
api key* - token de acesso
Corpo
email - e-mail para busca
Recuperar client_id pelo valor da variável
**GET** https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_var?var=&val=
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/find\_client\_id\_by\_var?var=\&val=
Este método retorna o ID do cliente para fazer requisições à API.
Permissão de acesso ao gerar a chave: "Permissão para ler informações do cliente"
Caminho
api key* - token de acesso
Corpo
var - nome da variável para busca
val - valor da variável
group_id - ID do grupo
search_in - passe o valor 'order' para pesquisar em variáveis de negócio; pesquisa até três variáveis para clientes do projeto e retorna uma lista de clientes que possuem todas as variáveis especificadas.
Recuperar o ID do cliente criado mais recentemente pelo valor da variável
**GET** https://chatter.mavibot.ai/api/#{api_key}/find_latest_client_id_by_var?var=&val=
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/find\_latest\_client\_id\_by\_var ?var=&val=
Este método retorna o ID do cliente criado mais recentemente para fazer requisições à API. Ele pesquisa tanto variáveis de cliente quanto de negócio.
Permissão de acesso ao gerar a chave: "Permissão para ler informações do cliente"
Caminho
api key* - token de acesso
Corpo
var - nome da variável para busca
val - valor da variável
Recuperar uma lista de valores de client_id pelo valor da variável
**GET** https://chatter.mavibot.ai/api/#{api_key}/find_all_client_id_by_var?var=&val=
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/find\_all\_client\_id\_by\_var?var=\&val=
Este método retorna uma lista de IDs de clientes que possuem a variável especificada com o valor especificado.
Permissão de acesso ao gerar a chave: "Permissão para ler informações do cliente"
Caminho
api key* - token de acesso
Corpo
var - nome da variável para busca
val - valor da variável
{
// Resposta
}
Recuperar uma lista de valores de client_id com base em múltiplos valores de variáveis
**GET** https://chatter.mavibot.ai/api/#{api_key}/find_all_client_id_by_several_vars?var=val
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/find\_all\_client\_id\_by\_several\_vars?var=val
Permissão de acesso ao gerar a chave: "Permissão para ler informações do cliente".
Caminho
api key* - token de acesso
Corpo
variable1 - Valor1
variable2 - Valor2
variable3 - Valor3
{
"status":"success","client_ids":[93891114]
}
Pesquisar por variáveis
**POST** https://chatter.mavibot.ai/api/#{api_key}/find_clients
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/find\_clients
Este método pesquisa por variáveis e retorna uma lista de IDs de clientes que atendem às condições da consulta.
Por padrão, a pesquisa é realizada nas variáveis do cliente (recomendado): {"q": {"result": "ok", "var": "home", "var": "60"}} – o cliente deve ter todas as variáveis especificadas
Pesquisar em variáveis de negócio, pelo menos uma das variáveis especificadas deve estar presente: {"q": {"result": "ok", "var": "home", "var": "60"}, "search_in": "order", "include_all": False}
O nome da variável do cliente é igual a um dos valores da lista: {"q": {"name": {"_in": ["Joe", "Jane", "Donald"]}}}
O nome da variável do cliente NÃO é igual a nenhum dos valores da lista: {"q": {"name": {"_not_in": ["Joe", "Jane", "Donald"]}}}
O nome da variável do cliente não é igual a "Joe": {"q": {"name": {"_not": "Joe"}}}
Nota: A comparação de números funciona apenas se todos os clientes tiverem valores numéricos na variável pesquisada. Se pelo menos um cliente tiver uma string, a requisição falhará.
Permissão de acesso ao gerar a chave: "Permissão para ler informações do cliente"
Parâmetros
Caminho
api key* - token de acesso
Corpo
q – parâmetro obrigatório, contém as condições da consulta para pesquisar variáveis
search_in – especifica em qual entidade as variáveis devem ser pesquisadas; se não for fornecido, a pesquisa é feita nas variáveis do cliente. Pode assumir o valor order.
include_all – se todas as condições em q devem ser atendidas;
False – se pelo menos uma condição corresponder, a entidade é selecionada
Sucesso
{"status":"success","client_ids":[41203, 5622354, 785212]}
{"status":"success","client_ids":[]}
{"status": "fail", "message": "Parameter "q" required"} {"status": "fail", "message": "Error in parameter format"}
Erro
{"status":"fail","message":"Something went wrong"}
Como trabalhar com negócios
Recuperar o ID do negócio atual
**GET** https://chatter.mavibot.ai/api/#{api_key}/get_current_order_id
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/get\_current\_order\_id
Permissão de acesso ao gerar a chave: "Permissão para ler informações do CRM".
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
Resposta de sucesso: {"status":"success","order_id":40632}, onde
order_id - ID do negócio atual
Resposta de erro: {"status":"client_not_found"}
Recuperar a lista de negócios
**GET** https://chatter.mavibot.ai/api/#{api_key}/get_orders
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/get\_orders
Permissão de acesso ao gerar a chave: "Permissão para ler informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
order_status - estágio do negócio:
0 - negócios ativos
1 - negócios bem-sucedidos
2 - negócios malsucedidos
Resposta de sucesso: {"status":"success","order_id":[40338,40340,40341]}
Resposta de erro: {"status":"client_not_found"}
Mover um negócio para o próximo estágio no funil do Mavibot
**POST** https://chatter.mavibot.ai/api/#{api_key}/move_order_to_next_state
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/move\_order\_to\_next\_state
Permissão de acesso ao gerar a chave: "Permissão para modificar/excluir informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
order_id - ID do negócio
Resposta de sucesso:
{"status":"success","state_id":37}, onde
state_id - ID do estágio no MavibotCRM
Resposta de erro:
{"status":"client_not_found"}
Recuperar dados do negócio
**POST** https://chatter.mavibot.ai/api/#{api_key}/get_order_vars
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/get\_order\_vars
Permissão de acesso ao gerar a chave: "Permissão para ler informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
order_id - ID do negócio
variables - array de variáveis
(formato:["var_name1", "var_name2"])
Resposta de sucesso:
{"status":"success","result":{"var_name1":"111","var_name2":"13.04.2023"}}
Exemplo de erro:
{"status":"client_not_found"}
Adicionar variáveis de negócio
**POST** https://chatter.mavibot.ai/api/#{api_key}/set_order_vars
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/set\_order\_vars
Permissão de acesso ao gerar a chave: "Permissão para modificar/excluir informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
order_id - ID do negócio
variables - Um dicionário de variáveis (a chave é o nome da variável, e o valor é o que deve ser salvo nessa variável)
(formato:{"var_name": "var_value"})
Resposta de sucesso: {"status":"success"}
Resposta de erro: {"status":"order 12345 not found"}
Criar um negócio
**POST** https://chatter.mavibot.ai/api/#{api_key}/create_order
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/create\_order
Permissão de acesso ao gerar a chave: "Permissão para modificar/excluir informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
name - nome do negócio
description - descrição do negócio
budget - valor do negócio
Você deve especificar um dos seguintes parâmetros na requisição: client_id, email ou phone.
Se vários parâmetros forem fornecidos, apenas um será usado. A ordem de prioridade é: client_id > phone > email.
Se phone ou email for fornecido e nenhum cliente existir com esse número de telefone ou e-mail, um novo cliente será criado.
Resposta de sucesso: {"status":"success","order_id":40654},
onde order_id é o ID do novo negócio ativo.
Resposta de erro: {"status":"client_not_found"}
Mover um negócio para um estágio no MavibotCRM
**POST** https://chatter.mavibot.ai/api/#{api_key}/set_order_state
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/set\_order\_state
Permissão de acesso ao gerar a chave: "Permissão para modificar/excluir informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
state_id - número do estágio para o qual o negócio do cliente deve ser movido
Recuperar o ID do estágio do funil no Mavibot CRM
**GET** https://chatter.mavibot.ai/api/#{api_key}/get_order_state
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/get\_order\_state
Permissão de acesso ao gerar a chave: "Permissão para ler informações do CRM"
Caminho
api key* - token de acesso
Corpo
client_id - ID do cliente
state_id - ID do negócio (se não for especificado, o método retornará o ID do estágio do negócio atual)
Exemplo de resposta bem-sucedida:
{'status': 'success', 'state_id': 123456}
Exemplo de resposta mal-sucedida:
{'status': 'order not found'}
Que outras capacidades estão disponíveis?
Verificar se um número de telefone tem WhatsApp
**GET** https://chatter.mavibot.ai/api/#{api_key}/check_whatsapp
URL da requisição: https://chatter.mavibot.ai/api/#{api\_key}/check\_whatsapp
Para usar este método, o WhatsApp deve estar conectado ao Mavibot.
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Pode ser chamado usando GET ou POST.
O número de telefone pode ser fornecido em qualquer formato.
Caminho
api key* - token de acesso
Corpo
phone - número de telefone a verificar
Obter a lista de mensageiros conectados ao projeto
**GET** https://chatter.mavibot.ai/api/<api_key>/connected_channels
URL da requisição: https://chatter.mavibot.ai/api/\<api_key>/connected_channels
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
A função retorna o parâmetro group_id para cada mensageiro, que deve ser usado ao importar clientes.
Para WhatsApp, também retorna um campo status, que pode ter os seguintes valores:
NOT_STARTED = 0
STARTED = 1
ASLEEP = 2
STOPPED = 3
Caminho
api key* - token de acesso
{'project_id': 1,
'viber': [{
'id': 14,
'uri': 'mavibotstage',
'name': 'mavibotstage',
'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': [],
'avito': [],
'ok': [],
'vkontakte': [{
'id': 33,
'group': '143414131',
'group_id': '143414131'}]
}
Recuperar a lista de blocos do fluxo do bot
**GET** https://chatter.mavibot.ai/api/<api_key>/get_messages
URL da requisição: https://chatter.mavibot.ai/api/\<api_key>/get_messages
Permissão de acesso ao gerar uma chave: "Permissão para modificar ou excluir informações do cliente".
Caminho
api key* - token de acesso
Recuperar dados aninhados do cliente
delimiter
Para recuperar client_id e/ou o número de telefone do cliente de dicionários aninhados (não no primeiro nível), use o parâmetro delimiter.
Adicione o seguinte à sua URL de requisição:
?delimiter=1&delimiter_value_client_id={key1}1{key2}&delimiter_value_phone={key1}1{key2}
onde:
?delimiter=1 – o valor do delimitador que separa as chaves {key1}1{key2}1{key3}
delimiter_value_client_id={key1}1{key2} – para recuperar o ID do cliente
delimiter_value_phone={key1}1{key2} – para recuperar o número de telefone do cliente
{key1}, {key2}, … – chaves contendo os valores (podem incluir qualquer caractere, exceto o delimitador). Você pode ter um número ilimitado de chaves:
?delimiter=1&delimiter_value_client_id={key1}1{key2}1{key3}1{key4}1{key5}1{key6}.
As chaves são passadas sem chaves.
Use o delimitador entre as chaves. Por exemplo, se delimiter=2, então {key1}2{key2}2{key3}; se delimiter=5, então {key1}5{key2}5{key3}. Certifique-se de que a chave não contenha o caractere delimitador.
Exemplo:
https://chatter.mavibot.a/aipi/\<api_key>/callback****?delimiter=1&delimiter_value_client_id={key1}1{key2}&delimiter_value_phone={key1}1{key2}****
Você também pode recuperar apenas o ID ou apenas o número de telefone:
https://chatter.salebot.pro/api/\<api_key>/callback****?delimiter=1&delimiter_value_client_id={key1}1{key2} -**** apenas ID do cliente;
https://chatter.salebot.pro/api/\<api_key>/callback****?delimiter=1delimiter_value_phone={key1}1{key2}**** - apenas número de telefone;
Métodos da API:
- Iniciar bot: https://chatter.mavibotbot.ai/api/\<api_key>/callback
- Iniciar bot por número do WhatsApp: https://chatter.mavibotbot.ai/api/\<api_key>/whatsapp_callback
- Iniciar bot por ID do Telegram: https://chatter.mavibotbot.ai/api/\<api_key>/tg_callback
- Enviar mensagem de callback para cliente de e-mail: https://chatter.mavibotbot.ai/api/\<api_key>/email_callback
- Enviar mensagem para cliente: https://chatter.mavibotbot.ai/api/\<api_key>/message
- Enviar mensagem do WhatsApp: https://chatter.mavibotbot.ai/api/\<api_key>/whatsapp_message
- Mensagens em massa: https://chatter.mavibotbot.ai/api/\<api_key>/broadcast
- Atribuir variáveis: https://chatter.mavibotbot.ai/api/\<api_key>/save_variables\
Se precisar de métodos adicionais, entre em contato com o suporte.