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 запросов.

post
Запуск бота

https://chatter.salebot.pro/api/<api_key>/callback
Метод можно использовать для запуска воронки у клиента или подтверждения действия на стороннем ресурсе. Данное сообщение не увидит клиент. Дополнительно переданные параметры сохранятся в переменные. Метод отправки колбека, теперь можно запустить передав электронный адрес (client_email) или телефон (client_phone) клиента.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
client_phone
optional
string
телефон, по которому будет искаться клиент
client_email
optional
string
email, по которому будет искаться клиент
client_id
optional
string
id клиента в конструкторе
message
required
string
Текст сообщения
Response
200: OK
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)

post
Запуск бота по идентификатору пользователя ВКонтакте

https://chatter.salebot.pro/api/<api_key>/vk_callback
Метод можно использовать для запуска воронки у клиента или подтверждения действия на стороннем ресурсе. Данное сообщение не увидит клиент. Дополнительно переданные параметры сохранятся в переменные.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
message
optional
string
Текст сообщения
user_id
required
string
id пользователя вконтакте
group_id
required
string
id группы вконтакте
Response
200: OK
params = {"user_id": '146467928', "group_id": '143414131', 'message': 'test'}
api = 'cab4233db32c8af006c91945fa03cb468d1fd845f140'
url = f'https://chatter.zmservice.ru/api/{api}/vk_callback'
requests.post(url, json=params)

post
Запуск бота по номеру Whatsapp

https://chatter.salebot.pro/api/<api_key>/whatsapp_callback
Этот метод может запустить вотсап бота, после регистрации клиента на сайте или после того, как он оставит заявку с номером телефона. Дополнительно переданные параметры сохранятся в переменные.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
name
optional
string
Имя клиента
message
optional
string
Текст сообщения
phone
required
string
Номер телефона клиента
bot_id
optional
string
Идентификатор бота
Response
200: OK

post
Запуск бота по идентификатору пользователя Одноклассников

https://chatter.salebot.pro/api/<api_key>/ok_callback
Метод можно использовать для запуска воронки у клиента или подтверждения действия на стороннем ресурсе. Данное сообщение не увидит клиент. Дополнительно переданные параметры сохранятся в переменные.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
message
required
string
Текст сообщения
user_id
required
string
ID пользователя в Однойлассниках
group_id
required
string
ID группы Одноклассников
Response
200: OK

post
Запуск бота по идентификатору Telegram

https://chatter.salebot.pro/api/<api_key>/tg_callback
Метод можно использовать для запуска воронки у клиента или подтверждения действия на стороннем сайте. Данное сообщение не увидит клиент. Дополнительно переданные параметры сохраняются в переменные.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
message
required
string
Текст сообщения
user_id
required
string
Ид пользователя в Telegram
group_id
required
string
Название бота (заканчивается на bot)
Response
200: OK

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

