API и интеграции

Подписчики через REST API

List, get, upsert и update подписчиков по bot_id + external_id без ложного обещания доставки сообщений.

Обновлено 22.08.2026
Время чтения 13 мин
Сложность Средний
Цель инструкции

Создать или обновить тестового подписчика без дубля.

Короткий маршрут

Что вы сделаете

Откройте нужный шаг сразу или идите по порядку. Проверка результата остаётся в самой инструкции.

  1. 01 Методы и права
  2. 02 Безопасный тест
  3. 03 Каналы, статусы и теги
  4. 04 Ошибки и очистка

Результат: одна внешняя запись будет соответствовать одному подписчику платформы по паре bot_id + external_id.

Методы и права

  • GET /subscribers и GET /subscribers/{id}subscribers:read.
  • POST /subscribers и PATCH /subscribers/{id}subscribers:write.

POST выполняет upsert: повтор той же пары обновляет существующую запись, а не должен создавать новую.

Выбор read и write прав для подписчиков платформы
Для отчёта достаточно read. Write нужен только интеграции, которая действительно меняет подписчиков.

Безопасный тест

  1. Получите bot_id через GET /bots.
  2. Создайте внешний идентификатор вида test-<uuid>.
  3. Не используйте реальный email или телефон.
  4. Выполните POST по точной схеме OpenAPI.
  5. Повторите тот же запрос и убедитесь, что запись одна.
  6. Прочитайте её через GET.
curl --fail-with-body -X POST \
  -H "Authorization: Bearer $APPSMAX_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"bot_id":BOT_ID,"external_id":"test-UUID"}' \
  https://telegram.appsmax.ru/api/v1/subscribers
Журнал REST-запросов подписчиков платформы
Сверяйте метод, HTTP-статус и request ID, не содержимое персональных полей.

Каналы, статусы и теги

Передавайте только поля, которые есть в OpenAPI 1.1.1. Наличие подписчика или статуса в API не гарантирует возможность и доставку сообщения: согласие, доступность канала, правила провайдера и фактическое состояние подключения проверяются отдельно.

Ошибки и очистка

422 обычно означает неверный формат или обязательное поле, 403 — недостаточное право API. Если публичного delete нет, не придумывайте его: удалите тестовую запись штатным способом либо оставьте обезличенную тестовую запись по принятой политике среды.

Дальше: рассылки через REST API.

Нужна помощь с запуском?

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