Конструктор API

Некоторые функции API-запросов можно запускать в Калькуляторе.

Запросы отправляются с помощью POST или GET метода на URL в следующем формате:

https://chatter.mavibot.ai/api/{api_key}/{action}

Где:

api_key — ключ доступа к API, сгенерированный в настройках проекта.

Как сгенерировать ключ API

Чтобы сгенерировать ключ API, перейдите в настройки проекта:

Затем перейдите в раздел «Интеграции»:

В разделе «Интеграции» вы найдёте кнопку «Добавить ключ API»:

После нажатия на кнопку откроется модальное окно с настройками доступа и параметрами генерации ключа API:

Далее нужно выбрать права доступа для ключа API:

API-функция будет работать в соответствии с выбранными вами правами доступа.

Далее введите имя для ключа API:

Сгенерируйте ключ API, нажав кнопку «Сгенерировать»:

После чего нажмите "Готово" и ключ api добавится в раздел:

Вы можете добавить столько ключей API, сколько нужно, задав для каждого разные права доступа.

Далее нужно установить основной ключ проекта. Это позволит использовать ключ в URL-запросе с подстановкой #{api_key}.

Для этого нажмите кнопку "{+}" справа от нужного ключа API:

После этого рядом с ключом появится метка, указывающая, что он является основным ключом проекта.

Основной ключ проекта можно использовать через api_key: просто сгенерируйте нужный ключ, задайте ему права и назначьте его основным ключом проекта. Затем в Калькуляторе используйте URL-запрос с подстановкой #{api_key}, в которой будет содержаться значение основного ключа проекта.

URL запроса

Все остальные сгенерированные ключи с настройками доступа будут считаться вторичными ключами. В URL-запросе вы можете использовать их значение вместо #{api_key}. Для этого скопируйте значение вторичного ключа:

и вставьте его в URL-запрос вместо #{api_key}:

Ключ API, созданный старым способом, по умолчанию назначается основным ключом проекта и имеет полные права.

Как получать сообщения по URL Webhook, указанному в настройках проекта

Настройки проекта

Каждое входящее или исходящее сообщение будет отправляться как следующий POST-запрос JSON:

Если запрос возвращает ошибку, он не будет повторно отправлен. Даже если сервер возвращает ошибки, уведомления продолжат отправляться.

Как создать JSON-запрос

Перейдите в настройки блока, в котором данные будут записываться в таблицу.

  1. Добавьте раздел API Request.

  2. Выберите тип запроса POST-JSON.

  3. Затем заполните поля запроса:

URL запроса — путь к вызываемой функции. В документации он всегда указан в первой строке рядом с типом запроса:

Сохранённые значения — список параметров ответа с именами переменных, в которые должны сохраняться результаты, в следующем формате:

request_parameter -> your_variable

Если ответ содержит параметры со сложной структурой, разбирайте их следующим образом:

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

Заголовки запроса — заполните при необходимости. Обычно сюда входят формат данных и/или токен доступа.

Параметры JSON — тело запроса, где вы указываете параметры данных в формате JSON. Пример:

{"client_id": "#{recipient_id_in_builder}", "message":"Hello!"}

Чтобы понять структуру ответа, напишите #{custom_answer} в поле Message, чтобы вывести значение переменной.

Получение результата API-запроса в виде сообщения

Далее в документации перечислены допустимые параметры в разделе "Body":

Как использовать универсальный webhook

Теперь перечисленные методы можно выполнять как POST- или GET-запросы.

Ранее у наших методов были фиксированные параметры (например, client_id и fb_id), используемые для запуска действий подписчика, что накладывало определённые ограничения при интеграции со сторонними сервисами.

Теперь вы можете указать, по какому параметру запроса SaleBot должен искать ID пользователя. Используйте параметр с префиксом value_например, value_user_id или value_group_id.

Кроме того, метод отправки callback теперь можно запускать также по email клиента (client_email) или номеру телефона (client_phone).

Это полезно при настройке получения webhook с сайта.

Чтобы указать, какая переменная содержит client_id, используйте параметр value_client_id и укажите имя параметра, в котором хранится это значение.

Чтобы указать, какая переменная содержит номер телефона, используйте value_phone.

