Обновление интеграции от 8 июня
Движение сделок по воронке продаж и смена статусов
1. Условие создания новых сделок в воронке
Пока сделка пользователя не дошла до этапа PF | Оплатили продукт, мы создаем новую только в том случае, если пользователь объявился в воронке с другим продуктом.
Продукт будет задаваться в запросах на стороне геткурса и записываться в поле сделки:
Когда поступает запрос на повторное создание сделки в том же этапе, с тем же продуктом (например, повторный просмотр страницы оплаты), добавляем к имеющейся сделке тег в формате r. ТЕГ_ЭТАПА|ПРОДУКТ или r. ТЕГ_ЭТАПА|АРТИКУЛ
Пример: r. P|КДК
2. Предоплата
Если: поступает предоплата и сделка находится в статусах P | Были на стр. оплаты или O | Заявки То: сделка перемещается на этап PP | Внесли предоплату
3. Полная оплата
Если: поступает полная оплата
и сделка находится в статусах P | Были на стр. оплаты или O | Заявки
То: сделка перемещается на этап PF | Оплатили продукт
4. Специальные условия для сделок, взятых в работу менеджерами
Если: поступает любая оплата и сделка находится на одном из этапов Z2 | Повторный звонок, S | Отправил ссылку стр. оплаты, Z3 | Звонок закрытия, DZ | Длинная задача
То: сделка перемещается на этап LP | Личная продажа
5. Специальные условия для сделок, взятых менеджерами на контроль
Если: поступает любая оплата и сделка находится на этапе VR | В работе
То: сделка перемещается на этап PH | Повышение чека
6. Правило для всех остальных случаев , не перечисленных выше
При поступлении предоплаты, сделка всегда стремится попасть на этап PP | Внесли предоплату
При поступлении оплаты, сделка всегда стремится на этап PF | Оплатили продукт
Работа с дублями
Алгоритм обработки запросов на создание сделки:
1. Поиск существующего контакта
- По уникальному идентификатору пользователя на GetCourse (GetCourse id, можно посмотреть в конце ссылки на профиль пользователя)
- По телефону (формат: только цифры)
- По адресу эл. почты
- Если контакт не найден, создается новый
2. Поиск существующей сделки (за исключением статуса PF и системных - закрыто и не реализовано, успешно реализовано. потому что сделки в этих статусах не обновляются)
- Фильтр сделок, связанных с контактом из п.1
а) отсеиваем сделки из других воронок
б) отсеиваем сделки с другим продуктом - Сортировка результата
с последнего статуса воронки к первому
Наконец, если найдена существующая сделка, происходит либо ее дополнение тегами вида r. ..., либо обновление и перемещение по воронке направо 👉
При этом, приоритетным считается именно обновление тегов, а поиск всегда происходит по самой правой сделке.
Если сделка не найдена, создается новая.
Определение статуса заказа
Когда возникает задача определять, является ли целиком оплаченный заказ предоплатой, приложению необходимо уметь устанавливать статус заказа. Как это работает?
Вводные: сумма заказа, оплаченная сумма, идентификаторы предоплатных продуктов. Последние вычисляются из списка Товары в amoCRM, поэтому, для полноценной работы интеграции, его важно поддерживать в актуальном состоянии.
- Если: оплаченная сумма = 0
-> статус Заказ - Если: оплаченная сумма < суммы заказа
-> статус Предоплата - Если: оплаченная сумма = сумме заказа и в заказе есть предоплатные продукты
-> статус Предоплата - Если: оплаченная сумма = сумме заказа
-> статус Полная оплата
Также предусмотрена ручная установка статуса любой сделки, путем указания этапа воронки напрямую. В этом случае, сортировку предоплатных и полных продуктов необходимо производить на стороне GetCourse и так же поддерживать перечни продуктов в актуальном состоянии.
Поле сделки «Оплачено»
Значение поля суммируется на протяжении всего жизненного цикла сделки (цикл начинается на любом из этапов и заканчивается на этапе PF | Оплатили продукт, либо с системными статусами «Закрыто и не реализовано» / «Успешно реализовано»)
Так, например, если сделка посетила этап PP | Внесли предоплату, где пользователь внес предоплату 990 рублей, а потом переместилась на этап PF | Оплатили продукт, где пользователь полностью оплатил заказ с суммой 7000, то поле «Оплачено» примет значение 7990.
При этом, значение поля «GetCourse заказ» будет содержать ссылку на последний заказ клиента (тот, что с суммой 7000)
Поле сделки «Бюджет»
Это поле примет значение суммы всех предложений в заказе, если эти предложения распознаны (список Товары в amoCRM актуален). Также приобретенные клиентом товары будут отображаться на вкладке Товары.
Это поле примет значение суммы последнего заказа клиента, во всех остальных случаях.