База получателей по URL
Форматы TXT, CSV и JSON, HTTP Basic Auth и автоматическое обновление chat_id.
Сервис периодически запрашивает ваш HTTPS URL и полностью обновляет базу: добавляет новые chat_id и удаляет те, которых больше нет в ответе. Интервал обновления задаёт администратор в системных настройках.
Требования
- Публичный URL по HTTPS (или HTTP). Файл можно защитить HTTP Basic Auth — логин и пароль указываются в настройках базы.
- Ответ не больше лимита, заданного в системных настройках (по умолчанию 5 МБ).
- Только числовые Telegram chat_id (можно отрицательные для групп и каналов).
- Локальные и приватные адреса сервером не принимаются.
- Формат ответа — TXT, CSV или JSON (см. примеры ниже).
Примеры для скачивания
Готовые файлы — можно открыть, посмотреть структуру и отдать по своему URL как есть. Для CSV и JSON есть два уровня сложности: простой (только chat_id) и расширенный (с опциональными pd_consent и marketing_consent).
- TXT — один chat_id на строку.
- CSV (простой) — chat_id и любые доп. колонки без consent.
- CSV (с consent) — колонки pd_consent и marketing_consent.
- JSON (простой) — массив chat_ids из чисел и строк.
- JSON (с consent) — смешанный массив: простые id и объекты с consent-полями.
Вариант 1 — TXT
Самый простой формат: один chat_id на строку, без запятых и дополнительных полей. Consent-поля в TXT не поддерживаются.
123456789
987654321
-1001234567890
Вариант 2 — CSV
Первая колонка — chat_id. Первая строка может быть заголовком chat_id. Любые другие колонки (name, email и т.п.) игнорируются сервисом.
Простой CSV
Достаточно колонки chat_id. Остальные колонки — для вашего удобства, на синхронизацию не влияют.
chat_id,name
123456789,Alice
987654321,Bob
-1001234567890,Channel
CSV с consent-полями
Добавьте колонки pd_consent и marketing_consent. Значения: true / 1 / yes — согласие; false / 0 / no — отказ. Пустая ячейка или отсутствие колонки — статус согласия не меняется.
chat_id,name,pd_consent,marketing_consent
123456789,Alice,true,true
987654321,Bob,,false
555666777,Charlie
-1001234567890,Channel,,no
- marketing_consent = false — рассылки этому получателю не отправляются.
- marketing_consent = true — рассылки разрешены.
- marketing_consent пустой или колонки нет — как раньше (рассылка разрешена, если нет явного отказа).
- pd_consent сохраняется в базе, но на фильтр рассылок не влияет.
Вариант 3 — JSON
Корневой объект с массивом chat_ids. Элементы — числа, строки или объекты с полем chat_id.
Простой JSON
Классический формат: только id в массиве, без consent-полей. Полностью совместим со старыми интеграциями.
{
"chat_ids": [
123456789,
"987654321",
"-1001234567890"
]
}
JSON с consent-полями
В одном массиве можно смешивать простые id и объекты. Consent-поля в объекте опциональны — указывайте только там, где нужно.
{
"chat_ids": [
123456789,
"987654321",
{
"chat_id": "555666777"
},
{
"chat_id": "888999000",
"marketing_consent": true
},
{
"chat_id": "-1001234567890",
"pd_consent": true,
"marketing_consent": false
}
]
}
- 123456789 и "987654321" — обычные id, consent не задаётся.
- {"chat_id": "555666777"} — тот же простой id, но объектом (удобно, если позже добавите поля).
- marketing_consent: true — явное согласие на рассылки.
- marketing_consent: false — явный отказ, рассылки не уйдут.
- pd_consent — только сохраняется в базе.
HTTP Basic Auth
Если файл защищён стандартной HTTP-авторизацией, укажите логин и пароль в карточке базы. Пароль хранится в зашифрованном виде.
Формат «Авто»
Если тело начинается с { — JSON; если в строках есть запятые — CSV; иначе — TXT.
Кнопка «Обновить сейчас»
Принудительно тянет список сразу, не дожидаясь интервала. Ошибка сохраняется на карточке базы.