DAO DZEN API · v1

Подключение без скрытых шагов

API предназначен для подтверждённых клиентов и владельца сайта. Каждое подключение ограничено правами пользователя и выбранной организацией.

Как защищён доступ

  1. Администратор подтверждает пользователяНеподтверждённая учётная запись не может создать подключение или получить токен.
  2. Пользователь создаёт подключениеВыбирает организацию и минимальный набор прав, получает Client ID и одноразово показанный Client secret.
  3. Система проверяет четыре реквизитаЛогин, пароль, Client ID и Client secret передаются только в метод выпуска токена.
  4. Запросы используют короткий Bearer tokenТокен действует 15 минут. Пароль и Client secret в обычных запросах не передаются.
Доступ отзывается сразу

Удаление пользователя из организации, блокировка, снятие подтверждения или отзыв подключения прекращают доступ уже выданных токенов.

Быстрый старт

1. Получите токен

curl -X POST https://daodzen.com/api/v1/auth/token \
  -H "Content-Type: application/json" \
  -d '{"username":"ваш_логин","password":"ваш_пароль","clientId":"api_...","clientSecret":"dzd_..."}'

2. Выполните запрос

curl https://daodzen.com/api/v1/organizations/current \
  -H "Authorization: Bearer dzt_..."

Ответы приходят в JSON. Для изменяющих запросов указывайте Content-Type: application/json.

Данные и права

Пользователь

Метод GET /me возвращает только профиль владельца токена.

Организация

Клиентское подключение видит только выбранную организацию. Доступ пересчитывается по текущей роли.

Владелец сайта

Глобальное подключение видит организации сайта и может фильтровать задачи по organizationId.

Права задаются scopes: profile:read, organizations:read, organizations:write, members:read, members:write, tasks:read, tasks:write, tasks:status, comments:read, comments:write, files:read, files:write, events:read, webhooks:manage. Scope site:read доступен только владельцу сайта.

Основные методы

МетодАдресНазначение
POST/auth/tokenВыпустить токен на 15 минут
GET/meСвой профиль
GET/organizations/currentСвоя организация
GET/organizationsВсе организации, только владелец сайта
GET / POST/tasksСписок или создание задач
GET / PATCH/tasks/{taskId}Чтение или изменение задачи
GET / POST/tasks/{taskId}/commentsКомментарии
GET / POST/tasks/{taskId}/filesФайлы
GET / POST/webhooksВебхуки организации

Полный перечень параметров, тел запросов и схем ответов находится в OpenAPI-файле.

Ошибки и надёжность

Ошибка всегда содержит error.code, понятное error.message и requestId для поиска в журнале. Основные статусы: 401 — неверная авторизация, 403 — недостаточно прав, 404 — объект скрыт или не найден, 409 — конфликт версии, 422 — ошибка данных, 429 — превышен лимит.

Для создания задачи обязателен уникальный Idempotency-Key. Для изменения организации или задачи сначала сохраните ETag из ответа и передайте его в If-Match.

Наверх