Перейти к содержанию

Договорённости

Раздел Договорённости собирает поручения, решения и открытые вопросы из разных записей в одном рабочем реестре. Элементы из Центра поручений появляются в реестре только после подтверждения пользователя; также их можно создавать вручную.

Только portal-сессия

Все методы /api/account/agreements... и /api/account/agreement-... требуют активную cookie-сессию. Пользователь видит и изменяет только собственные данные.

Кандидаты из записей

GET /api/account/agreement-candidates возвращает актуальные кандидаты со структурированными полями: исполнителем, исходной формулировкой срока, подтверждением решения и ссылками на фрагменты транскрипта. Доступны параметры kind, status, recordingId, search, activeOnly, offset и limit.

Перед подтверждением в Центре поручений можно исправить текст кандидата, исполнителя, email исполнителя и срок. Эти правки сохраняются отдельно от исходного результата и используются при добавлении договорённости в реестр.

Подтверждение и добавление в реестр выполняются одним запросом:

POST /api/account/agreement-candidates/{candidate_id}:promote
Content-Type: application/json

{
  "title": "Анна отправит смету заказчику",
  "assigneeText": "Анна",
  "dueText": "до пятницы",
  "dueAt": "2026-09-04T15:00:00+03:00",
  "dueTimezone": "Europe/Moscow"
}

Поля тела необязательны: без них используются проверенный текст и реквизиты кандидата. Повторный запрос не создаёт дубликат. Источник и таймкоды сохраняются у записи реестра.

Общий реестр

Метод Назначение
GET /api/account/agreements Список с фильтрами kind, status, priority, assignee, search, dueBefore, dueAfter
POST /api/account/agreements Создать договорённость вручную
GET /api/account/agreements/{id} Карточка вместе с источниками
PATCH /api/account/agreements/{id} Обновить текст, исполнителя, срок, приоритет или статус
GET /api/account/agreements/{id}/events История изменений

Поддерживаются три типа и свои статусы:

  • поручение: open, in_progress, blocked, done, cancelled;
  • решение: active, superseded, revoked;
  • вопрос: open, answered, dropped.

При обновлении передайте version, полученную при чтении. Если запись уже изменилась в другой вкладке, сервер вернёт 409 Conflict и актуальный номер версии. Это защищает более свежие правки от случайной перезаписи.

{
  "version": 3,
  "status": "in_progress",
  "assigneeText": "Анна Петрова",
  "dueAt": "2026-09-04T12:00:00Z",
  "dueTimezone": "Europe/Moscow"
}

Email-дайджест

Настройки читаются через GET /api/account/agreement-digest-preference и сохраняются через PATCH того же пути:

{
  "enabled": true,
  "frequency": "weekly",
  "weekday": 0,
  "localTime": "09:00",
  "timezone": "Europe/Moscow",
  "recipientEmail": "team@example.com"
}

weekday использует номера от 0 (понедельник) до 6 (воскресенье). Для ежедневной отправки значение дня недели игнорируется. В письмо входят просроченные, ближайшие и более поздние поручения, действующие решения, открытые вопросы и элементы без срока.

Клиентский отчёт

Для сохранённой записи можно скачать готовый отчёт с резюме, решениями, задачами, вопросами, подтверждёнными договорённостями и источниками:

GET /api/account/recordings/{recording_id}/client-report?format=pdf&includeTranscript=true

format принимает pdf или docx. Параметр includeTranscript=false исключает полную расшифровку, оставляя выводы и подтверждающие фрагменты.