Чтобы указать, какая переменная содержит email, используйте value_email.

Чтобы указать, какая переменная содержит user_id, используйте value_user_id.

Чтобы указать, какая переменная содержит group_id, используйте value_group_id.

Чтобы указать переменную, содержащую само сообщение в webhook, используйте value_message (передаётся так же, как и другие параметры).

Пример:

В адресе укажите value_client_id = my_client.

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

Запрос будет эквивалентен следующему:

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

Как видите, имя параметра, содержащего значение, имеет префикс value_.

Как запустить бота

Запустить бота

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/callback

Этот метод можно использовать для запуска воронки для клиента или подтверждения действия во внешнем ресурсе. Клиент не увидит это сообщение.

Обратите внимание: все параметры, которые вы дополнительно передадите, будут сохранены в переменной

Метод callback теперь также можно запускать с использованием email клиента (client_email) или номера телефона (client_phone).

Права доступа при генерации ключа: "Разрешение на изменение/удаление информации о клиенте".

Путь

api key* - токен доступа

Body

client_phone - номер телефона, используемый для поиска клиента

client_email - email, используемый для поиска клиента

client_id - ID клиента в конструкторе

message - текст сообщения

resume_bot - True (необязательный параметр). Если бот приостановлен, это используется для его возобновления.

Пример: resume_bot = True

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Запуск бота с использованием номера WhatsApp

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

URL запроса: https://chatter.mavibot.ai/api/<api_key>/whatsapp_callback

Этот метод может запускать WhatsApp-бота после того, как клиент зарегистрируется на сайте или отправит запрос со своим номером телефона.

Обратите внимание: все параметры, которые вы дополнительно передадите, будут сохранены в переменной

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

name - имя клиента message - текст сообщения phone - номер телефона клиента bot_id - ID бота resume_bot - True (необязательный параметр). Если бот приостановлен, используйте это для его возобновления. Пример: resume_bot = True

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Запуск бота с использованием Telegram ID

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

URL запроса: https://chatter.mavibot.pro/api/#{api_key}/tg_callback

Этот метод можно использовать для запуска воронки для клиента или подтверждения действия на внешнем сайте. Клиент не увидит это сообщение.

Обратите внимание: все дополнительные переданные параметры будут сохранены в переменных.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

message - текст сообщения user_id - Telegram ID пользователя group_id - имя бота (оканчивается на bot) resume_bot - True (необязательный параметр). Если бот приостановлен, используйте это для его возобновления. Пример: resume_bot = True

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Отправка callback-сообщений списку клиентов по platform_id

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/send_callback_by_platform_id

Когда в проекте найдены клиенты с platform_id из списка, будет отправлен callback с текстом из поля callback_text. Лимит: 1 запрос = максимум 300 отправок

Пример параметров запроса: {"platform_ids":[407184121, "79609879898", "2rwewefw"], "callback_text": "test_callback"}

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

platform_ids - список ID клиентов в мессенджере callback_text - текст callback group_id - ID бота

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Отправка callback-сообщения клиенту по email

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/email_callback

Этот метод может запускать email-бота после того, как клиент зарегистрируется на сайте или отправит запрос со своим email. Метод найдёт email клиента или создаст его, если он не найден.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Обратите внимание: все параметры, которые вы дополнительно передадите, будут сохранены в переменной

Путь

api key* - токен доступа

Body

name - имя клиента message - текст сообщения email - адрес электронной почты email_id_bot - email бота resume_bot - True (необязательный параметр).

Если бот приостановлен, используйте это для его возобновления. Пример: resume_bot = True

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Как работать с сообщениями

Параметры отправки сообщения

attachment_type — может быть: image, video, link, file или audio. При отправке вложения параметр message необязателен.

buttons — задаёт кнопки, которые будут прикреплены к сообщению. Формат кнопок соответствует расширенным настройкам кнопок.

Кнопки можно передавать двумя способами: с подсказкой для мессенджеров, которые не поддерживают кнопки, или без неё.

Пример параметра buttons:

Отправка сообщения клиенту

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/message

Этот метод можно использовать для отправки уведомительных сообщений. Параметр message обязателен, если вы не отправляете файл. Если вы отправляете файл, текст необязателен.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

