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

Какие запросы поддерживает конструктор и как их выполнять.

Запросы выполняются методом POST на URL, типа: https://chatter.salebot.pro/api/{api_key}/{action} Где: api_key ключ доступа к API, который получается в настройках проекта (Рисунок 1)

Рисунок 1

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

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 - тип мессенджера, откуда пришел клиент. Принимает значения: для вконтакте 0 для телеграмм 1 для вайбера 2 для фейсбук 3 для в вотсап 6

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

Получение сообщений на 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"
}
}
]

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