Сегменты пользователей

Сегменты пользователей

Сегмент — готовая аудитория для рассылок и акций: «активные за неделю», «покупатели», «с балансом от 100» и т.п.

Через API можно:

  • собрать сегмент по готовым условиям;
  • собрать сегмент по действиям в боте (/v1/common/link-track/create-segment);
  • создать сегмент вручную из списка пользователей;
  • посмотреть, кто внутри, и выгрузить Telegram ID;
  • добавить или убрать людей;
  • удалить сегмент.

Адрес API: https://api.bot-t.com
Все запросы — POST, тело в JSON.


Как подключиться

В каждом запросе укажите:

ПараметрОбязательноЧто это
bot_idдаID вашего бота
токен бота или секретный ключдаtoken / botToken или secretKey

Успешный ответ: "result": true и данные в "data".
Ошибка: "result": false и текст в "message".

Не больше 120 запросов в минуту. Число сегментов зависит от тарифа.


Что умеет API

ЗадачаАдрес
Список сегментов/v1/bot/group/index
Сколько сегментов/v1/bot/group/count
Создать по условию/v1/bot/group/create-from-preset
Создать из списка пользователей/v1/bot/group/create-with-users
Создать пустой/v1/bot/group/create
Узнать размер аудитории без создания/v1/bot/group/preset-user-ids
Список людей в сегменте/v1/bot/group/group-user/index
Сколько людей в сегменте/v1/bot/group/group-user/count
Добавить человека/v1/bot/group/group-user/create
Убрать человека/v1/bot/group/group-user/delete
«Все, кроме этого сегмента»/v1/bot/group/inverse
Удалить сегмент/v1/bot/group/delete

Создать сегмент по условию

Адрес: /v1/bot/group/create-from-preset

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

Пример. Активные за последние 30 дней:

{
  "bot_id": 1,
  "title": "Активные за 30 дней",
  "preset": "active_days",
  "params": { "days": 30 }
}

В ответе придут ID сегмента, название и сколько людей попало внутрь.

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

Какие условия доступны

Условие (preset)Что нужно указатьКого отбирает
active_daysdays — число дней (1–730)Писали боту за этот срок
registered_daysdaysЗарегистрировались за этот срок
shop_orders_minmin — минимум заказовЗаказы в магазине
cart_orders_minminОплаченные заказы в корзине
subscriber_orders_minminЗаказы по подписке
payment_orders_minmin, опционально ID сообщенияУспешные оплаты в боте
balance_minamount — сумма в рублях (или вашей валюте)Баланс не меньше суммы
balance_ops_mincountНе меньше стольких операций с балансом
has_referrerЕсть пригласивший
referrals_mincountНе меньше стольких рефералов
referrals_topped_up_mincountРефералы, которые пополняли баланс
script_cyrillicИмя на кириллице
script_arabicИмя на арабском
script_cjkИмя на китайском / японском / корейском

Для заказов и оплат считается число покупок, не сумма.
Для баланса указывайте обычную сумму (например 100), не копейки.

Ещё примеры:

Покупатели с 3 и более заказами:

{
  "bot_id": 1,
  "title": "От 3 заказов",
  "preset": "shop_orders_min",
  "params": { "min": 3 }
}

Баланс от 100:

{
  "bot_id": 1,
  "title": "Баланс от 100",
  "preset": "balance_min",
  "params": { "amount": 100 }
}

Сначала посмотреть размер аудитории

Адрес: /v1/bot/group/preset-user-ids

Те же preset и params, но сегмент не создаётся — только число людей и их ID.

Удобно проверить «сколько человек попадёт», и уже потом создавать сегмент.


Создать сегмент из своего списка

Адрес: /v1/bot/group/create-with-users

Нужны название и список ID пользователей в боте (не Telegram ID).

{
  "bot_id": 1,
  "title": "Моя аудитория",
  "bot_user_ids": [101, 102, 103]
}

Как узнать ID в боте по Telegram ID: запрос /v1/bot/user/view-by-telegram-id — в ответе поле id.


Посмотреть людей и выгрузить Telegram ID

Адрес: /v1/bot/group/group-user/index

Передайте ID сегмента. Можно листать: до 100 записей за раз (limit), следующая страница — через offset.

{
  "bot_id": 1,
  "group_id": 42,
  "limit": 100,
  "offset": 0
}

У каждого человека в ответе есть Telegram ID — в блоке пользователя, поле telegram_id.
Сколько всего в сегменте: /v1/bot/group/group-user/count.


Добавить или убрать человека

Добавить/v1/bot/group/group-user/create
Нужны ID сегмента и системный ID пользователя.

Убрать/v1/bot/group/group-user/delete
Нужен ID записи из списка людей сегмента (можно несколько сразу).


Другие действия

ДействиеЧто происходит
Пустой сегмент (/v1/bot/group/create)Только название, людей пока нет
Обратный сегмент (/v1/bot/group/inverse)Все, кого нет в выбранном сегменте
Удаление (/v1/bot/group/delete)Можно удалить один или несколько сегментов

Типичный порядок работы

  1. Проверить размер аудитории (preset-user-ids или /v1/common/link-track/users-count).
  2. Создать сегмент по условию (create-from-preset) или по действиям (/v1/common/link-track/create-segment).
  3. При необходимости выгрузить Telegram ID (group-user/index).
  4. Использовать сегмент в рассылке.