message_id - номер блока для отправки message - текст сообщения client_id - ID клиента в конструкторе attachment_type - тип отображения файла. Обязателен, если указан attachment_url. attachment_url - URL файла buttons - кнопки

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Отправка сообщения в WhatsApp

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

URL запроса: https://chatter.mavibot.pro/api/<api_key>/whatsapp_message

Позволяет отправлять сообщение от имени подключённого бота на указанный номер. whatsapp_bot_id нужно взять из раздела «Мессенджеры и чаты». Каждому подключённому аккаунту WhatsApp конструктор присваивает уникальный идентификатор.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

message_id - номер блока для отправки whatsapp_bot_id - ID WhatsApp-бота, от имени которого должно быть отправлено сообщение attachment_url - URL файла attachment_type - тип отображения файла. Обязателен, если указан attachment_url. message - текст сообщения phone - номер телефона получателя

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Массовая отправка сообщений

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/broadcast

Этот метод позволяет запустить рассылку.

Вы можете использовать один из следующих взаимоисключающих вариантов:

  1. параметр list — рассылка будет отправлена в указанный список клиентов.

  2. параметр clients — рассылка будет отправлена массиву ID клиентов.

  3. параметры platform_ids и group_id — рассылка будет отправлена массиву platform_ids (ID в мессенджере) для указанного бота (group_id).

  4. Если ни один из перечисленных выше параметров не указан, рассылка отправлена не будет.

Обязательные параметры: message (и/или attachment_type и attachment_url) или message_id.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

list — номер списка, на который должна быть отправлена рассылка

clients - ID клиентов в конструкторе

message - текст сообщения

platform_ids - ID получателей в мессенджере. Должен использоваться вместе с обязательным параметром group_id

group_id - требуется только при использовании platform_ids. Игнорируется при других вариантах. Указывает бота, от имени которого выполняется отправка на указанные platform_ids

attachment_url - URL файла

attachment_type - тип отображения файла. Обязателен, если указан attachment_url.

buttons - кнопки

message_id - номер блока для отправки

shift — количество секунд между сообщениями. По умолчанию 0.2.

time_shift - число. Если указано, сообщение будет отправлено спустя указанное количество секунд от текущего времени.

send_time - дата и время в формате "%Y-%m-%d %H:%M:%S" (например, "2024-10-16 13:15:59"). Задаёт дату и время отправки сообщения. Если указаны и time_shift, и send_time, приоритет будет у time_shift.

Получение истории сообщений

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/get_history?client_id=

Параметр client_id можно получить здесь. ссылка

Права доступа при генерации ключа: "Разрешение на чтение информации о клиенте".

Путь

api key* - токен доступа

Body

client_id - ID клиента

limit - количество элементов в ответе. По умолчанию: 2000, максимум: 2000

start_date - начальная дата периода выборки (обязательно, если указан stop_date), формат: dd.mm.yyyy

stop_date - конечная дата периода выборки (обязательно, если указан start_date), формат: dd.mm.yyyy

Очистить историю сообщений

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/clear_history?client_id=

Удаляет историю чата

Права доступа при генерации ключа: "Разрешение на изменение/удаление информации о клиенте".

Путь

api key* - токен доступа

Body

client_id - ID клиента

Как назначать клиентов

Назначение клиента сотруднику

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/assign_to_user

Этот метод позволяет назначить клиента сотруднику. Параметр email необязателен. Если email не указан, система назначит клиента по своему алгоритму.

Права доступа при генерации ключа: "Разрешение на изменение/удаление информации о клиенте".

Путь

api key* - токен доступа

Body

client_id - ID клиента email - email сотрудника (необязательно)

Импорт клиентов в систему

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

URL запроса: https://chatter.mavibot.pro/api/#{api_key}/load_clients

Этот метод позволяет импортировать клиентов в систему. При загрузке клиентов WhatsApp можно передавать номер в любом формате, как с окончанием @s.whatsapp.net, так и без него.

ID группы (group_id) можно получить ЗДЕСЬ через /api/<api_key>/connected_channels. (Если client_type = 13 (телефония), тогда group_id — пустая строка: ""). ссылка

