На территории Российской Федерации запрещена деятельность социальных сетей Facebook и Instagram, принадлежащих компании Meta Platforms Inc., признанной экстремистской.
Функции API работают только на тарифах «Бизнес» и «Инфобиз».
API Salebot
Обозначения: ! — обязательные параметры.
Как отправить Callback
Callback можно отправить только другому клиенту.
Себе отправить callback нельзя.
Описание
callback(client_id, callback_message)
Параметры
-
!
client_id— идентификатор клиента. -
!
callback_message— текст сообщения в callback.
Примеры
Callback — в программировании это функция, предназначенная для отложенного выполнения. То есть это отправка сообщения, которое бот распознаёт как команду для исполнения. Клиент при этом не видит данное сообщение, оно отображается только в карточке клиента.
Отправим callback клиенту с client_id = 73704021.

Скрин карточки клиента:

Далее просто настраиваем реакцию на данный callback в блоке с условием.
Пример кода для копирования
callback('73704021', 'callback TEST123')
Как отправить Callback в Telegram
Описание
tg_callback(platform_id, callback_message, group_id, business_connection_id)
Параметры
-
!
platform_id— идентификатор клиента Telegram. -
!
callback_message— текст сообщения в callback. -
group_id— идентификатор Telegram-бота. -
tg_business— для работы с бизнес-клиентами передаётся значение"1".
Пример кода для копирования
tg_callback('73704021', 'callback TEST123')
Видеоразбор
https://www.youtube.com/watch?v=Py_sQ8Rfgho
Разбор функции callback().
Как в реакции на callback-кнопку добавить переход в бота с тегом
tg_callback_url_open(callback_query_id, url)
Параметры
-
!
callback_query_id— ID, позволяющий идентифицировать пользователя, нажавшего кнопку, и показать ему Alert-уведомление. -
!
url— URL-адрес, указывающий бота и параметр.
Пример:
t.me/your_bot?start=XXXX
Вместо your_bot укажите имя бота.
Как отправить клиенту сообщение
message()
platform_message()
whatsapp_message()
Чтобы записать в переменную текст с переносами строк, укажите значение следующим образом:
text = "Текст первой строки" + "\n" + "Текст второй строки" + "\n" + "Третья строка"
Функция message()
message(client_id, text, message_id, timeout)
Параметры
-
!
client_id— идентификатор клиента. -
!
text— текст сообщения. -
message_id— идентификатор блока. Если оставить параметрtextпустым (''), аmessage_idзаполнить, клиенту будет отправлен текст из указанного блока. -
timeout— время отправки или задержка.
Если в функцию
message()передать параметрmessage_id, блок всё равно отработает полностью, а клиент, указанный вclient_id, будет перемещён в блок, переданный в параметреmessage_id.
В параметре timeout можно указать:
-
Задержку в секундах до
3600.Если указано большее количество секунд, сообщение отправится через час. Если указано отрицательное число, сообщение отправится мгновенно.
Пример:
timeout = 50 -
Дату отправки в формате
дд.мм.гггг чч:мм.Пример:
timeout = '03.04.2022 15:00'Если указать прошедшее время, сообщение отправится мгновенно.
Функция platform_message()
platform_message(
platform_id,
text,
client_type,
message_id,
timeout,
group_id
)
Параметры
-
!
platform_id— идентификатор клиента в мессенджере. -
!
text— текст сообщения. -
client_type— тип мессенджера. Если не указан, клиент будет найден в том же мессенджере, из которого бот отправляет сообщение. Если указан, поиск будет выполняться среди клиентов выбранного мессенджера. -
message_id— идентификатор блока. Если указан, клиент получит сообщение из указанного блока вместо значения изtext. -
timeout— время отправки или задержка. Работает так же, как одноимённый параметр функцииmessage(). -
group_id— идентификатор бота.
Используемые значения client_type можно посмотреть в этой статье.
Функция whatsapp_message()
whatsapp_message(phone, text, message_id)
Параметры
-
!
phone— номер телефона клиента, на котором зарегистрирован WhatsApp. -
!
text— текст сообщения. -
message_id— идентификатор блока. Если оставитьtextпустым (''), а этот параметр заполнить, клиенту будет отправлен текст из указанного блока.
К проекту должен быть подключён WhatsApp-бот.
Примеры
Простой пример отправки сообщения по client_id:

Разные варианты отправки сообщения по client_id:

