Algunas funciones de solicitud de API se pueden ejecutar en la Calculadora.

Las solicitudes se envían mediante el método POST o GET a una URL con el siguiente formato:

https://chatter.mavibot.ai/api/{api\_key}/{action}

Donde:

api_key — la clave de acceso a la API generada en la configuración del proyecto.

Para usar el token en una solicitud URL, primero debes generar una clave de API.

Las instrucciones para hacerlo se proporcionan en la sección "Generación de una clave de API". enlace

Al copiar una URL de esta página, puede aparecer un espacio que debe eliminarse.

Ejemplo de un enlace incorrecto:
https://chatter.mavibot.pro /api/callback

Si el espacio después de .pro permanece, la solicitud no funcionará.

No uses caracteres prohibidos al enviar una solicitud GET.

Asegúrate de comprender el formato correcto para las solicitudes GET.

Cómo generar una clave de API

La función antigua de generación de claves de API aún funciona como antes, pero no está disponible para proyectos nuevos.

Si tu proyecto ya tiene claves de API generadas sin la configuración de acceso descrita en esta sección, esas claves de API existentes seguirán funcionando con normalidad.

Si necesitas generar nuevas claves, usa la configuración actualizada.

Para generar una clave de API, ve a la configuración del proyecto:

A continuación, ve a la sección "Integraciones":

Encontrarás el botón "Agregar clave de API" en la sección "Integraciones":

Después de hacer clic en el botón, se abrirá una ventana modal con la configuración de acceso y las opciones de generación de la clave de API:

A continuación, debes seleccionar los permisos de acceso para la clave de API:

La función de la API funcionará según los permisos de acceso que selecciones.

¡Ten en cuenta!

La función de la API depende de los permisos de acceso que establezcas: si generas una clave de API con acceso de solo lectura a la información del cliente y luego la usas para enviar un mensaje a un cliente o modificar sus variables, la solicitud a la API fallará.
El permiso requerido para cada solicitud de API se especifica en la tarjeta de solicitud de API:

A continuación, ingresa un nombre para la clave de API:

Genera la clave de API haciendo clic en el botón "Generar":

Después de eso, haz clic en "Listo" y la clave de API se agregará a la sección:

Puedes agregar tantas claves de API como necesites, asignando diferentes permisos de acceso a cada una.

A continuación, debes establecer una clave de proyecto principal. Esto te permite usar la clave en una URL de solicitud con el marcador de posición #{api_key}.

Para hacerlo, haz clic en el botón "{+}" a la derecha de la clave de API deseada:

Aparecerá una etiqueta junto a la clave, que indica que es la clave de proyecto principal.

Puedes acceder a la clave de proyecto principal a través de api_key: simplemente genera la clave requerida, establece sus permisos y designala como la clave de proyecto principal. Luego, en la Calculadora, usa la URL de solicitud con el marcador de posición #{api_key}, que contendrá el valor de la clave de proyecto principal.

Cualquier otra clave generada con configuración de acceso se considerará clave secundaria. En la URL de solicitud, puedes usar su valor en lugar de #{api_key}. Para hacerlo, copia el valor de la clave secundaria:

y pégalo en la URL de solicitud en lugar de #{api_key}:

Una clave de API generada con el método antiguo se establece como clave de proyecto principal de forma predeterminada y tiene permisos completos.

¡Nota!

Si eliminas la clave establecida como clave de proyecto principal, deberás designar manualmente una nueva clave como principal.

¡Ten en cuenta!

Si tienes claves de API generadas con el método antiguo, seguirán funcionando con normalidad. No es posible generar nuevas claves de API del tipo antiguo.

Cómo recibir mensajes en la URL de Webhook especificada en la configuración del proyecto

Configuración del proyecto

Cada mensaje entrante o saliente se enviará como la siguiente solicitud JSON POST:

{
    "id": "ID del mensaje en el sistema",
    "client": {
        "id": "ID del cliente en el sistema",
        "recepient": "ID del cliente en el mensajero",
        "client_type": "tipo de mensajero",
        "name": "nombre del cliente",
        "avatar": "avatar del cliente",
        "created_at": "fecha de creación del cliente",
        "tag": "clave de suscripción",
        "group": "bot al que está vinculado el cliente"
    },
    "message": "texto del mensaje",
    "attachments": "array que contiene enlaces a archivos o diccionarios de enlaces a archivos",
    "message_id": "ID del bloque desde el que se envió el mensaje",
    "project_id": "ID del proyecto",
    "is_input": "1 si el mensaje es del cliente, 0 si es del bot",
    "delivered": "1 si el mensaje se envió correctamente, 0 si hubo un error",
    "error_message": "texto del error de envío del mensaje"
}