https://chatter.salebot.pro/api/<api_key>/message
Этот метод можно использовать для отправки сообщений с уведомлениями. Параметр message обязателен, если вы не отправляете файл. Если вы отправляете файл, текст необязателен.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
message_id
optional
string
Номер блока для отправки
message
optional
string
Текст сообщения
client_id
required
string
id клиента в конструкторе
attachment_type
optional
string
Тип отображения файла
attachment_url
optional
string
URL файла
buttons
optional
object
Кнопки
Response
200: OK
import requests
import json
params = {"message": "some_text", "client_id": "25554"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/message'
requests.post(url, json=params)

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

https://chatter.salebot.pro/api/<api_key>/broadcast
Метод позволяет запустить рассылку. Если параметр clients не указан, рассылка будет произведена по всем пользователям. Необходимо отправлять либо файл, либо текст.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
message_id
optional
string
Номер блока для отправки
list
optional
string
Номер списка, по которому необходимо разослать
shift
optional
string
Количество секунд между сообщениями. По умолчанию 0.2
message
optional
string
Текст сообщения
clients
optional
array
Идентификаторы получателей
attachment_type
optional
string
Тип отображения файла
attachment_url
optional
string
URL файла
buttons
optional
string
Кнопки
Response
200: OK
import requests
import json
params = {"message": "some_text", "clients": ["5", "58", "110"]}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/broadcast'
requests.post(url, json=params)

Универсальный webhook

Перечисленные методы теперь могут быть запущены как POST, так и GET запросом.

callback vk_callback ok_callback whatsapp_callback message whatsapp_message

Раньше в наших методах были жестко прописаны параметры, по которым запускались выполнения методов для подписчиков (например client_id и vk_id) и это накладывало некоторые ограничения для использования их со сторонними сервисами.

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

А еще метод отправки колбека callback, теперь можно запустить передав электронный адрес (client_email) или телефон (client_phone) клиента.

Методы allback, 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_

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

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
Отправка сообщения в Whatsapp

https://chatter.salebot.pro/api/<api_key>/whatsapp_message
Позволяет отправить сообщение от имени подключенного бота на указанный номер whatsapp_bot_id необходимо взять из раздела мессенджеры и чаты. Каждому подключенному вотсапу конструктор присваивает уникальный идентификатор.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
message_id
optional
string
Номер блока для отправки
whatsapp_bot_id
optional
number
Идентификатор вотсап бота, от которого нужно отправить сообщение
attachment_url
optional
string
url файла
attachment_type
optional
string
тип отображения файла
message
optional
string
Текст сообщения
phone
required
string
Номер телефона получателя
Response
200: OK
import requests
import json
params = {"message": "some_text", "phone": "79875146788"}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/whatsapp_message'
requests.post(url, json=params)

post
Присвоение переменных

https://chatter.salebot.pro/api/<api_key>/save_variables
Позволяет сохранить переменные в заявку и в клиента. Для сохранения переменной клиенту, переменная должна начинаться с префикса client. Update: Параметр clients позволяет массово присваивать переменные.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Body Parameters
clients
optional
array
Массив id клиентов для присвоения переменных
client_id
required
string
id клиента
variables
required
object
Хеш переменных(ключ значение)
Response
200: OK
import requests
import json
params = {"client_id": "25554", "variables": {"var_name": "var_value"}}
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/save_variables'
requests.post(url, json=params)

get
Получение переменных

https://chatter.salebot.pro/api/<api_key>/get_variables?client_id=
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Query Parameters
client_id
required
string
id клиента
Response
200: OK
import requests
import json
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/get_variables?client_id=85856'
requests.get(url)

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

https://chatter.salebot.pro/api/<api_key>/get_clients
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Query Parameters
offset
optional
string
Смещение относительно первого элемента
limit
optional
integer
Количество элементов в ответе/ По умолчанию 500, максимальное значение 500.
Response
200: OK
Возвращает статус и массив элементов
{
"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
}
]
}

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

https://chatter.salebot.pro/api/<api_key>/get_history?client_id=
Получить историю переписки
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Query Parameters
client_id
required
string
id клиента
Response
200: OK
{
"status": "success",
"result": [
{
"id": 104500,
"answered": true,
"client_replica": false,
"message_id": 390,
"message_from_outside": 0,
"created_at": 1587895014,
"text": "Пышь тышь",
"attachments": {
},
"delivered": true,
"error_message": "true"
},
]
}

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

https://chatter.salebot.pro/api/<api_key>/clear_history?client_id=
Удаляет историю переписки
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Query Parameters
client_id
required
string
id клиента
Response
200: OK
import requests
import json
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/api/{token}/clear_history?client_id=85856'
requests.get(url)

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

https://chatter.salebot.pro/api/<api_key>/connected_channels
Функция возвращает к каждому мессенджеру параметр group_id, именно его необходимо передавать при загрузке клиентов. Для Whatsapp также возвращается поле status, которое принимает значения: NOT_STARTED = 0 STARTED = 1 ASLEEP = 2 STOPPED = 3
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Response
200: OK
{'project_id': 1,
'viber': [{
'id': 14,
'uri': 'salebotstage',
'name': 'salebotstage',
'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'}]
}

get
Получить id клиента из Онлайн-чата

https://chatter.salebot.pro/api/<api_key>/online_chat_client_id?recipient=
Этот метод позволяет интегрировать сайт и чат-бота. Например, если человек зашел на страницу с акцией, прислать сразу же сообщение в чат о персональном предложении.
Request
Response
Request
Path Parameters
api_key
required
string
Токен доступа
Query Parameters
tag
optional
string
Тег(метка клиента)
name
optional
string
Имя клиента
recipient
required
string
Идентификатор диалога на сайте
Response
200: OK
{ "client_id": 36553 }