Пример отправки сообщения через platform_message():

Пример кода
# Отправка сообщения по client_id
message(73704021, 'Текст сообщения для клиента')
# Отправка сообщения по client_id с задержкой в 30 секунд
message(73704021, 'Привет! Спасибо, что написал.', '', 30)
# Отправка сообщения из блока 3190 по client_id 03.04.2022 в 15:00
message(73704021, '', 3190, '03.04.2022 15:00')
# Отправка сообщения в WhatsApp
whatsapp_message('79999999999', 'Текст сообщения для клиента')
Видеоразбор
https://www.youtube.com/watch?v=QSf86of1Bv8
Разбор функции message().
https://www.youtube.com/watch?v=pi5zkqSQhAo
Разбор функций platform_message() и whatsapp_message().
Получение client_id по значению platform_id
get_client_id_by_platform_id(client_type, platform_id, group)
Функция возвращает client_id, если клиент найден по заданным условиям. В противном случае возвращается None.
Параметры
-
!
client_type— тип мессенджера. Значенияclient_typeможно посмотреть в этой статье. -
!
platform_id— ID клиента в указанном мессенджере. -
group— обязательный параметр, если для мессенджера подключено более одного бота.
Если в проекте подключено несколько мессенджеров одного типа, поиск будет выполняться по всем подключённым ботам этого типа.
В таком случае рекомендуется передавать параметр
group.
HTTP-запросы
GET-запрос
Функция
requests_get(url, answer_type, headers, params, auth, proxy)
Параметры
| Параметр | Описание |
|---|---|
! url |
Ссылка, по которой выполняется запрос. |
answer_type |
Тип возвращаемого ответа. |
headers |
Заголовки HTTP-запроса. |
params |
Параметры GET-запроса (могут быть указаны непосредственно в URL). |
auth |
Параметры авторизации. Если параметр пропускается, но необходимо использовать следующий параметр, передайте 0. |
proxy |
Необязательный параметр. Принимает значение "de" — запрос будет выполнен с европейского IP-адреса. |
Значения answer_type
| Значение | Результат |
|---|---|
status |
Возвращает HTTP-код ответа. |
json |
Возвращает JSON-ответ. |
text |
Возвращает текст ответа. |
| любое другое значение или пустое | Возвращает словарь вида {"status": status_code, "data": data}. |
POST-запрос
Функция
requests_post(url, answer_type, headers, data, json_data, auth, proxy)
Параметры
| Параметр | Описание |
|---|---|
! url |
Ссылка, по которой выполняется запрос. |
answer_type |
Тип возвращаемого ответа. |
headers |
Заголовки HTTP-запроса. |
data |
Тело запроса в обычном формате. |
json_data |
Тело запроса в формате JSON. Используется вместо data. |
auth |
Параметры авторизации. Если параметр пропускается, но необходимо использовать следующий параметр, передайте 0. |
proxy |
Необязательный параметр. Принимает значение "de" — запрос будет выполнен с европейского IP-адреса. |
Некоторые варианты заголовков могут блокировать отправку запроса с определённым типом тела.
PUT-запрос
Функция
requests_put(url, answer_type, headers, data, auth, proxy)
Параметры
| Параметр | Описание |
|---|---|
! url |
Ссылка, по которой выполняется запрос. |
answer_type |
Тип возвращаемого ответа (status, json, text или словарь по умолчанию). |
headers |
Заголовки HTTP-запроса. |
data |
Тело запроса. Формат зависит от API. |
auth |
Параметры авторизации. Если параметр пропускается, но необходимо использовать следующий параметр, передайте 0. |
proxy |
Необязательный параметр. Принимает значение "de" — запрос будет выполнен с европейского IP-адреса. |
PATCH-запрос
Функция
requests_patch(url, answer_type, headers, data, auth, proxy)
Параметры
| Параметр | Описание |
|---|---|
! url |
Ссылка, по которой выполняется запрос. |
answer_type |
Тип возвращаемого ответа (status, json, text или словарь по умолчанию). |
headers |
Заголовки HTTP-запроса. |
data |
Тело запроса. Формат зависит от API. |
auth |
Параметры авторизации. Если параметр пропускается, но необходимо использовать следующий параметр, передайте 0. |
proxy |
Необязательный параметр. Принимает значение "de" — запрос будет выполнен с европейского IP-адреса. |
DELETE-запрос
Функция
requests_delete(url, answer_type, headers, data, json_data, auth, proxy)
Параметры
| Параметр | Описание |
|---|---|
! url |
Ссылка, по которой выполняется запрос. |
answer_type |
Тип возвращаемого ответа (status, json, text или словарь по умолчанию). |
headers |
Заголовки HTTP-запроса. |
data |
Тело запроса. |
json_data |
JSON-тело запроса. Используется вместо data. |
auth |
Параметры авторизации. Если параметр пропускается, но необходимо использовать следующий параметр, передайте 0. |
proxy |
Необязательный параметр. Принимает значение "de" — запрос будет выполнен с европейского IP-адреса. |
Получение названия блока по ID
Функция
get_block_name_by_id(block_id)
Параметры
| Параметр | Описание |
|---|---|
! block_id |
Идентификатор блока. |
Функции (API) для интеграции
AMOCRM
Внимание!
Данные функции являются устаревшими.
Подключение интеграции больше недоступно, так как виджет Salebot был удалён из AmoCRM.
Рекомендуется использовать Salebot CRM для интеграции сайтов и чат-ботов.
Как получить токен
Для получения токена используется функция:
amo_token = amo_get_token()
Как добавить новую сделку
Используйте функцию:
amo_add_lead(lead_data, contact_id)
Параметры
-
contact_id— необязательный параметр. По умолчанию используется значение переменнойamo_client_id. -
lead_data— словарь с параметрами новой сделки.
Максимальный набор параметров:
amo_add_lead(
'{"name": "Новый ЛИД", "budget": бюджет, "responsible_id": идентификатор_ответственного}'
)
Минимальный пример:
amo_add_lead('{"name": "Новый ЛИД"}')
Если ответственный сотрудник не указан, будет назначен первый созданный сотрудник.
Как переименовать сделку
amo_set_lead_name(новое_название, lead_id)
Параметры
-
lead_id— необязательный параметр. По умолчанию используется значение переменнойamo_lead_id.
Пример:
amo_set_lead_name("Новое название")
Как переместить сделку по воронке
amo_change_state(status_id, lead_id, pipeline_id)
Параметры
-
status_id— ID этапа воронки, на который необходимо переместить сделку. -
lead_id— ID сделки, которую необходимо переместить. Необязательный параметр. По умолчанию используется значение переменнойamo_lead_id. Чтобы пропустить параметр, передайтеNoneили пустую строку"". -
pipeline_id— ID воронки, если сделка находится в другой воронке AmoCRM. Необязательный параметр. Чтобы пропустить параметр, передайтеNone.
Пример без передачи lead_id:
amo_change_state(status_id, "", pipeline_id)
Пример без передачи обоих необязательных параметров:
amo_change_state(status_id)
Если ID сделки хранится в стандартной переменной
amo_lead_id, передавать его необязательно.
ID этапа можно посмотреть в исходном коде страницы AmoCRM:

Как получить информацию по сделке
amo_get_lead_info(lead_id)
Параметры
-
lead_id— ID сделки. Необязательный параметр. По умолчанию используется значение переменнойamo_lead_id.
Пример получения информации о текущей сделке:
amo_get_lead_info()
Как получить значение кастомного поля сделки
amo_get_lead_custom_field(var_id, lead_id)
Параметры
-
var_id— ID или название кастомного поля. -
lead_id— ID сделки. Необязательный параметр. По умолчанию используется значение переменнойamo_lead_id.
Пример
var_id = 682233
amo_get_lead_custom_field(var_id, None)
Узнать ID кастомного поля можно, открыв в браузере:
вашдомен.amocrm.ru/api/v4/leads/custom_fields
Также это описано в статье:
https://docs.salebot.pro/crm/integraciya-s-amocrm#kak-otpravit-kastomnye-polya-amocrm
Как отправить кастомные поля сделке
Передача одного значения
amo_add_lead_custom_fields("идентификатор поля", "Значение")
Также третьим параметром можно передать ID сделки вручную. Если параметр не указан, используется значение переменной amo_lead_id.
amo_add_lead_custom_fields(
"идентификатор поля",
"Значение",
"идентификатор сделки"
)
Передача нескольких значений
amo_add_lead_custom_fields(
'{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2", "идентификатор поля3": "Значение3"}'
)
Пример:
amo_add_lead_custom_fields(
'{"582601": "222333333", "588091": "red"}'
)
Если ID сделки передаётся третьим параметром, вторым необходимо передать пустую строку:
amo_add_lead_custom_fields(
'{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2"}',
'',
"идентификатор сделки"
)
Как получить информацию о клиенте
amo_get_contact_info(contact_id)
Параметры
-
contact_id— ID контакта. Необязательный параметр. По умолчанию используется значение переменнойamo_contact_id.
Чтобы пропустить параметр, передайте None.
Как получить значение кастомного поля клиента
amo_get_contact_custom_field(var_id, contact_id)
Параметры
-
var_id— ID или название кастомного поля. -
contact_id— ID контакта. Необязательный параметр. По умолчанию используется значение переменнойamo_contact_id.
Узнать ID кастомного поля можно, открыв:
вашдомен.amocrm.ru/api/v4/contacts/custom_fields
Как отправить кастомное поле контакту
Передача одного значения
amo_add_contact_custom_fields(
"идентификатор поля",
"Значение"
)
Также можно передать ID контакта третьим параметром:
amo_add_contact_custom_fields(
"идентификатор поля",
"Значение",
"идентификатор контакта"
)
Если ID не указан, используется значение переменной amo_client_id.
Передача нескольких значений
amo_add_contact_custom_fields(
'{"идентификатор поля": "Значение", "идентификатор поля2": "Значение2"}'
)
Пример:
amo_add_contact_custom_fields(
'{"582601": "222333333", "588091": "red"}'
)
Если ID контакта передаётся третьим параметром, вторым необходимо передать пустую строку:
amo_add_contact_custom_fields(
'{"582601": "222333333", "588091": "red"}',
'',
"идентификатор контакта"
)
Как создать задачу
amo_create_task(
title,
assigned_id,
minutes_deadline,
task_type_id,
lead_id
)
Параметры
-
title— текст задачи. -
assigned_id— ID ответственного сотрудника. -
minutes_deadline— срок выполнения в минутах. -
task_type_id— ID типа задачи. -
lead_id— ID сделки. Необязательный параметр. По умолчанию используется значение переменнойamo_lead_id.
Чтобы узнать ID типа задачи, откройте:
вашдомен.amocrm.ru/api/v4/tasks
Как установить теги
amo_set_tags(tags, lead_id)
Параметры
-
tags— список тегов через запятую. -
lead_id— ID сделки. Необязательный параметр.
Как установить бюджет
amo_set_budget(budget, lead_id)
Параметры
-
budget— сумма сделки. -
lead_id— ID сделки. Необязательный параметр.
Как добавить примечание
amo_add_notes(text, lead_id)
Параметры
-
text— текст примечания. -
lead_id— ID сделки. Необязательный параметр.

