Для работы с клиентами и CRM

Для работы с клиентами

was_in_state() | days_from_last_message() | free_client() | assign_to_user() | distribute_client()| get_operator() | get_operator_name() | delete_pended_messages() | set_note() | add_unread() | clear_unread() | unsubscribe()|block_client() | unblock_client() | set_client_name() | get_bind_clients()

ОБОЗНАЧЕНИЯ:

  • 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 клиентов, привязанных к текущему клиенту.

Для работы с задачами

Функции работы с задачами возвращают статус выполнения операции True или идентификатор задачи в случае успеха. В случае неудачи возвращается False или None.

Salebot работает с датами в формате "dd.mm.yyyy", а с временем в формате "HH:MM"

create_task() | update_task() | done_task() | delete_task()

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() | set_order_name() | set_order_budget() | get_active_orders_ids() | get_success_orders_ids() | get_fail_orders_ids() | get_order_var() | get_order_vars() | set_order_var() | set_order_vars() | move_order_to_next_state() | set_order_status_success() | set_order_status_fail(order_id)| get_state_id() | change_state() | get_order_id_by_var_value() | latest_order_datetime() | count_client_orders(), get_count_orders()

Получение идентификатора текущей сделки

get_order_id() - вернет состояние сделки

Создание новой сделки

create_order(name, budget, description) Текущая активная сделка в воронке вместе с переменными станет доступна только в функциях для работы со сделками и в CRM. Действие аналогично действию красного блока, за исключением отправки заявки на почту, указанную в настройках проекта. Параметры функции: name - название сделки. Необязательный параметр, если не передан, то применит к текущей активной сделке клиента

budget - стоимость сделки (число). Необязательный параметр, если не передан, то применит к текущей активной сделке клиента Если передать в параметре budget не число, функция вернет ответ: 'budget must be a number'

description - Описание сделки. Необязательный параметр;

Добавить или изменить название сделки

set_order_name(name, order_id)

name - ❗обязательный параметр,строковое значение. Название сделки

order_id - не обязательный, если не передан, то применит к текущей активной сделке клиента

Добавить или изменить бюджет сделки

set_order_budget(budget, order_id)

budget -❗обязательный параметр, число. Стоимость сделки

order_id - не обязательный, если не передан, то применит к текущей активной сделке клиента

Для корректной работы order_id:

  1. Либо вписывать вручную: брать id из сделки и писать как параметр функции, если нужна конкретная сделка

  1. Либо получать через функцию 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:

  1. Либо вписывать вручную: брать id из сделки и писать как параметр функции, если нужна конкретная сделка

  1. Либо получать через функцию 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()

set_order_status_success(order_id)

Параметры:

order_id - идентификатор сделки. Если параметр не указан, то метка будет установленная для текущей активной сделки

Установка метки проваленной сделки set_order_status_fail()

set_order_status_fail(order_id)

Параметры:

order_id - идентификатор сделки. Если параметр не указан, то метка будет установленая для текущей активной сделки

Установка метки архивной сделки set_order_status_archive()

set_order_status_archive(order_id)

Параметры:

order_id - идентификатор сделки. Если параметр не указан, то метка будет установлена для текущей активной сделки

Last updated