Salebot.pro
Search
K

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

Какие запросы поддерживает конструктор и как их выполнять.
Запросы выполняются методом POST на URL, типа: https://chatter.salebot.pro/api/{api_key}/{action}
Где: api_key ключ доступа к API, который получается в настройках проекта (Рисунок 1)
Рисунок 1
Получить ключ доступа можно с использованием переменной #{api_key}. В ней хранится актуальный сгенерированный ключ доступа. Не забудьте перед использованием сгенерировать токен.
При копировании url запроса с этой страницы подставляется пробел, который необходимо при вызове удалить.
Пример неправильно скопированной ссылки: https://chatter.salebot.pro /api/callback
Пробел после .pro не так просто заметить. С ним запрос не будет выполняться
При отправке запроса методом GET не используйте запрещенные символы. Изучите правильное формирование GET запросов.

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

Настройки проекта
Каждое входящее или исходящее сообщение будет приходить следующим json POST запросом:
{
'id': идентификатор сообщения в системе,
'client': {
'id': идентификатор клиента в системе,
'recepient': идентификатор клиента в мессенджере,
'client_type': тип мессенджера,
'name': имя клиента,
'avatar': аватар клиента,
'created_at': дата создания клиента,
'tag': ключ подписки,
'group': бот, к которому привязан клиент,
},
'message': текст сообщения,
'attachments': массив, который содержит ссылки на файлы либо словари ссылок на файлы
'message_id': id блока, из которого было отправлено сообщение
'project_id': идентификатор проекта,
'is_input': 1 если сообщение от клиента, 0 если оно от бота,
'delivered': 1 если сообщение успешно отправлено, 0 если произошла ошибка отправки,
'error_message': текст ошибки отправки сообщения
}
Если запрос вернул ошибку, повторной отправки не будет. Если сервер возвращает ошибки, уведомления продолжат отправляться несмотря на это.

Как написать json-запрос

Переходим в настройки блока, в котором у нас будет осуществляться запись данных таблицу.
  1. 1.
    Добавляем раздел API-запрос.
  2. 2.
    Выбираем тип запроса POST-json
  3. 3.
    Переходим к заполнению полей запроса:
URL запроса - путь к функции для выполнения запроса. Далее в документации всегда в первой строке, рядом с типом запроса:
Сохраняемые значения - перечень параметров ответа запроса с указанием имен переменных, в которые следует сохранить результат в формате:
параметр_из_запроса -> ваша_переменная
Если в ответ получаем параметры сложной структуры, то разбираем их так:
  • "cell_number":{"row":4,"col":2} cell_number|row -> Строка; cell_number|col -> Столбец
Заголовок запроса - заполняется при необходимости. Чаще всего здесь передаются форматы передаваемых данных и/или токен доступа
JSON-параметры - тело запроса, в котором прописываются параметры передаваемых данных в формате(ниже возможный вариант написания):
{"client_id": "#{id_получателя_в_конструкторе}", "message":"Hello!"}
Для понимания в какой структуре запрос возвращает ответ, напишите в поле Сообщение вывод значения переменной #{custom_answer}.
Получение результата выполнения API-запроса в виде сообщения
Далее в документации допустимые параметры указаны в Body:

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

Перечисленные методы теперь могут быть запущены как POST, так и GET запросом.
Раньше в наших методах были жестко прописаны параметры, по которым запускались выполнения методов для подписчиков (например client_id и vk_id) и это накладывало некоторые ограничения для использования их со сторонними сервисами.
Теперь вы можете указать, в каком параметре запроса сэйлбот будет искать идентификатор пользователя: для этого используется параметр с префиксом value_, например value_user_id и value_group_id.
А еще метод отправки колбека callback, теперь можно запустить передав электронный адрес (client_email) или телефон (client_phone) клиента.
Методы callback, vk_callback, ok_callback и whatsapp_callback не привязаны к именам параметра. Вы можете указать, в каком параметре будет находиться номер телефона, email или id-клиента.
Это удобно, когда вы настраиваете прием вебхука с какого-то сайта.
Чтобы указать, в какой переменной лежит client_id, необходимо передать параметр value_client_id, в котором указать название параметра с этим значением.
Чтобы указать, в какой переменной лежит phone, необходимо передать параметр value_phone, в котором указать название параметра с этим значением.
Чтобы указать, в какой переменной лежит email, необходимо передать параметр value_email, в котором указать название параметра с этим значением.
Чтобы указать, в какой переменной лежит user_id, необходимо передать параметр value_user_id, в котором указать название параметра с этим значением.
Чтобы указать, в какой переменной лежит group_id, необходимо передать параметр value_group_id, в котором указать название параметра с этим значением.
Пример:
В адрес пропишем value_client_id = my_client
https://chatter.salebot.pro/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback?value_client_id=my_client {"my_client":49177759, "message":"Hello world"}
Запрос будет эквивалентен запросу ниже:
https://chatter.salebot.pro/api/d3f31dabef80ddeb73d43938b4ef8bb0/callback {"client_id":49177759, "message":"Hello world"}
Как можно заметить, название параметра, в котором лежит имя, отличается припиской value_

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

post
https://chatter.salebot.pro
/api/#{api_key}/callback
Запуск бота
post
https://chatter.salebot.pro
/api/#{api_key}/vk_callback
Запуск бота по идентификатору пользователя ВКонтакте
post
https://chatter.salebot.pro
/api/#{api_key}/whatsapp_callback
Запуск бота по номеру Whatsapp
post
https://chatter.salebot.pro
/api/#{api_key}/ok_callback
Запуск бота по идентификатору пользователя Одноклассников
post
https://chatter.salebot.pro
/api/#{api_key}/tg_callback
Запуск бота по идентификатору Telegram
post
https://chatter.salebot.pro
/api/#{api_key}/send_callback_by_platform_id
Отправка Callback-сообщений списку клиентов по platform_id
post
https://chatter.Salebot.pro
/api/#{api_key}/email_callback
Отправка callback-сообщения email-клиенту

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

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