Si una solicitud devuelve un error, no se reintentará. Incluso si el servidor devuelve errores, las notificaciones continuarán enviándose.

Cómo crear una solicitud JSON

Ve a la configuración del bloque donde se registrarán los datos en la tabla.

  1. Agrega una sección de Solicitud de API.
  2. Selecciona POST-JSON como tipo de solicitud.
  3. Luego procede a completar los campos de la solicitud:

URL de solicitud — la ruta a la función que se va a llamar. En la documentación, esto siempre se muestra en la primera línea junto al tipo de solicitud:

Valores guardados — una lista de parámetros de respuesta con los nombres de las variables donde se deben almacenar los resultados, en el siguiente formato:

request_parameter -> your_variable

Si la respuesta contiene parámetros con una estructura compleja, analízalos de la siguiente manera:

  • "cell_number":{"row":4,"col":2}\n > \n > \n > cell_number|row ->String; \n > cell_number|col -> Columna

Encabezados de solicitud — complétalos si es necesario. Esto generalmente incluye el formato de datos y/o el token de acceso.

Parámetros JSON — el cuerpo de la solicitud, donde especificas los parámetros de datos en formato JSON. Ejemplo:

{"client_id": "#{recipient_id_in_builder}", "message":"¡Hola!"}

Para comprender la estructura de la respuesta, escribe #{custom_answer} en el campo Mensaje para generar el valor de la variable.

A continuación, la documentación enumera los parámetros permitidos en la sección "Cuerpo":

Cómo usar un webhook universal

Los métodos enumerados ahora se pueden ejecutar como solicitudes POST o GET.

Anteriormente, nuestros métodos tenían parámetros fijos (como client_id y fb_id) para activar acciones del suscriptor, lo que imponía ciertas limitaciones al integrarse con servicios de terceros.

Ahora puedes especificar qué parámetro de solicitud debe usar MaviBot para encontrar el ID de usuario. Usa un parámetro con el prefijo value_, por ejemplo, value_user_id o value_group_id.

Adicionalmente, el método de envío de callback ahora se puede activar usando el correo electrónico del cliente (client_email) o el número de teléfono (client_phone).

Los métodos callback, fb_callback y whatsapp_callback no están vinculados a nombres de parámetros específicos. Puedes especificar qué parámetro contiene el número de teléfono, correo electrónico o ID del cliente.

Esto es útil al configurar la recepción de webhooks desde un sitio web.

Para especificar qué variable contiene el client_id, usa el parámetro value_client_id y proporciona el nombre del parámetro que contiene este valor.

Para especificar qué variable contiene el número de teléfono, usa value_phone.

Para especificar qué variable contiene el correo electrónico, usa value_email.

Para especificar qué variable contiene el user_id, usa value_user_id.

Para especificar qué variable contiene el group_id, usa value_group_id.

Para especificar la variable que contiene el mensaje en sí en el webhook, usa value_message (se pasa de la misma manera que los otros parámetros).

Ejemplo:

En la dirección, especifica value_client_id = my_client.

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

La solicitud será equivalente a la siguiente:

https://chatter.mavibot.pro/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback
{"client_id":49177759, "message":"Hola mundo"}

Como puedes ver, el nombre del parámetro que contiene el valor tiene el prefijo value_.

¡Ten en cuenta!

Algunos eventos generan notificaciones del sistema dentro del proyecto.

Por ejemplo, hay notificaciones del sistema con un campo de mensaje que no está vacío pero no contiene texto del cliente.

Al mismo tiempo, el proyecto también puede generar hooks de mensajes con contenido específico, como "message: new_chat_member".

Por lo tanto, es importante verificar el contenido: será una notificación del sistema o un hook para un evento específico.

Cómo iniciar el bot

Iniciar el bot

**POST** https://chatter.mavibot.ai/api/#{api_key}/callback

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/callback

Este método se puede usar para activar un embudo para un cliente o confirmar una acción en un recurso externo. El cliente no verá este mensaje.

Ten en cuenta: cualquier parámetro que pases adicionalmente se guardará en la variable

El método de callback ahora también se puede activar usando el correo electrónico del cliente (client_email) o el número de teléfono (client_phone).

Permiso de acceso al generar una clave: "Permiso para modificar/eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

client_phone - número de teléfono utilizado para buscar al cliente

client_email - correo electrónico utilizado para buscar al cliente

client_id - ID del cliente en el builder

message - texto del mensaje

resume_bot - True (parámetro opcional). Si el bot está en pausa, se usa para reanudarlo.

Ejemplo: resume_bot = True

time_shift - número. Si se especifica, el mensaje se enviará después del número dado de segundos desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (por ejemplo, "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

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)

