Skip to content

Управление базой лидов

Что такое лид

Лид — контакт для обзвона. Каждый лид содержит:

  • один или несколько номеров телефона
  • имя (передаётся на телефонию как caller name)
  • часовой пояс (используется для звонков в удобное местное время)
  • дополнительные данные (ссылка на карточку в CRM, переменные для IVR и т. д.)

Лиды хранятся в бакетах, бакеты привязаны к кампаниям. Именно кампания определяет, как и когда лиду будут звонить.


Жизненный цикл лида

Каждому лиду присвоен статус, который меняется по мере продвижения по обзвону.

Загружен → INITIALIZE
              │
              ├─ (повторная загрузка) → REINITIALIZE
              │
              ├─ (не дозвонились, есть ещё попытки) → CONTINUE
              │
              ├─ (дозвонились) → COMPLETED  ✓
              ├─ (все попытки исчерпаны) → FAILED
              ├─ (номер в чёрном списке) → BLACKLIST
              ├─ (мягкое удаление) → DELETED
              └─ (ошибка системы/телефонии) → ERROR

Пока идёт набор номера — лид получает промежуточный статус RESERVED. В этот момент его нельзя редактировать: любые изменения вернут ошибку. Если нужно удалить такого лида, повторите попытку через ~1 минуту.

Статус Когда присваивается Продолжается ли обзвон
INITIALIZE Сразу после создания Да
REINITIALIZE При повторном создании (сбрасываются счётчики) Да
CONTINUE Звонили, не дозвонились, есть ещё попытки Да
RESERVED Идёт набор номера Пауза (временный статус)
COMPLETED Успешный дозвон (ANSWER) Нет
FAILED Исчерпаны все попытки Нет
ABANDON Лид ответил, но бросил трубку до оператора Нет
BLACKLIST Номер найден в чёрном списке Нет
DELETED Мягкое удаление Нет
ERROR Ошибка телефонии или постобработки Нет

Создание бакета

Бакет — логическая сущность для организации хранения лидов с указанием приоритета. Лиды загружаются в бакеты, бакеты связаны с кампаниями. Один бакет привязывается только к одной кампании.

  1. Перейдите в /dialer/ui/superviser/#/buckets → нажмите «Создать»
  2. Укажите название и выберите кампанию (определяет стратегию обзвона)
  3. Выберите планировщик звонков (если не указан — берётся из кампании)
  4. Укажите приоритет — целое неотрицательное число; меньшее значение = выше приоритет

Создание бакета

На вкладке Настройки можно указать, в какой бакет перемещать лидов после завершения всех шагов расписания.

Бакет для стратегии Callback

Если бакет создаётся для стратегии Callback, появляется дополнительное поле ответственный агент — из списка операторов выберите того, чьими задачами будут считаться лиды из этого бакета.

alt_text

На вкладке Настройки для Callback также появляется поле если оператор недоступен, перемещать в бакет. Если подошло время звонка, а ответственный оператор недоступен, лида можно перенести в бакет другому оператору или в общую очередь.

alt_text

Важно

Если не указано, куда переносить лида при недоступности оператора — вернётся ошибка, и дозвон этому лиду осуществляться не будет.


Загрузка лидов из CSV

Подготовка файла

Файл CSV должен содержать минимальный набор столбцов:

Столбец Описание
phone Номер телефона (обязательный)
timezone Часовой пояс в формате смещения от UTC (например, +3)
name Имя абонента (передаётся как caller name)
data Массив дополнительных данных (JSON)

Шаблон CSV для скачивания доступен в настройках бакета на вкладке Actions.

Процесс загрузки

  1. Откройте нужный бакет → вкладка Actions
  2. В блоке «Загрузить новый» укажите путь к файлу
  3. Нажмите «Загрузить» — откроется окно предпросмотра

Загрузка лидов

  1. В предпросмотре назначьте соответствие столбцов файла полям системы
  2. Сохраните настройку как шаблон (v3.8.0+) — для повторной загрузки аналогичных файлов

Начиная с v3.7.0 можно устанавливать произвольные имена столбцов при загрузке. С v3.8.0 — сохранять конфигурацию как шаблон.

Настраиваемые поля

В настройках кампании (вкладка «Настраиваемые поля») можно создать собственные поля для лидов — задать тип, обязательность и значение по умолчанию. При загрузке CSV эти поля будут доступны для маппинга.

Настраиваемые поля Создание поля

