Управление через 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).