attachment_type может принимать значения: image, video, link, file, audio При отправке вложения параметр message необязателен buttons - определяет кнопки, которые будут прикреплены к сообщению. Формат кнопок аналогичен расширенным настройкам кнопок. Возможны два варианта передачи кнопок: с указанием подсказки для мессенджеров без кнопок и без нее.
Пример параметра buttons:
"buttons": {"hint": "Этот текст будет отображен в вотсапе",
"buttons": [
{"type": "reply",
"text": "Расскажи об услугах",
"line": 0, "index_in_line": 0},
{"type": "reply",
"text": "Стоимость услуг",
"line": 0,
"index_in_line": 1},
{"type": "reply",
"text": "Контакты",
"line": 1, "index_in_line": 0},
{"type": "reply",
"text": "Оставить заявку",
"line": 1, "index_in_line": 1}
]
}

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

post
https://chatter.salebot.pro
/api/#{api_key}/message
Отправка сообщения клиенту
post
https://chatter.salebot.pro
/api/#{api_key}/whatsapp_message
Отправка сообщения в Whatsapp
post
https://chatter.salebot.pro
/api/#{api_key}/broadcast
Массовая отправка сообщений
get
https://chatter.salebot.pro
/api/#{api_key}/get_history?client_id=
Получение истории сообщений
get
https://chatter.salebot.pro
/api/#{api_key}/clear_history?client_id=
Очистить историю сообщений

Как распределять клиентов

post
https://chatter.salebot.pro
/api/#{api_key}/assign_to_user
Определение клиента сотруднику
post
https://chatter.salebot.pro
/api/#{api_key}/load_clients
Загрузка клиентов в систему
post
https://chatter.salebot.pro
/api/#{api_key}/add_to_list
Добавить клиентов в список
post
https://chatter.salebot.pro
/api/#{api_key}/remove_from_list
Удалить клиентов из списка
get
https://chatter.salebot.pro
/api/#{api_key}/get_clients
Получение списка клиентов
get
https://chatter.salebot.pro
/api/#{api_key}/subscribers
Получение списка подписчиков на бота в любом месседжере
get
https://chatter.salebot.pro
/api/#{api_key}/vk_subscribers
Получение списка подписчиков на бота Вконтакте

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

post
https://chatter.salebot.pro
/api/#{api_key}/save_variables
Присвоение переменных
get
https://chatter.salebot.pro
/api/#{api_key}/get_variables?client_id=
Получение переменных

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

post
https://chatter.salebot.pro
/api/#{api_key}/find_client_id_by_platform_id
Получение client_id по значению platform_id
get
https://chatter.salebot.pro
/api/#{api_key}/online_chat_client_id?recipient=
Получить id клиента из Онлайн-чата
Где взять recipient? На сайте, где размещен онлайн чат "Salebot.pro" при помощи JS получите свойство SaleBotPro.recipient_id
get
https://chatter.salebot.pro
/api/#{api_key}/whatsapp_client_id?phone=
Получение client_id по номеру Whatsapp
get
https://chatter.salebot.pro
/api/#{api_key}/find_client_id_by_phone?phone=
Получение client_id по номеру телефона
get
https://chatter.salebot.pro
/api/#{api_key}/find_client_id_by_email?email=
Получение client_id по email
get
https://chatter.salebot.pro
/api/#{api_key}/find_client_id_by_var?var=&val=
Получение client_id по значению переменной
get
https://chatter.salebot.pro
/api/#{api_key}/find_all_client_id_by_var?var=&val=
Получение списка client_id по значению переменной
get
https://chatter.salebot.pro/api/
#{api_key}/find_all_client_id_by_several_vars?var=val
Получение списка client_id по значениям нескольких переменных

post
https://chatter.salebot.pro/api/
#{api_key/find_clients
Поиск по переменным, вернет список идентификаторов клиентов (client_id)

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

get
https://chatter.salebot.pro/
api/#{api_key}/get_current_order_id
Получение идентификатора текущей сделки
get
https://chatter.salebot.pro
/api/#{api_key}/get_orders
Получение списка сделок
post
https://chatter.salebot.pro/
api/#{api_key}/move_order_to_next_state
Перемещение сделки на следующее по порядку состояние воронки Salebot
post
https://chatter.salebot.pro
/api/#{api_key}/get_order_vars
Получение данных сделки
post
https://chatter.salebot.pro
/api/#{api_key}/set_order_vars
Добавление переменных сделки
post
https://chatter.salebot.pro/
api/#{api_key}/create_order
Создание сделки
post
https://chatter.salebot.pro
/api/#{api_key}/set_order_state
Перенос сделки в состояние SalebotCRM
post
https://chatter.salebot.pro
/api/#{api_key}/get_order_state
Получения id состояния воронки в SalebotСRM

Какие еще возможности

get
https://chatter.salebot.pro
/api/#{api_key}/check_whatsapp
Проверка, есть ли Whatsapp на номере телефона
get
https://chatter.salebot.pro
/api/#{api_key}/connected_channels
Получить список подключенных мессенджеров к проекту (в том числе group_id)
get
https://chatter.salebot.pro
/api/<api_key>/get_messages
Получение списка блоков из схемы бота
Если Вам нужны дополнительные методы, свяжитесь со службой поддержки