Тип мессенджера, из которого пришёл клиент (client_type), можно найти ЗДЕСЬ. ссылка

Пример: [{"platform_id":"79875555555","group_id":34810,"client_type":6}]

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

platform_id - номер телефона group_id - ID группы client_type - тип мессенджера, из которого пришёл клиент

Добавить клиентов в список

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

URL запроса: https://chatter.mavibot.ai/api/<api_key>/add_to_list

Добавляет клиентов в список

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

list_id - номер списка clients - массив ID клиентов

Пример: JSON parameters {"list_id":1170282, "clients":[411262772, 646410963]}

Удалить клиентов из списка

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/remove_from_list

Удаляет клиентов из списка

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

list_id - номер списка clients - массив номеров клиентов в конструкторе Mavibot (значения client_id)

Получить список клиентов

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

URL запроса: https://chatter.mavibot.a/aipi/<api_key>/get_clients

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

offset – смещение от первого элемента

limit – количество элементов в ответе / По умолчанию: 500, максимум: 500

list – номер списка

reverse – указывает обратную сортировку (от самой старой записи к самой новой). Этот параметр работает только если список не указан.

Возвращает статус и массив элементов.

Получить список подписчиков бота в любом мессенджере

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/subscribers

Получает информацию о клиентах из выбранного мессенджера.

Примечание! Этот метод не возвращает переменные.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

page tag – тег, указанный на странице подписки group – ID группы VK, к которой привязан подписчик date_from – подписан после этой даты (timestamp) date_to – подписан до этой даты (timestamp) client_type – ID мессенджера, для которого нужно получить список подписчиков. Если не указан, будут возвращены все клиенты

Как работать с переменными

Назначение переменных

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/save_variables

! На этот запрос ограничение не распространяется.

Позволяет сохранять переменные как в лиде, так и в клиенте. По умолчанию запрос на назначение переменных добавляет их в переменные сделки. Чтобы обновить переменные в профиле клиента, используйте префикс client. Например, для телефона: client.phone.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Обновить: Параметр clients позволяет назначать переменные пакетно. Пример: {"client_id":49177759, "variables":{"client.phone":"88888888888"}}

Путь

api key* - токен доступа

Body

clients – массив ID клиентов для назначения переменных

client_id – ID клиента

variables – хэш переменных (пары ключ-значение)

Получить переменные

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/get_variables?client_id=

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Пример: https://chatter.mavibot.ai/api/d3f31dabef80ddeb73d43938b4ef8bb0/get_variables?client_id=49177759

Путь

api key* - токен доступа

Body

client_id - ID клиента

Как получить ID клиента (client_id)

Получить client_id по значению platform_id

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_platform_id

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

platform_ids - массив ID в мессенджере group_id - ID бота

Получить ID клиента из онлайн-чата

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/online_chat_client_id?recipient=

Этот метод позволяет интегрировать сайт с чат-ботом. Например, если пользователь заходит на страницу акции, вы можете сразу отправить сообщение в чат с персонализированным предложением.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

tag - тег (тег клиента) name - имя клиента recipient - ID диалога на сайте

Где взять recipient?

Его можно получить на сайте с онлайн-чатом Mavibot.ai, используйте JS, чтобы получить свойство MavibotAi.recipient_id.

Получить client_id по номеру WhatsApp

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/whatsapp_client_id?phone=

Этот метод возвращает ID клиента для выполнения API-запросов, если вы знаете номер WhatsApp клиента. Если клиента с таким номером не существует, метод вернёт ошибку 404.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

phone - номер телефона group_id - ID бота

Получить client_id по номеру телефона

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

URL запроса: https://chatter.mavibot.ai/api/<api_key>/find_client_id_by_phone?phone=

Этот метод возвращает ID клиента для выполнения API-запросов.

Поиск выполняется как среди клиентов WhatsApp, так и по переменным.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

phone - номер телефона

Получить client_id по email

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_email?email=

Этот метод возвращает ID клиента для выполнения API-запросов. Поиск выполняется по переменным.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Body

email - email для поиска

Получить client_id по значению переменной

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_client_id_by_var?var=&val=

Этот метод возвращает ID клиента для выполнения API-запросов.