Iniciar el bot usando un número de WhatsApp

**POST** https://chatter.mavibot.ai/api/<api_key>/whatsapp_callback

URL de solicitud: https://chatter.mavibot.ai/api/\\<api_key>/whatsapp_callback

Este método puede activar el bot de WhatsApp después de que un cliente se registre en el sitio web o envíe una solicitud con su número de teléfono.

Ten en cuenta: cualquier parámetro que agregues adicionalmente se guardará en una variable

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Path

api key* - token de acceso

Body

name - nombre del cliente
message - texto del mensaje
phone - número de teléfono del cliente
bot_id - ID del bot
resume_bot - True (parámetro opcional). Si el bot está en pausa, úsalo para reanudarlo. Ejemplo: resume_bot = True

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

Iniciar el bot usando un ID de Telegram

**POST** https://chatter.mavibot.pro/api/#{api_key}/tg_callback

URL de solicitud: https://chatter.mavibot.pro/api/#{api\\_key}/tg\\_callback

Este método se puede usar para activar un embudo para un cliente o confirmar una acción en un sitio web externo. El cliente no verá este mensaje.

Ten en cuenta: cualquier parámetro que agregues adicionalmente se guardará en variables.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Path

api key* - token de acceso

Body

message - texto del mensaje
user_id - ID de usuario de Telegram
group_id - nombre del bot (terminado en bot)
resume_bot - True (parámetro opcional). Si el bot está en pausa, úsalo para reanudarlo. Ejemplo: resume_bot = True

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

Enviar mensajes de callback a una lista de clientes por platform_id

**POST** https://chatter.mavibot.ai/api/#{api_key}/send_callback_by_platform_id

URL de solicitud: https://chatter.mavibot.ai/api/#{api\\_key}/send\\_callback\\_by\\_platform\\_id

Cuando se encuentren clientes con un platform_id de la lista en el proyecto, se enviará un callback con el texto del campo callback_text.
\ Límite: 1 solicitud = máximo 300 envíos

Ejemplo de parámetros de solicitud:
{"platform_ids":[407184121, "79609879898", "2rwewefw"], "callback_text": "test_callback"}

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Path

api key* - token de acceso

Body

platform_ids - Lista de IDs de cliente en el mensajero
callback_text - texto del callback
group_id - ID del bot

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

Enviar un mensaje de callback a un cliente por correo electrónico

**POST** https://chatter.mavibot.ai/api/#{api_key}/email_callback

URL de solicitud: https://chatter.mavibot.ai/api/#{api\\_key}/email\\_callback

Este método puede activar el bot de correo electrónico después de que un cliente se registre en el sitio web o envíe una solicitud con su correo electrónico. El método localizará el correo electrónico del cliente o lo creará si no se encuentra.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Ten en cuenta: cualquier parámetro que agregues adicionalmente se guardará en una variable

Path

api key* - token de acceso

Body

name - nombre del cliente
message - texto del mensaje
email - dirección de correo electrónico
email_id_bot - dirección de correo electrónico del bot
resume_bot - True (parámetro opcional).

Si el bot está en pausa, úsalo para reanudarlo. Ejemplo: resume_bot = True

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

Cómo trabajar con mensajes

Parámetros de envío de mensajes

attachment_type — puede ser: image, video, link, file o audio.
Al enviar un archivo adjunto, el parámetro message es opcional.

buttons — define los botones que se adjuntarán al mensaje. El formato de los botones coincide con la configuración avanzada de botones.

Los botones se pueden pasar de dos maneras: con una sugerencia para mensajeros que no admiten botones, o sin ella.

Ejemplo del parámetro buttons:

"buttons": {
  "hint": "Este texto se mostrará en WhatsApp",
  "buttons": [
    {
      "type": "reply",
      "text": "Cuéntame sobre los servicios",
      "line": 0,
      "index_in_line": 0
    },
    {
      "type": "reply",
      "text": "Precios de servicios",
      "line": 0,
      "index_in_line": 1
    },
    {
      "type": "reply",
      "text": "Contactos",
      "line": 1,
      "index_in_line": 0
    },
    {
      "type": "reply",
      "text": "Enviar una solicitud",
      "line": 1,
      "index_in_line": 1
    }
  ]
}

Enviar un mensaje a un cliente

**POST** https://chatter.mavibot.ai/api/#{api_key}/message

URL de solicitud: https://chatter.mavibot.ai/api/#{api\\_key}/message

Este método se puede usar para enviar mensajes de notificación. El parámetro message es obligatorio a menos que estés enviando un archivo. Si estás enviando un archivo, el texto es opcional.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Path

api key* - token de acceso

Body

