Salebot: как работает коннектор

Скачать .md

В этой статье вы узнаете, как коннектор Salebot выгружает данные в хранилище ROMI center: что именно попадает в таблицу, с какой периодичностью идёт сбор и какие у этого есть особенности. Полный список полей — в статье Salebot: описание выгружаемых полей.

Что выгружается: клиенты бота и их переменные

Коннектор забирает из Salebot клиентов проекта и для каждого — значения переменных, перечисленных в настройках. Таблица одна, строка в ней — один клиент.

Важно

Переменные читаются один раз — когда коннектор впервые видит клиента. На бою от половины до трёх четвертей клиентов попадают в сбор в первые 10 минут после появления, остальные — позже, иногда через несколько часов. Значения, которые бот запишет после этого, и любые дальнейшие изменения в таблицу не попадают. Освежить их можно только перезагрузкой с удалением данных.

Важно

Клиент, у которого в момент сбора не заполнена ни одна из выбранных переменных, пропускается насовсем: коннектор к нему больше не возвращается. Переменная client_id из набора по умолчанию есть не у всех: у одного из подключений на бою — у 15% собранных клиентов. Поле клиента platform_id заполнено у каждого — с ним пропусков не будет.

Клиенты, удалённые в Salebot, остаются в таблице: коннектор только добавляет строки. Списки клиентов Salebot выгружаются не отдельными таблицами, а колонкой lists той же таблицы.

Периодичность

Коннектор собирает новых клиентов из Salebot каждые 10 минут, не больше 300 клиентов за проход, и отправляет собранное в хранилище каждые 2 минуты. За переменными каждого нового клиента коннектор ходит отдельным запросом, так что проход в 300 клиентов — это около 300 запросов к Salebot. Если запрос упал, курсор дальше этого клиента не сдвигается и следующий проход начинает с него же: данные не теряются, а приходят позже.

Примечание

«Приостановить выгрузку» останавливает сбор новых клиентов; уже собранные строки всё равно доедут до хранилища.

За какой период забираются данные

Периода у коннектора нет. Salebot отдаёт клиентов по порядку появления — от самого старого к самому новому, — и коннектор идёт по этому списку курсором: счётчиком уже обработанных клиентов.

Новое подключение забирает всю базу клиентов, начиная с самого первого: 300 — сразу при сохранении, дальше по 300 каждые 10 минут, до 43 200 в сутки. В обычной работе забираются клиенты, появившиеся с предыдущего прохода.

Как сохраняет данные

  • Куда: хранилище ROMI center на движке ClickHouse.
  • Запись в две стадии. Сначала клиент со всеми полями ложится в промежуточную таблицу ROMI, затем отдельная задача переносит выбранные переменные в хранилище.
  • Имя таблицы: salebot_<название подключения латиницей>_<id подключения>.
  • Структура таблицы: движок MergeTree, без разбиения на партиции, ключ сортировки — id (номер клиента в Salebot).
  • Строка на клиента. Строка ищется по id. Найденная удаляется и вставляется заново, а rc_created_at переносится со старой.
  • Структура догоняется, а не пересоздаётся. Новая переменная приходит новой колонкой. Колонки никогда не удаляются: убранная переменная останется в таблице со старыми значениями, а новые строки будут писаться в неё пустыми. Смена имени переменной даёт новую колонку, прежняя перестаёт заполняться.

Важно

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

Перезагрузка данных

Функция «Загрузить исторические данные» в меню подключения не учитывает выбранный период: коннектор одним проходом, без лимита в 300, дособирает всех клиентов после курсора. Уже выгруженных клиентов не перечитывает.

Важно

Галочка «Удалить ранее загруженные данные за период» удаляет таблицу целиком, стирает промежуточные данные подключения и обнуляет курсор — вся база клиентов перечитывается одним проходом с самого первого, со свежими значениями переменных. Это единственный способ обновить переменные уже выгруженных клиентов.

Дополнительные настройки

НастройкаЧто делает
Токен и названиеШаг «Доступ»: API-токен проекта Salebot и название подключения, по умолчанию «SaleBot». Название входит в имя таблицы и после создания не меняется.
Переменные клиентаШаг «Выбор полей»: список переменных — имя как в Salebot, подпись и тип. В новом подключении заранее заведены client_id и пять UTM-меток.
Списки клиентовШаг «Дополнительные настройки»: номера списков Salebot. Номера списков, в которых состоит клиент, пишутся в колонку lists его строки — отдельных таблиц под списки нет.

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

Технические поля

КолонкаЧто внутри
rc_created_atКогда строка клиента впервые записана в таблицу. При повторной записи переносится со старой.

В предпросмотре данных служебные колонки скрыты — они отрезаются по префиксу rc_.

Покажем, из чего собирается ваша аналитика

За 30 минут разберём ваши источники и соберём схему: что подключается, что считается само, где цифры разойдутся.

  • Что у вас уже собирается и чего не хватает, чтобы увидеть выручку по каналам
  • Порядок подключения: что заработает за день, а что придётся настроить руками
  • Готовые отчёты на живых данных — расход и выручка рядом, когорты, RFM
Записаться на демо
Дашборд ROMI center со сквозной аналитикой