Конструктор API
Деякі функції API-запитів можна запускати в Калькуляторі.
Запити надсилаються через POST або GET метод до URL у такому форматі:
https://chatter.mavibot.ai/api/{api_key}/{action}
Де:
api_key — ключ доступу до API, згенерований у налаштуваннях проєкту.

Щоб використовувати токен у URL-запиті, спочатку потрібно згенерувати API-ключ.
Інструкції з цього наведено в розділі "Генерація API-ключа". посилання
Під час копіювання URL із цієї сторінки може з’явитися пробіл, який потрібно видалити.
Приклад неправильного посилання: https://chatter.mavibot.pro /api/callback
Якщо пробіл після .pro залишиться, запит не спрацює.
Не використовуйте заборонені символи під час надсилання GET-запиту.
Переконайтеся, що ви розумієте правильний формат GET-запитів.
Як згенерувати API-ключ
Стара функція генерації API-ключа все ще працює як і раніше, але недоступна для нових проєктів.
Якщо у вашому проєкті вже є згенеровані API-ключі без налаштувань доступу, описаних у цьому розділі, ці наявні API-ключі й надалі працюватимуть нормально.
Якщо вам потрібно згенерувати нові ключі, використовуйте оновлені налаштування.
Щоб згенерувати API-ключ, перейдіть до налаштувань проєкту:

Далі перейдіть до розділу "Інтеграції":

У розділі "Інтеграції" ви знайдете кнопку "Додати API-ключ":

Після натискання кнопки відкриється модальне вікно з налаштуваннями доступу та опціями генерації API-ключа:

Далі потрібно вибрати права доступу для API-ключа:

Функція API працюватиме відповідно до вибраних вами прав доступу.
Зверніть увагу!
Функція API залежить від установлених вами прав доступу: якщо ви згенеруєте API-ключ із доступом лише для читання до інформації про клієнта, а потім використаєте його для надсилання повідомлення клієнту або зміни його змінних, API-запит завершиться помилкою. Необхідний дозвіл для кожного API-запиту вказано на картці API-запиту:

Далі введіть назву для API-ключа:

Згенеруйте API-ключ, натиснувши кнопку "Згенерувати":

Після чого натисніть "Готово", і ключ api буде додано до розділу:

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

Далі потрібно встановити основний ключ проєкту. Це дає змогу використовувати ключ у URL-запиті з підстановкою #{api_key}.
Для цього натисніть кнопку "{+}" праворуч від потрібного API-ключа:

Після цього поруч із ключем з’явиться мітка, що вказує на те, що це основний ключ проєкту.

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


Будь-які інші згенеровані ключі з налаштуваннями доступу вважатимуться другорядними ключами. У URL-запиті ви можете використовувати їхнє значення замість #{api_key}. Для цього скопіюйте значення другорядного ключа:

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

API-ключ, згенерований старим методом, за замовчуванням встановлюється як основний ключ проєкту та має повні права.
Увага!
Якщо ви видалите ключ, встановлений як основний ключ проєкту, вам потрібно буде вручну призначити новий ключ основним.
Зверніть увагу!
Якщо у вас є API-ключі, згенеровані старим методом, вони й надалі працюватимуть нормально. Згенерувати нові API-ключі старого типу неможливо.
Як отримувати повідомлення на Webhook URL, вказаному в налаштуваннях проєкту

Кожне вхідне або вихідне повідомлення буде надіслано як такий JSON POST-запит:
Якщо запит повертає помилку, повторно він не буде надісланий. Навіть якщо сервер повертає помилки, сповіщення й надалі надсилатимуться.
Як створити JSON-запит
Перейдіть до налаштувань блоку, де дані будуть записані в таблицю.

Додайте розділ API Request.
Виберіть POST-JSON як тип запиту.
Потім заповніть поля запиту:

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":"Привіт!"}
Щоб зрозуміти структуру відповіді, запишіть #{custom_answer} у поле Message, щоб вивести значення змінної.

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

Як використовувати універсальний webhook
Перелічені методи тепер можна виконувати як POST- або GET-запити.
Раніше наші методи мали фіксовані параметри (наприклад, client_id та fb_id), які використовувалися для запуску дій підписника, що створювало певні обмеження під час інтеграції зі сторонніми сервісами.
Тепер ви можете вказати, який параметр запиту SaleBot має використовувати для пошуку ID користувача. Використовуйте параметр із префіксом value_, наприклад, value_user_id або value_group_id.
Крім того, метод надсилання callback тепер можна запускати також за email клієнта (client_email) або номером телефону (client_phone).
Поле callback, fb_callback, і whatsapp_callback методи не прив’язані до конкретних назв параметрів. Ви можете вказати, який параметр містить номер телефону, email або ID клієнта.
Це корисно під час налаштування приймання 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_.
Зверніть увагу!
Деякі події генерують системні сповіщення всередині проєкту.
Наприклад, є системні сповіщення з полем message, яке не є порожнім, але не містить тексту клієнта.
Водночас проєкт може також генерувати хуки повідомлень із певним вмістом, наприклад "message: new_chat_member".
Тому важливо перевіряти вміст: це буде або системне сповіщення, або хук для певної події.
Як запустити бота
Запустити бота
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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 клієнта або створить його, якщо не знайде.
Права доступу під час генерації ключа: "Право змінювати або видаляти інформацію про клієнта".

Зверніть увагу: усі додатково передані вами параметри буде збережено в змінній
Шлях
api key* - токен доступу
Тіло
name - ім’я клієнта message - текст повідомлення email - адреса 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* - токен доступу
Тіло
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* - токен доступу
Тіло
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
Цей метод дає змогу запустити розсилку.
Ви можете використовувати одну з наведених нижче взаємовиключних опцій:
параметр list — розсилку буде надіслано до вказаного списку клієнтів.
параметр clients — розсилку буде надіслано масиву ID клієнтів.
параметри platform_ids і group_id — розсилку буде надіслано масиву platform_ids (ID месенджера) для вказаного бота (group_id).
Якщо жодного з наведених вище параметрів не надано, розсилку не буде надіслано.
Обов’язкові параметри: message (та/або attachment_type і attachment_url) або message_id.
Права доступу під час генерації ключа: "Право змінювати або видаляти інформацію про клієнта".

Шлях
api key* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
list_id - номер списку clients - масив ID клієнтів
Приклад: Параметри JSON {"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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
variable1 - Значення1
variable2 - Значення2
variable3 - Значення3
Пошук за змінними
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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* - токен доступу
Тіло
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:
Запустити бота: https://chatter.mavibotbot.ai/api/<api_key>/callback
Запустити бота за номером WhatsApp: https://chatter.mavibotbot.ai/api/<api_key>/whatsapp_callback
Запустити бота за Telegram ID: https://chatter.mavibotbot.ai/api/<api_key>/tg_callback
Надіслати callback-повідомлення email-клієнту: https://chatter.mavibotbot.ai/api/<api_key>/email_callback
Надіслати повідомлення клієнту: https://chatter.mavibotbot.ai/api/<api_key>/message
Надіслати повідомлення WhatsApp: https://chatter.mavibotbot.ai/api/<api_key>/whatsapp_message
Масова розсилка: https://chatter.mavibotbot.ai/api/<api_key>/broadcast
Призначити змінні: https://chatter.mavibotbot.ai/api/<api_key>/save_variables
Якщо вам потрібні додаткові методи, будь ласка, зверніться до служби підтримки.
Останнє оновлення