message_id - número de bloque para enviar
message - texto del mensaje
client_id - ID del cliente en el constructor
attachment_type - tipo de visualización del archivo. Obligatorio si se proporciona attachment_url.
attachment_url - URL del archivo
buttons - botones

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

import requests
import json

# Enviar un mensaje 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)

# Enviar un archivo adjunto
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)

# En 'attachment_type', especifica 'video', 'image' o 'file'
# según el tipo de archivo adjunto: video, imagen o documento.

Enviar un mensaje en WhatsApp

**POST** https://chatter.salebot.pro/api/<api_key>/whatsapp_message

URL de solicitud: https://chatter.mavibot.pro/api/\\<api_key>/whatsapp_message

Permite enviar un mensaje en nombre del bot conectado al número especificado. El whatsapp_bot_id debe tomarse de la sección "Mensajeros y chats". A cada cuenta de WhatsApp conectada se le asigna un identificador único por el constructor.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Path

api key* - token de acceso

Body

message_id - número de bloque para enviar
whatsapp_bot_id - ID del bot de WhatsApp desde el cual se debe enviar el mensaje
attachment_url - URL del archivo
attachment_type - tipo de visualización del archivo. Obligatorio si se proporciona attachment_url.
message - texto del mensaje
phone - número de teléfono del destinatario

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

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)

Envío masivo de mensajes

**POST** https://chatter.mavibot.ai/api/#{api_key}/broadcast

URL de solicitud: https://chatter.mavibot.ai/api/#{api\\_key}/broadcast

Este método permite iniciar una transmisión.

Puedes usar una de las siguientes opciones mutuamente excluyentes:

  1. parámetro list — la transmisión se enviará a la lista especificada de clientes.
  2. parámetro clients — la transmisión se enviará a un array de IDs de cliente.
  3. parámetros platform_ids y group_id — la transmisión se enviará a un array de platform_ids (IDs de mensajero) para el bot especificado (group_id).
  4. Si no se proporciona ninguno de los parámetros anteriores, la transmisión no se enviará.

Parámetros obligatorios: message (y/o attachment_type y attachment_url) o message_id.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Path

api key* - token de acceso

Body

list - número de lista a la que se debe enviar la transmisión

clients - IDs de cliente en el constructor

message - texto del mensaje

platform_ids - IDs de destinatario en el mensajero. Debe usarse junto con el parámetro obligatorio group_id

group_id - obligatorio solo cuando se usa platform_ids. Se ignora con otras opciones. Especifica el bot para enviar a los platform_ids dados

attachment_url - URL del archivo

attachment_type - tipo de visualización del archivo. Obligatorio si se proporciona attachment_url.

buttons - botones

message_id - número de bloque para enviar

shift — número de segundos entre mensajes. El valor predeterminado es 0.2.

time_shift - número. Si se especifica, el mensaje se enviará después del número de segundos indicado desde la hora actual.

send_time - fecha y hora en el formato "%Y-%m-%d %H:%M:%S" (ej., "2024-10-16 13:15:59"). Esto establece la fecha y hora para enviar el mensaje. Si se especifican tanto time_shift como send_time, time_shift tendrá prioridad.

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)

Recuperar el historial de mensajes

**GET** https://chatter.mavibot.ai/api/#{api_key}/get_history?client_id=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/get\_history?client\_id=

El parámetro client_id se puede obtener aquí. enlace

Permiso de acceso al generar la clave: "Permiso para leer información del cliente".

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

limit - número de elementos en la respuesta. Valor predeterminado: 2000, máximo: 2000

start_date - fecha de inicio del período de selección (obligatorio si se especifica stop_date), formato: dd.mm.yyyy

stop_date - fecha de fin del período de selección (obligatorio si se especifica start_date), 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]"
    },
  ]
}

Borrar historial de mensajes

**GET** https://chatter.mavibot.ai/api/#{api_key}/clear_history?client_id=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/clear\_history?client\_id=

Elimina el historial del chat

Permiso de acceso al generar la clave: "Permiso para modificar/eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

import requests
import json


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

Cómo asignar clientes

Asignar un cliente a un empleado

**POST** https://chatter.mavibot.ai/api/#{api_key}/assign_to_user

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/assign\_to\_user

Este método permite asignar un cliente a un empleado. El parámetro email es opcional. Si no se proporciona un correo electrónico, el sistema asignará el cliente según su algoritmo.

Permiso de acceso al generar la clave: "Permiso para modificar/eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente
email - correo electrónico del empleado (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)

Importar clientes al sistema

**POST** https://chatter.mavibot.ai/api/#{api_key}/load_clients

URL de solicitud: https://chatter.mavibot.pro/api/#{api\_key}/load\_clients

