tgsend.ru
← К документации

База получателей по 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-полями.

TXT

CSV — простой

CSV — с consent

JSON — простой

JSON — с consent

Вариант 1 — TXT

Самый простой формат: один chat_id на строку, без запятых и дополнительных полей. Consent-поля в TXT не поддерживаются.

123456789
987654321
-1001234567890

Скачать пример TXT

Вариант 2 — CSV

Первая колонка — chat_id. Первая строка может быть заголовком chat_id. Любые другие колонки (name, email и т.п.) игнорируются сервисом.

Простой CSV

Достаточно колонки chat_id. Остальные колонки — для вашего удобства, на синхронизацию не влияют.

chat_id,name
123456789,Alice
987654321,Bob
-1001234567890,Channel

Скачать простой CSV

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 сохраняется в базе, но на фильтр рассылок не влияет.

Скачать CSV с consent

Вариант 3 — JSON

Корневой объект с массивом chat_ids. Элементы — числа, строки или объекты с полем chat_id.

Простой JSON

Классический формат: только id в массиве, без consent-полей. Полностью совместим со старыми интеграциями.

{
  "chat_ids": [
    123456789,
    "987654321",
    "-1001234567890"
  ]
}

Скачать простой JSON

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 — только сохраняется в базе.

Скачать JSON с consent

HTTP Basic Auth

Если файл защищён стандартной HTTP-авторизацией, укажите логин и пароль в карточке базы. Пароль хранится в зашифрованном виде.

Формат «Авто»

Если тело начинается с { — JSON; если в строках есть запятые — CSV; иначе — TXT.

Кнопка «Обновить сейчас»

Принудительно тянет список сразу, не дожидаясь интервала. Ошибка сохраняется на карточке базы.