Тема
Are you an LLM? You can read better optimized documentation at /guide\contacts.md for this page in Markdown format
Контакты и диалоги
В разделе Контакты живёт всё, что бот узнал о собеседниках, которые ему писали хоть раз.
Что записывается
| Поле | Источник |
|---|---|
external_user_id | from.id из обновления Telegram / Max |
username | from.username |
first_name, last_name | from.first_name, from.last_name |
is_premium | from.is_premium (Telegram Premium) |
language_code | from.language_code |
phone | если пользователь поделился контактом |
last_seen_at | время последнего входящего сообщения |
source_value | значение UTM (если был параметр в /start) |
campaign_name | название кампании (см. Источники по UTM) |
Изображения профиля
MaxBotStat подгружает аватар Telegram через getUserProfilePhotos и getFile (или соответствующий метод Max). Изображения отдаются через наш сервер:
GET /api/avatars/contact/<botRef>/<userId>Это сделано, чтобы:
- не показывать токен бота в браузере;
- избежать смешанного содержимого (Telegram CDN не всегда отдаёт изображения по HTTPS);
- кешировать ответ (живёт 60 минут).
Диалоги
Раздел Диалоги показывает контакты в порядке последнего сообщения — как мессенджер. Кликаете по контакту → открывается полная история переписки (входящие и исходящие со стрелочками).
Поиск
Сверху списка — поле поиска. Ищем по:
username;- имени и фамилии;
external_user_id;- содержанию последнего сообщения.
Поиск работает по подстроке, регистр не важен.
Карточка контакта
В карточке контакта вы увидите:
- метаданные пользователя;
- источник (UTM) и кампанию;
- общее число сообщений (входящих и исходящих);
- сработавшие намерения (если настроены);
- кнопку Написать — отправить сообщение от имени бота.
Через открытый API
bash
curl "https://app.maxbotstat.ru/api/v1/bots/<botId>/contacts?limit=100&offset=0" \
-H "X-API-Key: mbs_..."Полная схема ответа: API → Контакты.
Обновление в реальном времени
Кабинет MaxBotStat обновляет ленту диалогов в реальном времени по веб-сокетам. Если делаете собственный кабинет — подпишитесь на событие message.created и обновляйте состояние у себя. См. Подписка на события.