Este método permite importar clientes al sistema. Al cargar clientes de WhatsApp, puede proporcionar el número en cualquier formato, ya sea con la terminación @s.whatsapp.net o sin ella.

El ID del grupo (group_id) se puede obtener AQUÍ a través de /api/<api_key>/connected_channels. (Si client_type = 13 (telefonía), entonces group_id es una cadena vacía: ""). enlace

El tipo de mensajería del que provino el cliente (client_type) se puede encontrar AQUÍ. enlace

Ejemplo: [{"platform_id":"79875555555","group_id":34810,"client_type":6}]

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

platform_id - número de teléfono
group_id - ID del grupo
client_type - el tipo de mensajería del que provino un cliente

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)
# si tiene éxito, la función devolverá un ID y un estado de adición para cada elemento
# ejemplo de respuesta
# {"status":"success","items":[{"platform_id":"[email protected]","group_id":"5kqchxwyvdvFZOsp80q2qw==","client_type":6,"status":"success","id":1469409}]}

Agregar clientes a una lista

**POST** https://chatter.mavibot.ai/api/<api_key>/add_to_list

URL de solicitud: https://chatter.mavibot.ai/api/\<api_key>/add_to_list

Agrega clientes a una lista

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

list_id - número de lista
clients - matriz de ID de clientes

Ejemplo:
Parámetros JSON
{"list_id":1170282, "clients":[411262772, 646410963]}

Eliminar clientes de una lista

**POST** https://chatter.mavibot.ai/api/#{api_key}/remove_from_list

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/remove\_from\_list

Elimina clientes de una lista

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

list_id - número de lista
clients - matriz de números de cliente en el constructor de Mavibot (valores de client_id)

Recuperar lista de clientes

**GET** https://chatter.mavibot.ai/api/<api_key>/get_clients

URL de solicitud: https://chatter.mavibot.a/aipi/\<api_key>/get_clients

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

offset – Desplazamiento desde el primer elemento

limit – Número de elementos en la respuesta / Valor predeterminado: 500, Máximo: 500

list – Número de lista

reverse – Indica ordenación inversa (del registro más antiguo al más nuevo). Este parámetro solo funciona si no se especifica la lista.

Devuelve el estado y una matriz de elementos.

{
"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 la lista de suscriptores del bot en cualquier mensajería

**GET** https://chatter.mavibot.ai/api/#{api_key}/subscribers

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/subscribers

Recupera información del cliente de una mensajería seleccionada.

¡Nota! Este método no devuelve variables.

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

page
tag – Etiqueta especificada en la página de suscripción
group – ID del grupo de VK al que está vinculado el suscriptor
date_from – Suscrito después de esta fecha (timestamp)
date_to – Suscrito antes de esta fecha (timestamp)
client_type – ID de la mensajería para la cual recuperar la lista de suscriptores. Si no se especifica, se devolverán todos los clientes

[  
  {
    "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"
    }
  }
]

Cómo trabajar con variables

Asignar variables

**POST** https://chatter.mavibot.ai/api/#{api_key}/save_variables

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/save\_variables

!** **No se aplica ningún límite a esta solicitud.

Permite guardar variables tanto en el lead como en el cliente.
Por defecto, la solicitud de asignación de variables las agrega a las variables del deal.
Para actualizar variables en el perfil del cliente, use el prefijo client.. Por ejemplo, para un teléfono: client.phone.

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Actualización: El parámetro clients permite asignar variables en lote.
Ejemplo: {"client_id":49177759, "variables":{"client.phone":"88888888888"}}

Ruta

api key* - token de acceso

Cuerpo

clients – Matriz de ID de clientes para la asignación de variables

client_id – ID del cliente

