Документация API

REST API для уведомлений через Telegram и Max. Подписчики, OTP, рассылки, формы, helpdesk.

Управление через API

API для управления шаблонами, разрешениями, тегами и вебхуком проекта. Все эндпоинты требуют Bearer-токен.

Шаблоны

GET /v1/templates — список шаблонов
POST /v1/templates — создать шаблон (key, text, format?)
PUT /v1/templates/{key} — обновить шаблон (text?, format?)
DELETE /v1/templates/{key} — удалить шаблон

Разрешения

GET /v1/permissions — список разрешений
POST /v1/permissions — создать (key, title, description?, required?)
PUT /v1/permissions/{key} — обновить (title?, description?, required?)

Удаление разрешений доступно только в дашборде.

Теги

GET /v1/tags — список тегов проекта
POST /v1/tags — создать тег (name)
PUT /v1/tags/{name} — переименовать тег (new_name)
DELETE /v1/tags/{name} — удалить тег (удаляется и у всех подписчиков)

Допустимые символы: буквы, цифры, - и _. Максимум 20 тегов.

Подпись отправителя

Каждое сообщение может содержать подпись — имя отправителя и описание. Настраивается в дашборде (Overview → Уведомления или Settings → Notifications).

Формат подписи: текст\n\n— Имя\nОписание

Логотип: загружается через дашборд, сжимается до 256×256 PNG.

Автосообщения

Управляйте автосообщениями при подписке/отписке через API. Каждое сообщение включается отдельным флагом и поддерживает два языка (RU/EN). Подпись проекта добавляется автоматически.

GET /v1/auto-messages — получить настройки
PUT /v1/auto-messages — обновить настройки

Поля: subscribe_message_enabled, unsubscribe_message_enabled (boolean), subscribe_message, unsubscribe_message ({"ru":"...","en":"..."}). Если флаг выключен — стандартный текст.

OTP-шаблон

Кастомный шаблон OTP-сообщения. Должен содержать {{code}}. Можно использовать {{minutes}} для срока действия.

Пример: Ваш код подтверждения: {{code}}. Действует {{minutes}} мин.

Вебхук

GET /v1/webhook — получить текущий вебхук
PUT /v1/webhook — установить вебхук (url, events?[])
DELETE /v1/webhook — удалить вебхук

Если events не указан — будут отправляться все события. Secret генерируется автоматически.

API vs Дашборд

Что можно автоматизировать через REST API, а что доступно только в дашборде.

Доступно через API

Отправка уведомлений — POST /v1/send (персональные, по subscriber_id, с медиа, кнопками, шаблонами)

OTP-коды — POST /v1/otp/send и /v1/otp/verify

Массовые рассылки — POST /v1/broadcast, GET /v1/broadcast/:job_id

Подписчики — GET /v1/subscribers, PUT /v1/subscribers/:id/tags

Шаблоны — полный CRUD: GET/POST /v1/templates, PUT/DELETE /v1/templates/{key}

Разрешения — GET/POST /v1/permissions, PUT /v1/permissions/{key}

Теги — полный CRUD: GET/POST /v1/tags, PUT/DELETE /v1/tags/{name}

Вебхук — GET/PUT/DELETE /v1/webhook

Auth через ботов — GET /v1/auth/link, POST /v1/auth/session, POST /v1/auth/verify, GET статус сессии

Helpdesk — создание тикетов, ответы, смена статуса, назначение, приоритет, типы обращений

Автосообщения — GET/PUT /v1/auto-messages (включение/выключение, тексты на двух языках)

Аналитика — GET /api/projects/:id/analytics (через JWT-сессию кабинета)

Только через дашборд

Создание проекта — регистрация и создание проектов только через UI

API-ключ — генерация и перегенерация ключа (требует OTP-подтверждение)

Удаление проекта — с OTP-подтверждением через мессенджер

Подпись отправителя — настройка имени и описания (Settings → Notifications)

Логотип — загрузка и удаление логотипа проекта

OTP-шаблон — мультиязычный шаблон с HTML-форматированием и превью

Настройки Auth — callback URL, origin URL, текст кнопки авторизации

Включение Helpdesk — активация модуля тикетов в настройках проекта

SLA-таймеры — настройка сроков первого ответа и закрытия тикетов

Удаление разрешений — DELETE permissions доступен только в дашборде

QR-коды — генерация QR-кодов для подписки со стилями и логотипом

API-ключ (Bearer zn_...) используется для всех /v1/* эндпоинтов. Дашборд работает через JWT-сессию после OAuth авторизации (Яндекс/VK).

Связанные разделы