Как добавить примечание к контакту
amo_add_contact_notes(text, contact_id)
Параметры
-
text— текст примечания. -
contact_id— ID контакта. Необязательный параметр. По умолчанию используется значение переменнойamo_client_id.
Чтобы пропустить параметр, передайте None.
Как изменить имя и фамилию контакта
amo_set_contact_name('Имя', 'Фамилия')
Первый параметр является обязательным.
Пример
amo_set_contact_name('Жульен', 'Агутин')
Также третьим параметром можно передать ID контакта вручную. Если второй параметр (фамилия) отсутствует, вместо него необходимо передать пустую строку.
Пример:
amo_set_contact_name('Жульен', '', '1234567')
Как задать контакту номер телефона и e-mail
Чтобы передать клиенту номер телефона и адрес электронной почты в AmoCRM, в блоке «Калькулятор» задайте переменные:
client.phone = Телефон
client.email = Email
Данные из этих переменных будут автоматически переданы в CRM при прохождении клиента через жёлтые и красные блоки.
Как назначить ответственного сотрудника для сделки
amo_set_lead_responsible_user(
responsible_user_id,
lead_id
)
Параметры
-
responsible_user_id— ID сотрудника, которого необходимо назначить ответственным. -
lead_id— ID сделки. Необязательный параметр. По умолчанию используется значение переменнойamo_lead_id.
Пример
amo_set_lead_responsible_user(5912572)
Где найти ID ответственного сотрудника:

Как найти идентификатор поля
ID поля можно найти в коде страницы, нажав правой кнопкой мыши по названию нужного поля.