variables – Hash de variables (pares clave-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 variables

**GET** https://chatter.mavibot.ai/api/#{api_key}/get_variables?client_id=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/get\_variables?client\_id=

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ejemplo: https://chatter.mavibot.ai/api/d3f31dabef80ddeb73d43938b4ef8bb0/get\_variables?client\_id=49177759

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

import requests
import json


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

Cómo recuperar el ID del cliente (client_id)

Recuperar client_id usando el valor platform_id

**POST** https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_platform_id

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_client\_id\_by\_platform\_id

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

platform_ids - Matriz de ID en una mensajería
group_id - ID del 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 el ID del cliente del chat en línea

**GET** https://chatter.mavibot.ai/api/#{api_key}/online_chat_client_id?recipient=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/online\_chat\_client\_id?recipient=

Este método permite integrar un sitio web con un bot de chat. Por ejemplo, si un usuario visita una página de promoción, puede enviar inmediatamente un mensaje en el chat con una oferta personalizada.

Permiso de acceso al generar la clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

tag - etiqueta (etiqueta del cliente)
name - nombre del cliente
recipient - ID del diálogo en un sitio web

¿Dónde obtener el recipient?

Puedes obtenerlo en el sitio web con el chat en línea de Mavibot.ai, usa JS para obtener la propiedad MavibotAi.recipient_id.

{ "client_id": 36553 }

Obtener client_id por número de WhatsApp

**GET** https://chatter.mavibot.ai/api/#{api_key}/whatsapp_client_id?phone=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/whatsapp\_client\_id?phone=

Este método devuelve el ID del cliente para realizar solicitudes a la API si conoces el número de teléfono de WhatsApp del cliente.
Si no existe ningún cliente con ese número, el método devolverá un error 404.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

phone - número de teléfono
group_id - ID del bot

Obtener client_id por número de teléfono

**GET** https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_phone?phone=

URL de solicitud: https://chatter.mavibot.ai/api/\<api_key>/find_client_id_by_phone?phone=

Este método devuelve el ID del cliente para realizar solicitudes a la API.

La búsqueda se realiza tanto entre clientes de WhatsApp como a través de variables.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

phone - número de teléfono

Obtener client_id por correo electrónico

**GET** https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_email?email=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_client\_id\_by\_email?email=&#x20;

Este método devuelve el ID del cliente para realizar solicitudes a la API.
La búsqueda se realiza mediante variables.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Cuerpo

email - correo electrónico para la búsqueda

Obtener client_id por valor de variable

**GET** https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_var?var=&val=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_client\_id\_by\_var?var=\&val=

Este método devuelve el ID del cliente para realizar solicitudes a la API.

Permiso de acceso al generar la clave: "Permiso para leer información del cliente"

Ruta

api key* - token de acceso

Cuerpo

var - nombre de la variable para buscar
val - valor de la variable
group_id - ID del grupo
search_in - pasa el valor 'order' para buscar en variables de negocios; busca hasta tres variables para clientes del proyecto y devuelve una lista de clientes que tienen todas las variables especificadas.

Obtener el ID del cliente creado más recientemente por valor de variable

**GET** https://chatter.mavibot.ai/api/#{api_key}/find_latest_client_id_by_var?var=&val=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_latest\_client\_id\_by\_var ?var=&val=

Este método devuelve el ID del cliente creado más recientemente para realizar solicitudes a la API. Busca tanto en variables de cliente como de negocio.

Permiso de acceso al generar la clave: "Permiso para leer información del cliente"

Ruta

api key* - token de acceso

Cuerpo

var - nombre de la variable para buscar
val - valor de la variable

Obtener una lista de valores de client_id por valor de variable

**GET** https://chatter.mavibot.ai/api/#{api_key}/find_all_client_id_by_var?var=&val=

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_all\_client\_id\_by\_var?var=\&val=

Este método devuelve una lista de IDs de clientes que tienen la variable especificada con el valor especificado.

Permiso de acceso al generar la clave: "Permiso para leer información del cliente"

Ruta

api key* - token de acceso

Cuerpo

var - nombre de la variable para buscar
val - valor de la variable

{
    // Respuesta
}

Obtener una lista de valores de client_id basados en múltiples valores de variable

**GET** https://chatter.mavibot.ai/api/#{api_key}/find_all_client_id_by_several_vars?var=val

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_all\_client\_id\_by\_several\_vars?var=val

Permiso de acceso al generar la clave: "Permiso para leer información del cliente".

Ruta

api key* - token de acceso

Cuerpo

variable1 - Valor1

variable2 - Valor2

variable3 - Valor3

{
 "status":"success","client_ids":[93891114]
}

Búsqueda por variables

**POST** https://chatter.mavibot.ai/api/#{api_key}/find_clients

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/find\_clients

Este método busca por variables y devuelve una lista de IDs de clientes que cumplen con las condiciones de la consulta.

Por defecto, la búsqueda se realiza en las variables del cliente (recomendado): {"q": {"result": "ok", "var": "home", "var": "60"}} – el cliente debe tener todas las variables especificadas

Búsqueda en variables de negocio, al menos una de las variables especificadas debe estar presente: {"q": {"result": "ok", "var": "home", "var": "60"}, "search_in": "order", "include_all": False}

El nombre de la variable del cliente es igual a uno de los valores de la lista: {"q": {"name": {"_in": ["Joe", "Jane", "Donald"]}}}

El nombre de la variable del cliente NO es igual a ninguno de los valores de la lista: {"q": {"name": {"_not_in": ["Joe", "Jane", "Donald"]}}}

El nombre de la variable del cliente no es igual a "Joe": {"q": {"name": {"_not": "Joe"}}}

Nota: La comparación de números solo funciona si todos los clientes tienen valores numéricos en la variable buscada. Si incluso un cliente tiene una cadena, la solicitud fallará.

Permiso de acceso al generar la clave: "Permiso para leer información del cliente"

Parámetros

Ruta

api key* - token de acceso

Cuerpo

q – parámetro requerido, contiene las condiciones de la consulta para buscar variables

search_in – especifica en qué entidad se buscan las variables; si no se proporciona, la búsqueda se realiza en las variables del cliente. Puede tomar el valor order.

include_all – si se deben cumplir todas las condiciones en q;

False – si al menos una condición coincide, se selecciona la entidad

Éxito
{"status":"success","client_ids":[41203, 5622354, 785212]} 
{"status":"success","client_ids":[]} 
{"status": "fail", "message": "Parameter "q" required"} {"status": "fail", "message": "Error in parameter format"}
Error
{"status":"fail","message":"Something went wrong"}

Cómo trabajar con negocios

Obtener el ID del negocio actual

**GET** https://chatter.mavibot.ai/api/#{api_key}/get_current_order_id

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/get\_current\_order\_id

Permiso de acceso al generar la clave: "Permiso para leer información de CRM".

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

Respuesta exitosa: {"status":"success","order_id":40632}, donde
order_id - ID del negocio actual
Respuesta de error: {"status":"client_not_found"}

Obtener la lista de negocios

**GET** https://chatter.mavibot.ai/api/#{api_key}/get_orders

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/get\_orders

Permiso de acceso al generar la clave: "Permiso para leer información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

order_status - etapa del negocio:
0 - negocios activos
1 - negocios exitosos
2 - negocios no exitosos

Respuesta exitosa: {"status":"success","order_id":[40338,40340,40341]} 
Respuesta de error: {"status":"client_not_found"}

Mover un negocio a la siguiente etapa en el embudo de Mavibot

**POST** https://chatter.mavibot.ai/api/#{api_key}/move_order_to_next_state

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/move\_order\_to\_next\_state

Permiso de acceso al generar la clave: "Permiso para modificar/eliminar información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

order_id - ID del negocio

Respuesta exitosa: 
{"status":"success","state_id":37}, donde 
state_id - ID de la etapa en MavibotCRM 
Respuesta de error: 
{"status":"client_not_found"}

Obtener datos del negocio

**POST** https://chatter.mavibot.ai/api/#{api_key}/get_order_vars

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/get\_order\_vars

Permiso de acceso al generar la clave: "Permiso para leer información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

order_id - ID del negocio

variables - array de variables
(formato:["var_name1", "var_name2"])

Respuesta exitosa: 
{"status":"success","result":{"var_name1":"111","var_name2":"13.04.2023"}} 

Ejemplo de error: 
{"status":"client_not_found"}

Agregar variables de negocio

**POST** https://chatter.mavibot.ai/api/#{api_key}/set_order_vars

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/set\_order\_vars

Permiso de acceso al generar la clave: "Permiso para modificar/eliminar información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

order_id - ID del negocio

variables - Un diccionario de variables (la clave es el nombre de la variable y el valor es lo que se debe guardar en esa variable)
(formato:{"var_name": "var_value"})

Respuesta exitosa: {"status":"success"} 
Respuesta de error: {"status":"order 12345 not found"}

Crear un negocio

**POST** https://chatter.mavibot.ai/api/#{api_key}/create_order

URL de solicitud: https://chatter.mavibot.ai/api/#{api\_key}/create\_order

Permiso de acceso al generar la clave: "Permiso para modificar/eliminar información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

name - nombre del negocio

description - descripción del negocio

budget - monto del negocio

Debes especificar uno de los siguientes parámetros en la solicitud: client_id, email o phone.
Si se proporcionan múltiples parámetros, solo se usará uno. El orden de prioridad es: client_id > phone > email.
Si se proporciona phone o email y no existe ningún cliente con ese número de teléfono o correo electrónico, se creará un nuevo cliente.

Respuesta exitosa: {"status":"success","order_id":40654}, 
donde order_id es el ID del nuevo negocio activo.
Respuesta de error: {"status":"client_not_found"}

Mover un negocio a una etapa en MavibotCRM

**POST** https://chatter.mavibot.ai/api/#{api_key}/set_order_state

URL de la solicitud: https://chatter.mavibot.ai/api/#{api\_key}/set\_order\_state

Permiso de acceso al generar la clave: "Permiso para modificar/eliminar información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

state_id - número de la etapa a la que se debe mover el negocio del cliente

Obtener el ID de la etapa del embudo en Mavibot CRM

**GET** https://chatter.mavibot.ai/api/#{api_key}/get_order_state

URL de la solicitud: https://chatter.mavibot.ai/api/#{api\_key}/get\_order\_state

Permiso de acceso al generar la clave: "Permiso para leer información de CRM"

Ruta

api key* - token de acceso

Cuerpo

client_id - ID del cliente

state_id - ID del negocio (si no se especifica, el método devolverá el ID de la etapa del negocio actual)

Ejemplo de respuesta exitosa:
{'status': 'success', 'state_id': 123456}

Ejemplo de respuesta fallida:
{'status': 'order not found'}

¿Qué otras capacidades están disponibles?

Verificar si un número de teléfono tiene WhatsApp

**GET** https://chatter.mavibot.ai/api/#{api_key}/check_whatsapp

URL de la solicitud: https://chatter.mavibot.ai/api/#{api\_key}/check\_whatsapp

Para usar este método, WhatsApp debe estar conectado a Mavibot.

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Se puede llamar usando GET o POST.
El número de teléfono se puede proporcionar en cualquier formato.

Ruta

api key* - token de acceso

Cuerpo

phone - número de teléfono a verificar

Obtener la lista de mensajeros conectados al proyecto

**GET** https://chatter.mavibot.ai/api/<api_key>/connected_channels

URL de la solicitud: https://chatter.mavibot.ai/api/\<api_key>/connected_channels

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

La función devuelve el parámetro group_id para cada mensajero, que debe usarse al importar clientes.

Para WhatsApp, también devuelve un campo status, que puede tener los siguientes valores:

NOT_STARTED = 0
STARTED = 1
ASLEEP = 2
STOPPED = 3

Ruta

api key* - token de acceso

{'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'}]
}