Где взять recipient? На сайте, где размещен онлайн чат "Salebot.pro" при помощи JS получите свойство SaleBotPro.recipient_id

post
Загрузка клиентов в систему

https://chatter.salebot.pro/api/<api_key>/load_clients
Метод позволяет загрузить клиентов в систему. Параметры сложные, они разобраны в примере. При загрузке клиентов whatsapp можно передавать номер в свободном формате, без концовки @s.whatsapp.net
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Response
200: OK
import requests
import json
token = 'b551e18c8b8e86bea6f14f38de3f5cc3c31ba1edb4d8'
url = f'https://chatter.salebot.pro/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)
# в случае успеха функция вернет каждому элементу идентификатор и статус добавления
# пример ответа
# {"status":"success","items":[{"platform_id":"[email protected]","group_id":"5kqchxwyvdvFZOsp80q2qw==","client_type":6,"status":"success","id":1469409}]}

client_type - тип мессенджера, откуда пришел клиент. Принимает значения:

group_id можно получить методом Получить id клиента для работы с API на сайте

get
Получение client_id по номеру Whatsapp

https://chatter.salebot.pro/api/<api_key>/whatsapp_client_id?phone=
Метод вернет идентификатор клиента для выполнения запросов к API, если вы знаете номер телефона клиента в Whatsapp Если клиента нет с таким номером, то метод вернет 404
Request
Response
Request
Path Parameters
api_key
optional
string
Ключ доступа
Query Parameters
phone
required
string
Номер телефона
Response
200: OK

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

https://chatter.salebot.pro/api/<api_key>/find_client_id_by_phone?phone=
Метод вернет идентификатор клиента для выполнения запросов к API. Поиск происходит как по клиентам whatsapp, так и по переменным
Request
Response
Request
Path Parameters
api_key
optional
string
Ключ доступа
Query Parameters
phone
required
string
Номер телефона
Response
200: OK

get
Получение client_id по email

https://chatter.salebot.pro/api/<api_key>/find_client_id_by_email?email=
Метод вернет идентификатор клиента для выполнения запросов к API. Поиск происходит по переменным.
Request
Response
Request
Path Parameters
api_key
optional
string
Ключ доступа
Query Parameters
email
required
string
Email для поиска
Response
200: OK

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

https://chatter.salebot.pro/api/<api_key>/find_client_id_by_var?var=&val=
Метод вернет идентификатор клиента для выполнения запросов к API
Request
Response
Request
Path Parameters
api_key
optional
string
Ключ доступа
Query Parameters
var
required
string
Имя переменной, по которой будет поиск
val
required
string
Значение переменной
Response
200: OK

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

https://chatter.salebot.pro/api/<api_key>/find_client_id_by_platform_id
Метод вернет идентификатор клиента для выполнения запросов к API
Request
Response
Request
Path Parameters
required
string
Ключ доступа
Body Parameters
platform_ids
required
string
массив идентификаторов в мессенджере
Response
200: OK
[{
"id":15099119,
"tag":null,
"created_at":1618815253,
"name":"ОЛЬГА БЕЛИК",
"avatar":"https:\\/\\/files.salebot.pro\\/uploads\\/avatars\\/256865200.jpg",
"platform_id":"2568652",
"group":"Salebotpro_bot",
"variables":{"tg_username":"@belik"}},
{"id":21087377,
"tag":null,
"created_at":1626275893,
"name":"Елена Молниева",
"avatar":"https:\\/\\/files.salebot.pro\\/uploads\\/avatars\\/571830542.jpg",
"platform_id":"571830542",
"group":"Salebotpro_bot",
"variables":{"tg_username":"@molniy61"}
}]

Пример парамтеров: {"platform_ids": ["571830542", "256865200"]}

Получение сообщений на 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': текст ошибки отправки сообщения
}

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

get
Получение списка подписчиков на бота Вконтакте