Разрешение при создании ключа: "Разрешение на чтение информации о клиентах"

Путь

api key* - токен доступа

Body

var - имя переменной, по которой выполняется поиск val - значение переменной group_id - ID группы search_in - передайте значение 'order' для поиска в переменных сделки; выполняется поиск до трёх переменных для клиентов проекта и возвращается список клиентов, у которых есть все указанные переменные.

Получить ID последнего созданного клиента по значению переменной

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_latest_client_id_by_var ?var=&val=

Этот метод возвращает ID последнего созданного клиента для выполнения API-запросов. Он выполняет поиск как по переменным клиента, так и по переменным сделки.

Разрешение при создании ключа: "Разрешение на чтение информации о клиентах"

Путь

api key* - токен доступа

Body

var - имя переменной, по которой выполняется поиск val - значение переменной

Получить список значений client_id по значению переменной

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_all_client_id_by_var?var=&val=

Этот метод возвращает список ID клиентов, у которых указана переменная с заданным значением.

Разрешение при создании ключа: "Разрешение на чтение информации о клиентах"

Путь

api key* - токен доступа

Body

var - имя переменной, по которой выполняется поиск val - значение переменной

Получить список значений client_id на основе нескольких значений переменных

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_all_client_id_by_several_vars?var=val

Разрешение при создании ключа: "Разрешение на чтение информации о клиентах".

Путь

api key* - токен доступа

Body

variable1 - Value1

variable2 - Value2

variable3 - Value3

Поиск по переменным

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/find_clients

Этот метод выполняет поиск по переменным и возвращает список ID клиентов, соответствующих условиям запроса.

По умолчанию поиск выполняется по переменным клиента (рекомендуется): {"q": {"result": "ok", "var": "home", "var": "60"}} – у клиента должны быть все указанные переменные

Поиск по переменным сделки, должна присутствовать хотя бы одна из указанных переменных: {"q": {"result": "ok", "var": "home", "var": "60"}, "search_in": "order", "include_all": False}

Имя переменной клиента равно одному из значений списка: {"q": {"name": {"_in": ["Joe", "Jane", "Donald"]}}}

Имя переменной клиента НЕ равно ни одному из значений списка: {"q": {"name": {"_not_in": ["Joe", "Jane", "Donald"]}}}

Имя переменной клиента не равно "Joe": {"q": {"name": {"_not": "Joe"}}}

Примечание: сравнение чисел работает только если у всех клиентов в искомой переменной числовые значения. Если хотя бы у одного клиента будет строка, запрос завершится ошибкой.

Разрешение при создании ключа: "Разрешение на чтение информации о клиентах"

Параметры

Путь

api key* - токен доступа

Body

q – обязательный параметр, содержит условия запроса для поиска переменных

search_in – указывает, переменные какой сущности искать; если не указано, поиск выполняется по переменным клиента. Может принимать значение order.

include_all – должны ли выполняться все условия в q;

False – если совпадает хотя бы одно условие, сущность выбирается

Как работать со сделками

Получить ID текущей сделки

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/get_current_order_id

Разрешение при создании ключа: "Разрешение на чтение информации CRM".

Путь

api key* - токен доступа

Body

client_id - ID клиента

Получить список сделок

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/get_orders

Разрешение при создании ключа: "Разрешение на чтение информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

order_status - этап сделки: 0 - активные сделки 1 - успешные сделки 2 - неуспешные сделки

Перевести сделку на следующий этап в воронке Mavibot

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/move_order_to_next_state

Разрешение при создании ключа: "Разрешение на изменение/удаление информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

order_id - ID сделки

Получить данные сделки

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/get_order_vars

Разрешение при создании ключа: "Разрешение на чтение информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

order_id - ID сделки

variables - массив переменных (формат:["var_name1", "var_name2"] )

Добавить переменные сделки

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/set_order_vars

Разрешение при создании ключа: "Разрешение на изменение/удаление информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

order_id - ID сделки

variables - словарь переменных (ключ — имя переменной, а значение — то, что нужно сохранить в этой переменной) (формат:{"var_name": "var_velue"})

Создать сделку

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/create_order

Разрешение при создании ключа: "Разрешение на изменение/удаление информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

