POST /api/v1/bulk-taskscurl -X POST "https://tgvalidator.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=tg_active_batch \
-F country=US \
-F file=@numbers.txtPOST /api/v1/bulk-tasksservice_type=tg_active_batchМассовый продукт tg_active_batch
Статус регистрации плюс ID пользователя, имя пользователя и дни активности — сколько дней прошло с последнего посещения каждого аккаунта — по всему списку.
Дополнение для больших списков целиком — для нескольких номеров проверка в реальном времени отвечает в том же запросе. Проверка в реальном времени →
Контракт API
При отправке сразу возвращается id задачи; проверяйте задачу по этому id, и после успешного завершения ответ будет содержать ссылку для скачивания файла результата. Каждый запрос показан вместе со своим ответом.
id задачи возвращается сразу с preparing = true, пока файл подготавливается в фоне: некорректные строки, дубликаты и — для задач с номерами — номера без кода страны или из другой страны удаляются и не оплачиваются. Баланс резервируется за отправленные строки, а расчёт производится по завершении; разница возвращается.
POST /api/v1/bulk-taskscurl -X POST "https://tgvalidator.com/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=tg_active_batch \
-F country=US \
-F file=@numbers.txt200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_active_batch",
"status": "processing",
"country": "US",
"submitted_lines": 1015,
"total": 1015,
"invalid_cnt": 0,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 0,
"preparing": true,
"created_at": "2026-09-08T09:30:00Z"
}
}Опрашивайте по id задачи. После завершения подготовки submitted_lines = total + invalid_cnt + no_code_cnt + other_country_cnt + duplicate_cnt, где total — количество проверяемых и оплачиваемых номеров. Успешный ответ содержит количество успешных и неудачных проверок и ссылку для скачивания файла результата; задача, отклонённая при подготовке, получает статус failed с reason_detail, и средства возвращаются полностью.
GET /api/v1/bulk-tasks/{id}curl "https://tgvalidator.com/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "tg_active_batch",
"status": "success",
"country": "US",
"submitted_lines": 1015,
"total": 1000,
"invalid_cnt": 3,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 12,
"preparing": false,
"success_cnt": 990,
"failure_cnt": 10,
"result_url": "https://…/result.csv",
"created_at": "2026-09-08T09:30:00Z"
}
}Как это работает
Массовая проверка — это не увеличенная проверка в реальном времени, а схема «отправили один раз, выполняется в фоне, забрали позже». Держать страницу открытой не нужно: состояние задачи и результаты сохраняются в вашей панели.
Файл .txt или .csv с одним номером на строку. Он передаётся потоком напрямую, ничего не записывается на диск.
Очевидные проблемы (пустой файл, неверный формат, слишком мало строк) отклоняются при загрузке. Затем резервируется баланс, и файл подготавливается в фоне: удаляются некорректные строки, дубликаты и номера без кода страны или из другой страны, а также проверяется правило одной страны. Файл, не прошедший этот этап, завершается как неудавшаяся задача с полным возвратом средств; в противном случае проверяются только оставшиеся строки, а расчёт по задаче производится по её завершении.
Задача выполняется самостоятельно — страницу можно закрыть. О сбое сообщается сразу, и средства возвращаются полностью.
Заберите файл на странице массовой проверки. Вы платите только за номера, по которым действительно получен результат; разница возвращается.
Поля результата
Для скачивания предоставляется один файл CSV с этой полной таблицей.
identifier · 17253100591 — Отправленный номер в виде цифр с кодом страны, без знака плюс и пробелов (например, 17253100591).activated · true — Зарегистрирован ли номер в Telegram: true или false. Если значение не true, все остальные столбцы в этой строке остаются пустыми.uid · 1234567890 — ID пользователя Telegram.username · alex_kim — Имя пользователя; пусто, если у аккаунта его нет.activedays · 9 — Количество дней с последнего посещения аккаунта, целым числом — чем меньше, тем свежее. Если аккаунт скрывает точное время последнего посещения, Telegram раскрывает только диапазон, и значение приблизительное: 0 (недавно), 7 (в течение недели), 30 (в течение месяца) или 1000 (давно).Лучше всего подходит для
activatedactivedaysОтделяйте недавно активные контакты от давно неактивных, вместо того чтобы применять одну стратегию ко всему списку.
activatedusernameНачните с зарегистрированных контактов, которые были недавно активны и имеют имя пользователя.
activatedactivedaysСначала тратьте бюджет на недавно активные зарегистрированные номера, а неактивный сегмент оценивайте отдельно.
activatedactivedaysuidСочетайте статус регистрации и число дней с последнего посещения, чтобы судить, остаётся ли список полезным.
Краткий ответ
Массовая проверка активности в Telegram помимо статуса регистрации возвращает ID пользователя, имя пользователя и количество дней, прошедших с последнего посещения каждого аккаунта. Зарегистрирован — не значит, что аккаунт всё ещё используется: этот продукт отделяет давно неактивные номера от остальных, чтобы бюджет шёл на тех, кто действительно увидит сообщение.
Чёткие границы
Когда подходит массовая проверка
| Проверка в реальном времени | Массовая проверка | |
|---|---|---|
| Сколько номеров | 1 номер на одиночную проверку; несколько — в множественном запросе, точные лимиты указаны в документации API | Большой список целиком в одной задаче — текущий диапазон размеров указан на странице цен |
| Получение результатов | Сразу: одиночный и множественный эндпоинты отвечают в том же ответе; панель возвращает результаты по одному | Скачайте файл с результатом после завершения задачи |
| Страна / регион | Без ограничений — можно смешивать в одном запросе | При отправке выберите одну страну/регион; список должен в основном состоять из номеров этой страны, а при слишком большом числе номеров из других стран задача завершится ошибкой с полным возвратом |
| Формат результата | JSON, поля по каждому номеру | Файл результата (один CSV с полной таблицей) |
| Типичное применение | Проверка форм, запросы операторов, контроль перед отправкой | Очистка списков, фильтрация перед кампанией, очистка сохранённых данных |
FAQ по продукту
Используйте массовую проверку для большого списка целиком. Для нескольких номеров проверка в реальном времени отвечает в том же запросе, без планирования задачи.
Предпроверка отбрасывает некорректные строки, поэтому они не попадают в оплачиваемое количество. Из оставшихся номеров те, которые вышестоящий сервис не смог определить, тоже не оплачиваются. Вы платите только за номера, по которым действительно получен результат.
Это зависит от количества номеров и продукта. После отправки страницу можно закрыть: задача выполняется в фоне, а результат будет ждать вас на странице массовой проверки.
Да. За неудавшуюся задачу средства возвращаются полностью. Если задача выполнена, но по части номеров нет результата, эта часть возвращается автоматически. Разница между зарезервированной и фактически списанной суммой всегда возвращается.
Массовые проверки и проверки в реальном времени расходуют один баланс — ничего дополнительно включать не нужно. Зарегистрируйтесь и загрузите первый файл на странице массовой проверки.