https://chatter.salebot.pro/api/<api_key>/vk_subscribers
Получение информации о клиентах из мессенджера Вконтакте. Метод был написан специально для интеграции с Eresh.
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Query Parameters
page
optional
integer
tag
optional
string
Tag, который был указан на подписочной странице
group
optional
integer
ID группы вк, к которой привязан подписчик
date_from
optional
integer
После какой даты подписался. timestamp
date_to
optional
integer
До какой даты подписался timestamp
Response
200: OK
[
{
"id": 44886,
"tag": null,
"created_at": 1609867984,
"name": "Дмитрий Спирин",
"vk_id": "146467928",
"group": "155824294",
"variables": null
},
{
"id": 44889,
"tag": null,
"created_at": 1609867984,
"name": "Иван Иванов",
"vk_id": "1609867984",
"group": "155824294",
"variables": {
"utm_source": "some_value"
}
}
]

get
Проверка, подписан ли человек на аккаунт в Instagram

https://chatter.salebot.pro/api/<api_key>/check_insta_subscription
Можно вызывать как с методом POST, так и с GET.
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Body Parameters
user_name
required
string
Логин пользователя, подписку которого нужно проверить
login
optional
string
Логин бота, на который проверяется подписка
Response
200: OK
Поле is_follower как раз и хранит в себе подписан человек или нет
{
"username": "sircaptainslow",
"account_id": "1463220603",
"avatar": "https://instagram.fhel6-1.fna.fbcdn.net/v/t51.2885-19/1060168..",
"real_name": "Владислав",
"is_follower": true,
"status": 200
}

get
Проверка, есть ли Whatsapp на номере телефона

https://chatter.salebot.pro/api/<api_key>/check_whatsapp
Вызывается как с методом GET, так и POST Чтобы использовать мтеод, у вас должен быть подключен Whatsapp к salebot!!! Номер телефона можно передавать в любом формате.
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Body Parameters
phone
required
string
Номер телефона для проверки
Response
200: OK

get
Полечение списка блоков из схемы бота

https://chatter.salebot.pro/api/<api_key>/get_messages
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Response
200: OK

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

https://chatter.salebot.pro/api/<api_key>/add_to_list
Добавляет клиентов в список
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Body Parameters
list_id
required
integer
Номер списка
clients
required
array
Массив с номерами клиентов
Response
200: OK

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

https://chatter.salebot.pro/api/<api_key>/remove_from_list
Удаляет клинетов из списка
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Body Parameters
list_id
required
integer
Номер списка
clients
required
array
Массив с номерами клиентов
Response
200: OK

Если Вам нужны дополнительные методы, свяжитесь со службой поддержки

post
Перенос сделки в состояние SalebotCRM

https://chatter.salebot.pro/api/<api_key>/set_order_state
Номер сделки можно взять в окне редактирования воронки SalebotCRM
Request
Response
Request
Path Parameters
api_key
required
string
Ключ доступа
Body Parameters
client_id
optional
string
Номер клиента
state_id
optional
string
Номер состояния, в которое нужно перенести сделку клинета.
Response
200: OK
Contents
post
Запуск бота
post
Запуск бота по идентификатору пользователя ВКонтакте
post
Запуск бота по номеру Whatsapp
post
Запуск бота по идентификатору пользователя Одноклассников
post
Запуск бота по идентификатору Telegram
post
Отправка сообщения клиенту
post
Массовая отправка сообщений
Универсальный webhook
Параметры отправки сообщения
post
Отправка сообщения в Whatsapp
post
Присвоение переменных
get
Получение переменных
get
Получение списка клиентов
get
Получение истории сообщений
get
Очистить историю сообщений
get
Получить список подключенных мессенджеров к проекту
get
Получить id клиента из Онлайн-чата
post
Загрузка клиентов в систему
get
Получение client_id по номеру Whatsapp
get
Получение client_id по номеру телефона
get
Получение client_id по email
get
Получение client_id по значению переменной
post
Получение client_id поз начению platform_id
Получение сообщений на Webhook URL, указанный в настройках проекта
get
Получение списка подписчиков на бота Вконтакте
get
Проверка, подписан ли человек на аккаунт в Instagram
get
Проверка, есть ли Whatsapp на номере телефона
get
Полечение списка блоков из схемы бота
post
Добавить клиентов в список
post
Удалить клиентов из списка
post
Перенос сделки в состояние SalebotCRM