Obtener la lista de bloques del flujo del bot

**GET** https://chatter.mavibot.ai/api/<api_key>/get_messages

URL de la solicitud: https://chatter.mavibot.ai/api/\<api_key>/get_messages

Permiso de acceso al generar una clave: "Permiso para modificar o eliminar información del cliente".

Ruta

api key* - token de acceso

Obtener datos anidados del cliente

delimitador

Para obtener client_id y/o el número de teléfono del cliente desde diccionarios anidados (no en el primer nivel), use el parámetro delimitador.

Agregue lo siguiente a la URL de su solicitud:

?delimiter=1&delimiter_value_client_id={key1}1{key2}&delimiter_value_phone={key1}1{key2}

donde:

?delimiter=1 – el valor del delimitador que separa las claves {key1}1{key2}1{key3}

delimiter_value_client_id={key1}1{key2} – para obtener el ID del cliente

delimiter_value_phone={key1}1{key2} – para obtener el número de teléfono del cliente

{key1}, {key2}, … – claves que contienen los valores (pueden incluir cualquier carácter excepto el delimitador). Puede tener un número ilimitado de claves:
?delimiter=1&delimiter_value_client_id={key1}1{key2}1{key3}1{key4}1{key5}1{key6}.
Las claves se pasan sin llaves.