name - название сделки

description - описание сделки

budget - сумма сделки

В запросе необходимо указать один из следующих параметров: client_id, email или phone. Если передано несколько параметров, будет использован только один. Приоритет такой: client_id > phone > email. Если указан phone или email и клиента с таким номером телефона или email не существует, будет создан новый клиент.

Перевести сделку на этап в MavibotCRM

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/set_order_state

Разрешение при создании ключа: "Разрешение на изменение/удаление информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

state_id - номер этапа, на который нужно перевести сделку клиента

Получить ID этапа воронки в Mavibot CRM

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/get_order_state

Разрешение при создании ключа: "Разрешение на чтение информации CRM"

Путь

api key* - токен доступа

Body

client_id - ID клиента

state_id - ID сделки (если не указан, метод вернёт ID этапа текущей сделки)

Какие ещё возможности доступны?

Проверить, есть ли у номера телефона WhatsApp

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

URL запроса: https://chatter.mavibot.ai/api/#{api_key}/check_whatsapp

Для использования этого метода WhatsApp должен быть подключён к Mavibot.

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Можно вызывать как методом GET, так и POST. Номер телефона можно передавать в любом формате.

Путь

api key* - токен доступа

Body

phone - номер телефона для проверки

Получить список мессенджеров, подключённых к проекту

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

URL запроса: https://chatter.mavibot.ai/api/<api_key>/connected_channels

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Функция возвращает параметр group_id для каждого мессенджера, который необходимо использовать при импорте клиентов.

Для WhatsApp также возвращается status поле, которое может принимать следующие значения:

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

Путь

api key* - токен доступа

Получить список блоков из сценария бота

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

URL запроса: https://chatter.mavibot.ai/api/<api_key>/get_messages

Права доступа при генерации ключа: "Разрешение на изменение или удаление информации о клиенте".

Путь

api key* - токен доступа

Получить вложенные данные клиента

delimiter

Чтобы получить client_id и/или номер телефона клиента из вложенных словарей (не на первом уровне), используйте параметр delimiter.

Добавьте следующее в URL запроса:

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

где:

?delimiter=1 – значение разделителя, который отделяет ключи {key1}1{key2}1{key3}

delimiter_value_client_id={key1}1{key2} – для получения ID клиента

delimiter_value_phone={key1}1{key2} – для получения номера телефона клиента

{key1}, {key2}, … – ключи, содержащие значения (могут включать любые символы, кроме разделителя). Количество ключей не ограничено: ?delimiter=1&delimiter_value_client_id={key1}1{key2}1{key3}1{key4}1{key5}1{key6}. Ключи передаются без фигурных скобок.

Используйте разделитель между ключами. Например, если delimiter=2, то {key1}2{key2}2{key3}; если delimiter=5, то {key1}5{key2}5{key3}. Убедитесь, что ключ не содержит символ разделителя.

Пример:

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

Также можно получить только ID или только номер телефона:

https://chatter.salebot.pro/api/<api_key>/callback?delimiter=1&delimiter_value_client_id={key1}1{key2} - только ID клиента;

https://chatter.salebot.pro/api/<api_key>/callback?delimiter=1delimiter_value_phone={key1}1{key2} - только номер телефона;

Методы API:

  1. Запустить бота: https://chatter.mavibotbot.ai/api/<api_key>/callback

  2. Запустить бота по номеру WhatsApp: https://chatter.mavibotbot.ai/api/<api_key>/whatsapp_callback

  3. Запустить бота по Telegram ID: https://chatter.mavibotbot.ai/api/<api_key>/tg_callback

  4. Отправить callback-сообщение клиенту по email: https://chatter.mavibotbot.ai/api/<api_key>/email_callback

  5. Отправить сообщение клиенту: https://chatter.mavibotbot.ai/api/<api_key>/message

  6. Отправить сообщение WhatsApp: https://chatter.mavibotbot.ai/api/<api_key>/whatsapp_message

  7. Массовая рассылка: https://chatter.mavibotbot.ai/api/<api_key>/broadcast

  8. Назначить переменные: https://chatter.mavibotbot.ai/api/<api_key>/save_variables

Последнее обновление