---
title: "Изменить или закрыть дело"
method: PATCH
path: "/api/v1/crm/engagements/{id}"
tags: ["CRM links"]
---

# Изменить или закрыть дело

`PATCH /api/v1/crm/engagements/{id}`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/crm/engagements/{id}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)

Признак done ставит и снимает отметку о выполнении: закрытое по ошибке дело возвращается в работу

## Request body

- CRMEngagementPatch
  - `kind` string: Код вида дела из справочника «Виды дел» кабинета (GET /api/v1/crm/engagement-kinds). Новому кабинету заведены call, meeting, measurement, email и task; свои виды кабинет добавляет в справочнике
  - `title` string
  - `description` string: Подробности дела
  - `due_at` string, date-time, nullable: null снимает срок
  - `remind_at` string, date-time, nullable: null снимает напоминание; новое время снова ставит его в очередь
  - `repeat` 'none' | 'daily' | 'weekly' | 'monthly': Повтор дела: закрытое повторяющееся дело само заводит следующее
  - `owner_id` integer, nullable
  - `done` boolean: true закрывает дело, false возвращает в работу; закрытие повторяющегося дела заводит следующее
  - `in_calendar` boolean: true ставит в календарь дело, у которого события ещё нет
  - `ends_at` string, date-time, nullable: Конец дела; null снимает. При переносе срока без конца встреча сохраняет длительность
  - `all_day` boolean: Дело на весь день: начало и конец - границы суток в поясе timezone
  - `timezone` string: Часовой пояс того, кто планировал (IANA, например Europe/Moscow): в нём встреча стоит в календаре
  - `location` string: Адрес встречи; только у видов с галочкой «Адрес»
  - `conference_url` string: Ссылка видеовстречи (http/https); только у видов с галочкой «Видеовстреча». Пусто снимает видеовстречу
  - `conference_provider` '' | 'telemost' | 'personal' | 'link': Откуда ссылка; пусто при ссылке - вставленная руками
  - `conference_id` string: Номер комнаты Телемоста
  - `participant_ids` integer[]: Новый список коллег-участников целиком. Смена вида снимает поля, которых у нового вида нет

## Response `200`

Обновлённое дело

- CRMEngagement
  - `id` string, uuid, required
  - `entity_type` 'lead' | 'deal' | 'customer', required
  - `entity_id` string, uuid, required
  - `kind` string, required: Код вида дела из справочника «Виды дел» кабинета (GET /api/v1/crm/engagement-kinds). Новому кабинету заведены call, meeting, measurement, email и task; свои виды кабинет добавляет в справочнике
  - `title` string, required
  - `description` string, required: Подробности дела: что обсудить, адрес встречи
  - `due_at` string, date-time
  - `done_at` string, date-time: Пусто, пока дело не выполнено
  - `remind_at` string, date-time: Когда напомнить ответственному
  - `reminded_at` string, date-time: Когда напоминание ушло в центр уведомлений
  - `repeat` 'none' | 'daily' | 'weekly' | 'monthly', required: Повтор дела: закрытое повторяющееся дело само заводит следующее
  - `ends_at` string, date-time: Конец дела; срок due_at - его начало
  - `all_day` boolean: Дело на весь день: начало и конец - границы суток в поясе timezone
  - `timezone` string: Часовой пояс того, кто планировал (IANA, например Europe/Moscow): в нём встреча стоит в календаре
  - `location` string: Адрес встречи; только у видов с галочкой «Адрес»
  - `conference_url` string: Ссылка видеовстречи; только у видов с галочкой «Видеовстреча»
  - `conference_provider` '' | 'telemost' | 'personal' | 'link': Откуда ссылка: комната Телемоста, личная ссылка или вставленная руками
  - `conference_id` string: Номер комнаты Телемоста
  - `participant_ids` integer[]: Коллеги-участники (номера сотрудников из GET /api/v1/crm/members); ответственный - организатор и в список не входит
  - `calendar_event_id` string, uuid
  - `task_id` string, uuid
  - `owner_id` integer
  - `owner_name` string
  - `entity_title` string: Название карточки дела (в списке «Мои дела»)
  - `warnings` string[]: Дело сохранено, но событие календаря не заведено или не обновлено
  - `created_by` integer, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/3c60ded179f2?raw)
