# Senler: описание выгружаемых полей

В этой статье описано, как поля подписчика Senler превращаются в колонки таблиц хранилища ROMI center. О том, как коннектор собирает подписчиков и что при этом можно потерять, — в статье [Senler: как работает коннектор](https://help-ru.romi.center/senler-kak-rabotaet-konnektor).

## Поля подписчика

Фиксированного набора колонок нет: колонки — это поля из настроек плюс несколько постоянных. Откуда берётся значение, зависит от того, как вписано имя поля:

*   **Подсказки визарда на русском** («Дата», «Имя», «ID пользователя в VK», «UTM Source»…) берут значение из профиля подписчика: «Дата» — дата и время первой подписки.
*   **Любое другое имя** ищется среди переменных подписчика в Senler. Латинское имя поля профиля (`first_name`, `date`) тоже ищется среди переменных, поэтому без одноимённой переменной колонка будет пустой. UTM-метки работают в обоих написаниях — «UTM Source» и `utm_source`.

> **Важно**
> Шесть подсказок — «Дата рождения», «Город», «Страна», «Пол», «ID группы», «ID VK группы» — в ответе Senler не существуют и всегда пусты. Номер подписчика в самом Senler не выгружается вовсе: имя `id` наш словарь переводит в ключ, которого в ответе нет.

> **Примечание**
> Метку содержания пишите как в подсказке, с опечаткой, — «UMT Content» — или `utm_content`: правильное написание «UTM Content» ищется среди переменных и останется пустым.

В подключениях из нового визарда имя колонки — транслитерация имени поля: «UTM Source» даёт `utm_source`, «Дата» — `data`, «ID пользователя в VK» — `id_polzovatelya_v_vk`, «Дата события» — всегда `event_date`. Опечатка в подсказке «UMT Content» переходит и в колонку: `umt_content`.

Тип колонки задаётся в настройках вручную:

| Тип в визарде | Тип поля | Как пишется значение |
| --- | --- | --- |
| Строка | Строка | как есть; список или объект — строкой JSON |
| Целое число | Целое число | из значения остаются только цифры: `12.5` станет `125`, `-3` — `3` |
| Дробное число | Дробное число | дробная часть портится: `12.5` станет `125`, `1,5` — `15`, `-3` — `3`. Целые числа пишутся верно |
| Дата | Дата | разбирается из текста как получится: `20.09.2026` станет 2026-09-20, но дата с двузначным годом (`01.02.26`) — дата сбора подписчика, а дата без года (`15.03`) — 1970-01-01 |
| Дата и время | Дата и время | так же: `01.02.26` станет днём сбора в 01:02:26, `15.03` — `1970-01-01 03:00:00` |
| Логический | Логическое значение | как есть: `true`/`false`, `1`/`0`, `yes`/`no` записываются, а, например, «да» или пустая строка ломают запись всей пачки — до 200 подписчиков, и она не повторяется |

## Постоянные колонки таблицы подписчиков

| Колонка | Что внутри | Тип поля |
| --- | --- | --- |
| `created_at` | Когда коннектор собрал подписчика, по UTC — это не дата подписки | Дата и время |
| `lists` | Всегда пустой массив: списков у Senler нет, колонка досталась от Salebot | Массив целых чисел |
| `rc_data_id` | Номер строки в промежуточной таблице | Целое число |
| `rc_created_at` | Когда строка впервые записана в таблицу | Дата и время |

> **Примечание**
> «Дата события» из настроек по умолчанию — это колонка `event_date` с тем же значением, что `created_at`: момент сбора по UTC. У подписчиков, собранных перезагрузкой, там окажется дата перезагрузки. Дата подписки — в поле «Дата».

## Таблица подписок на группы

| Колонка | Что внутри | Тип поля |
| --- | --- | --- |
| `date` | Когда случилось событие | Дата и время |
| `vk_user_id`, `tg_user_id` | ID пользователя во ВКонтакте или Telegram | Целое число |
| `subscription_id` | Номер группы подписки в Senler | Целое число |
| `subscription_name` | Название группы подписки | Строка |
| `first_name`, `last_name` | Имя и фамилия пользователя | Строка |
| `action` | 1 — подписка, 2 — отписка | Целое число |
| `source` | Откуда событие: `message_deny`, `bot`, `report`, `api`, `subscription`, `trigger`, `message_allow` и другие | Строка |
| `utm_source`, `utm_medium`, `utm_campaign`, `utm_content`, `utm_term` | UTM-метки события | Строка |