Битрикс24
Внимание!
Устаревшие функции.
Подключение Битрикс24 больше недоступно.
Как добавить комментарий
Сделка
bitrix_add_deal_comment(text, bitrix_deal_id)
Параметры
-
text— текст комментария. -
bitrix_deal_id— ID сделки. Необязательный параметр. По умолчанию используется значение переменнойbitrix_deal_id.
Контакт
bitrix_add_contact_comment(text, bitrix_contact_id)
Параметры
-
text— текст комментария. -
bitrix_contact_id— ID контакта. Необязательный параметр. По умолчанию используется значение переменнойbitrix_contact_id.
Лид
bitrix_add_lead_comment(text, bitrix_lead_id)
Параметры
-
text— текст комментария. -
bitrix_lead_id— ID лида. Необязательный параметр. По умолчанию используется значение переменнойbitrix_lead_id.
Как изменить ответственного
Сделка
bitrix_deal_responsible(
assigned_by_id,
bitrix_deal_id
)
Параметры
-
assigned_by_id— ID пользователя в Bitrix24. -
bitrix_deal_id— ID сделки. Необязательный параметр.
Контакт
bitrix_contact_responsible(
assigned_by_id,
bitrix_contact_id
)
Параметры
-
assigned_by_id— ID пользователя в Bitrix24. -
bitrix_contact_id— ID контакта. Необязательный параметр.
Лид
bitrix_lead_responsible(
assigned_by_id,
bitrix_lead_id
)
Параметры
-
assigned_by_id— ID пользователя в Bitrix24. -
bitrix_lead_id— ID лида. Необязательный параметр.
Как изменить поля
Сделка
bitrix_deal_fields(fields, bitrix_deal_id)
Контакт
bitrix_contact_fields(fields, bitrix_contact_id)
Лид
bitrix_lead_fields(fields, bitrix_lead_id)
Параметры
-
fields— словарь с именами полей и значениями. -
bitrix_*_id— идентификатор соответствующей сущности. Необязательный параметр.
Формат словаря:
'{
"Название поля": "значение",
"Название поля2": "значение2"
}'
Пример
bitrix_lead_fields(
'{
"ADDITIONAL_INFO": "Дополнительная информация",
"UTM_CONTENT": "Содержание кампании"
}'
)
Как выполнить поиск
Сделка
bitrix_deal_search(
search_filter,
select_fields,
order
)
Контакт
bitrix_contact_search(
search_filter,
select_fields,
order
)
Лид
bitrix_lead_search(
search_filter,
select_fields,
order
)
Товар
bitrix_product_search(
search_filter,
select_fields,
order
)
Параметры
search_filter
Словарь с условиями фильтрации.
Пример:
'{
">OPPORTUNITY": 0,
"STAGE_ID": "NEW"
}'
В данном примере будут найдены сделки, у которых:
- поле
OPPORTUNITYбольше0; - поле
STAGE_IDравноNEW.
Чтобы использовать отрицание, добавьте перед названием поля символ !.
Например:
'{
"!STAGE_ID": "NEW"
}'
Такой фильтр найдет все сделки, у которых этап не равен NEW.
select_fields
Необязательный параметр.
Массив полей, которые необходимо вернуть.
Пример:
'[
"ID",
"TITLE"
]'
order
Необязательный параметр.
Используется для сортировки результатов поиска.
Возвращаемое значение
Функция возвращает словарь следующего вида:
{
"result": [],
"total": 0
}
где:
-
result— массив найденных объектов; -
total— общее количество найденных записей.
Пример
result = bitrix_deal_search(
'{"STAGE_ID":"NEW"}',
'["ID","TITLE","UF_CRM_1637142365873"]'
)
В этом примере:
- выполняется поиск сделок на стадии
NEW; - возвращаются поля:
-
ID; -
TITLE; -
UF_CRM_1637142365873.
-
Если сделки найдены, функция вернет, например:
{
"result": [
{
"ID": "5",
"UF_CRM_1637142365873": "значение поля"
},
{
"ID": "7",
"UF_CRM_1637142365873": null
}
],
"total": 2
}
Как узнать имена полей сущностей
Список стандартных полей доступен в документации по интеграции с Битрикс24.
Как закрыть чат оператором в Битрикс24
Используйте функцию:
bitrix_dialog_finish(chat_id)
Параметры
| Параметр | Описание |
|---|---|
chat_id |
Идентификатор чата в системе Битрикс24. |