Use el delimitador entre las claves. Por ejemplo, si delimiter=2, entonces {key1}2{key2}2{key3}; si delimiter=5, entonces {key1}5{key2}5{key3}. Asegúrese de que la clave no contenga el carácter delimitador.

Ejemplo:

https://chatter.mavibot.a/aipi/\<api_key>/callback****?delimiter=1&delimiter_value_client_id={key1}1{key2}&delimiter_value_phone={key1}1{key2}****

También puede obtener solo el ID o solo el número de teléfono:

https://chatter.salebot.pro/api/\<api_key>/callback****?delimiter=1&delimiter_value_client_id={key1}1{key2} -**** solo ID del cliente;

https://chatter.salebot.pro/api/\<api_key>/callback****?delimiter=1delimiter_value_phone={key1}1{key2}**** - solo número de teléfono;

Métodos de la API:

  1. Iniciar bot: https://chatter.mavibotbot.ai/api/\<api_key>/callback
  2. Iniciar bot por número de WhatsApp: https://chatter.mavibotbot.ai/api/\<api_key>/whatsapp_callback
  3. Iniciar bot por ID de Telegram: https://chatter.mavibotbot.ai/api/\<api_key>/tg_callback
  4. Enviar mensaje de callback al cliente de correo electrónico: https://chatter.mavibotbot.ai/api/\<api_key>/email_callback
  5. Enviar mensaje al cliente: https://chatter.mavibotbot.ai/api/\<api_key>/message
  6. Enviar mensaje de WhatsApp: https://chatter.mavibotbot.ai/api/\<api_key>/whatsapp_message
  7. Mensajería masiva: https://chatter.mavibotbot.ai/api/\<api_key>/broadcast
  8. Asignar variables: https://chatter.mavibotbot.ai/api/\<api_key>/save_variables\

Si necesita métodos adicionales, comuníquese con el soporte.