Проверка на дубли

При загрузке можно включить поиск дублей по номеру телефона:

  1. В настройках бакета → вкладка Actions → установить флажок «Искать дубликаты»
  2. Указать область поиска (бакет или кампания)

Дубли

Телефоны, уже присутствующие в базе, не будут добавлены к лиду. Если у лида все номера — дубли, лид не создаётся.


Автоопределение часового пояса

Если при загрузке лидов часовой пояс не указан, IqDialer автоматически его вычисляет по коду номера телефона (DEF-коды).

Данные для определения хранятся в разделе «Распознавание номеров»:

  • Регионы — список регионов с часовыми поясами
  • Операторы — операторы сотовой связи
  • Коды — диапазоны номеров с привязкой к регионам и операторам

Регионы DEF-коды

Для проверки конкретного номера введите его в поле поиска — система покажет регион и оператора.

Проверка номера

Данные о регионах, операторах и кодах можно загружать через импорт CSV с поддержкой шаблонов.


Порядок обзвона лидов

Порядок выборки лидов из хранилища настраивается в кампании на вкладке Провайдеры → поля для сортировки.

Поля сортировки для лидов

Поле Описание
Campaign.leads.f.priority Приоритет лида
Campaign.leads.f.next_time_call Время следующего звонка
Campaign.leads.f.attempts Число попыток дозвона
Campaign.leads.f.attempts_current_campaign Попытки в рамках текущей кампании
Campaign.leads.f.created_at Дата создания
Campaign.leads.f.updated_at Дата обновления
Campaign.leads.f.timezone Часовой пояс
Campaign.leads.f.status Статус лида
Campaign.leads.f.last_call_status Статус последнего звонка

Поля сортировки для бакетов

Поле Описание
Campaign.buckets.f.priority Приоритет бакета
Campaign.buckets.f.created_at Дата создания
Campaign.buckets.f.updated_at Дата обновления

Пример: сначала бакеты с меньшим приоритетом, внутри бакета — лиды с большим приоритетом.

Сортировка лидов


Удаление лидов

Возможны два варианта удаления:

Мягкое удаление (soft delete) — лид не удаляется из базы, а получает статус DELETED. Звонки по нему прекращаются, но история сохраняется.

Полное удаление — лид удаляется из базы.

Удалить лидов можно: - В разделе «Лиды» через фильтры и массовые действия - С помощью API: DELETE /leads/{id} или DELETE /leads/bulk

Быстрый переход к лидам по статусу — через виджет «Лиды по статусам» на главном дашборде: кликните на нужную цифру.

Важно: если при удалении возникает ошибка, значит лид находится в статусе RESERVED (идёт звонок). Повторите попытку через ~1 минуту.


Чёрные списки

Номера из чёрного списка не будут обзваниваться. Лид, у которого хотя бы один номер найден в чёрном списке, автоматически получает статус BLACKLIST.

Управление: /dialer/ui/superviser/#/black_lists

Черный список

Добавить номера можно: - По одному — через форму создания - Группой — через блок «Загрузить список»

Внизу страницы доступны фильтрация, экспорт и массовое удаление.


Просмотр статистики по лидам

Главный дашборд

Виджет «Лиды по статусам» на главном дашборде показывает количество лидов в каждом статусе с привязкой к кампании.

Лиды по статусам

Категория в виджете Соответствует статусу
Всего лидов — (все лиды в бакетах)
Принят в обработку INITIALIZE
Пересоздан REINITIALIZE
В обработке CONTINUE
Не обработан FAILED
Ошибка ERROR
Обработан COMPLETED
Удален DELETED

Вкладка «Лиды» в кампании

При редактировании кампании на вкладке Связанные ссылки → Лиды виден детальный список лидов. Столбец «Время следующего звонка» помогает разобраться, почему не идёт обзвон при наличии необработанных лидов.

Лиды в кампании


Что делать, если лиды не звонятся

  1. Проверьте статус кампании — должна быть «Активна»
  2. Проверьте календарь — находится ли текущее время в интервалах включения
  3. Проверьте планировщик звонков — соответствует ли текущее время периодам активности шага
  4. Проверьте столбец «Время следующего звонка» у лидов — возможно, время ещё не наступило
  5. Убедитесь, что операторы онлайн (для стратегий с резервированием)
  6. Проверьте подсветку кампании на дашборде — красная подсветка означает проблему на телефонии

Подсветка кампании