Для работы с клиентами и CRM
Last updated
Last updated
ОБОЗНАЧЕНИЯ:
was_in_state(message_id) – для проверки был ли клиент в выбранном состоянии(блоке). Номер блока можно взять из редактора:
days_from_last_message() - для определения количества дней с момента последней реплики клиента. Создана для проверки попадания в 24часовое окно.
Пример:
d = days_from_last_message()
Если с последнего сообщения клиента прошло более 30 дней, функция вернет число 9999
free_client() - для снятия ответственного оператора Пример: free_client()
assign_to_user(email, only_active) - для назначения диалога оператору, где:
email - строка, необязательный параметр. Если указать только email, назначит диалог на указанного оператора независимо от статуса
only_active - True или False, необязательный параметр. Если указано True, назначает диалог указанному оператору, только если он на смене
Примеры:
assign_to_user()
- назначает диалог случайному оператору, который в данный момент находится на смене
assign_to_user('email оператора')
- назначает диалог оператору независимо от статуса
assign_to_user('email оператора', True)
- назначает диалог указанному оператору, только если он на смене
distribute_client() - для назначения диалога оператору согласно настроек автораспределения. Пример: distribute_client()
get_operator() - для получения email ответственного оператора.
Пример: get_operator()
Можно использовать для постановки задачи ответственному и т.д. или проверки есть ли ответственный оператор. Если ответственного нет, то вернется None.
get_operator_name() - для получения имени ответственного оператора.
Пример: get_operator_name()
Можно использовать для вывода информации клиенту. Если ответственного нет, то вернется None. Если у оператора не назначено имя, то вернется email.
delete_pended_messages() - для удаления всех запланированных сообщений для текущего клиента. По умолчанию удаляет и сообщения, созданные стрелками "Не отменять". Чтобы не отменять сообщения со стрелок "Не отменять" необходимо передать параметр False: delete_pended_messages(False)
set_note(comment) - для добавления комментария к диалогу.
Пример: set_note
('Переделать')
add_unread(count) — для пометки непрочитанным диалога с клиентом
Параметр count можно не передавать или передать значение 1, тогда в диалоге с клиентом будет отметка +1 непрочитанное сообщение.
Если передать любое другое число оно отобразиться в разделе Клиенты как количество непрочитанных сообщений от клиента:
clear_unread() — для пометки диалога прочитанным
unsubscribe() - функция для отмены подписки от сообщений бота. Пример рассмотрен в этой статье . У отписавшегося клиента появится символ - красное сообщение с крестиком.
block_client() - заблокировать клиенту возможность писать в бота. Также будут отменены ранее запланированные сообщения от бота. Остается возможность писать клиенту из диалога в разделе Клиенты.
У заблокированного клиента появится отметка - красный замочек.
unblock_client() - разблокировать клиента. Клиент снова сможет контактировать с ботом, двигаться по цепочкам сообщений.
set_client_name(name) - изменить имя клиента. Передайте вместо name имя клиента, указав его в двойных кавычках. Можно использовать переменную, в которой записано имя клиента, следующим образом: - set_client_name("Виктор Викторович")
get_bind_clients() - функция без параметров, возвращает массив из id клиентов, привязанных к текущему клиенту.
get_current_pipline_id() - функция без параметров, возвращает id воронки, в которой находится клиент. Если сделка клиента в неразобранном - возвращает None
Функции работы с задачами возвращают статус выполнения операции True или идентификатор задачи в случае успеха. В случае неудачи возвращается False или None.
Salebot работает с датами в формате "dd.mm.yyyy", а с временем в формате "HH:MM"
create_task(email, name, date_srok, description, time_srok) – для создания задачи
Параметры:
! email - еmail ответственного
! name - название задачи
! date_srok - срок выполнения, дата
! description - описание
time_srok - срок выполнения, время
update_task(task_id,email, name, date_srok, description, time_srok) - для обновления задачи
Параметры:
! task_id- id задачи
! email - еmail ответственного
! name - название задачи
! date_srok - срок выполнения, дата
! description - описание
time_srok - срок выполнения, время
done_task(task_id)- для отметки задачи - выполнено
Параметры:
! task_id- id задачи
delete_task(task_id) – для удаления задачи
Параметры:
! task_id- id задачи
Получение идентификатора текущей сделки
get_order_id() - вернет состояние сделки
Создание новой сделки
create_order(name, budget, description, client_name, phone, email, state_id) Текущая активная сделка в воронке вместе с переменными станет доступна только в функциях для работы со сделками и в CRM. Действие аналогично действию красного блока, за исключением отправки заявки на почту, указанную в настройках проекта. Параметры функции: ! name - название сделки. Необязательный параметр, если не передан, то применит к текущей активной сделке клиента
! budget - стоимость сделки (число). Необязательный параметр, если не передан, то применит к текущей активной сделке клиента Если передать в параметре budget не число, функция вернет ответ: 'budget must be a number'
description - Описание сделки. Необязательный параметр;
Дополнительные параметры для создания клиента:
client_name - (необязательный параметр) строка, имя для нового клиента
phone - (необязательный параметр) строка, телефон для нового клиента
email - (необязательный параметр) строка, емейл для нового клиента
Для создания клиента должна быть указана переменная phone или email. Если указана phone, и клиента с таким телефоном в проекте нет, то будет создан новый.
Если указана переменная email без переменной phone, и клиента в проекте с таким адресом нет, будет создан новый.
Дополнительный параметр:
state_id - число, позволяет указать состояние, в котором будет сделка после создания, необязательный параметр
Добавить или изменить название сделки
set_order_name(name, order_id)
name - ❗обязательный параметр,строковое значение. Название сделки
order_id - не обязательный, если не передан, то применит к текущей активной сделке клиента
Добавить или изменить бюджет сделки
set_order_budget(budget, order_id)
budget -❗обязательный параметр, число. Стоимость сделки
order_id - не обязательный, если не передан, то применит к текущей активной сделке клиента
Для корректной работы order_id:
Либо вписывать вручную: брать id из сделки и писать как параметр функции, если нужна конкретная сделка
Либо получать через функцию get_order_id(), потому что встроенная переменная order_id возвращает ответ в виде {client_id}-{order_id}, что приводит к некорректной работе.
Получение списка активных сделок (исключая архивные*, успешные или проваленные сделки)
get_active_orders_ids()
Получение списка идентификаторов успешных сделок
get_success_orders_ids()
Получение списка идентификаторов проваленных сделок
get_fail_orders_ids()
Получение значения переменной сделки
get_order_var(order_id, variable)
Параметры:
! order_id - идентификатор сделки
! variable - имя переменной, значение которой необходимо получить
Получение данных сделки
get_order_vars(order_id, names)
Параметры:
! order_id - идентификатор сделки
names - массив переменных, данные которых необходимо получить. Если не указан, то функция вернет все данные указанной сделки
Функция возвращает словарь с переменными, перечисленными в массиве names, для сделки order_id. Если names не указано, то функция вернет словарь всех переменных указанной сделки
Добавление переменной сделки
set_order_var(order_id, variable, value)
Параметры:
! order_id - идентификатор сделки
! variable - имя переменной, которую будем добавлять в сделку
Если вы хотите изменить параметры "название" или "описание" сделки, используйте значения "Название" или "Описание"
! value - значение переменной
Добавление нескольких переменных сделки
set_order_vars(order_id, variables_dict)
Параметры:
! order_id - идентификатор сделки.
! variables_dict - словарь переменных
Перенос на следующий этап воронки
move_order_to_next_state(order_id)
Параметры:
order_id - идентификатор сделки. Если параметр не указан, то будет перемещена текущая активная сделка
Порядок состояний сделки устанавливается в соответствии с заданным порядком в SalebotCRM
Получение id состояния воронки в SalebotСRM
get_state_id(client_id, order_id) Также id состояния воронки можно скопировать в Настройках состояния
Параметры:
order_id - id сделки клиента
Можно с параметром order_id или без него если нет order_id , то вернет id состояния в воронке по текущей сделке.
Также для корректной работы order_id:
Либо вписывать вручную: брать id из сделки и писать как параметр функции, если нужна конкретная сделка
Либо получать через функцию get_order_id(), потому что встроенная переменная order_id возвращает ответ в виде {client_id}-{order_id}, что приводит к некорректной работе.
Перемещение лида по воронке SalebotCRM по id состояния
change_state(state_id, order_id)
Параметры:
! state_id - id состояния воронки
order_id ( не обязателен) - id сделки, которую перемещаем по воронке
Если не передать, то переместит текущую активную сделку.
Получение id сделки по названию и значению параметра
get_order_id_by_var_value(var_name, var_value, client_id)
Параметры:
! var_name - название переменной;
! var_value - значение переменной;
client_id - идентификатор клиента сделки, необязательный, по умолчанию - id клиента в боте;
Получение времени последней сделки
latest_order_datetime(client_id, dt_fmt)
Параметры:
client_id - идентификатор клиента сделки, необязательный, по умолчанию - id клиента в боте;
df_fmt - формат возвращаемых даты и времени, необязательный, по умолчанию - "%d.%m.%y %H:%M"
Получение числа сделок клиента
count_client_orders(client_id, state_id, get_all, active)
Параметры: client_id - идентификатор клиента сделки, необязательный, по умолчанию - id клиента в боте;
state_id - id состояния сделок в воронке, необязательный;
get_all - индикатор фильтрации по параметру active, необязательный, по умолчанию - 1 (единица), то есть фильтрация по active отключена;
active - параметр для фильтрации активных сделок, используется только когда get_all равно 0 (ноль), по дефолту 1 (единица), т.е. возвращает только активные сделки;
Получение количества заявок в определенном состоянии сделки
get_count_orders(id) - функция, которая позволяет выгрузить количество заявок, находящихся в определенном состоянии воронки по id сделки.
Функция принимает один параметр:
! id - идентификатор (айди) состояния сделки.
Пример использования функции:
Идентификатор состояния можно найти в настройках.
Далее необходимо прописать функцию в калькуляторе следующим образом:
При тестировании бота ответ бота будет состоять из количества сделок, находящихся в передаваемом значении в функции:
set_order_status_success(order_id)
Параметры:
order_id - идентификатор сделки. Если параметр не указан, то метка будет установленная для текущей активной сделки
set_order_status_fail(order_id)
Параметры:
order_id - идентификатор сделки. Если параметр не указан, то метка будет установленая для текущей активной сделки
set_order_status_archive(order_id)
Параметры:
order_id - идентификатор сделки. Если параметр не указан, то метка будет установлена для текущей активной сделки