---
title: "Создать линию обращений"
method: POST
path: "/api/v1/crm/inbox/lines"
tags: ["CRM inbox"]
---

# Создать линию обращений

`POST /api/v1/crm/inbox/lines`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/crm/inbox/lines`
- 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`)

Новая линия по умолчанию круглосуточная, распределение по очереди; каналы из channel_ids переходят в неё.

## Headers

- `X-Tenant` string, required

## Request body

- CRMInboxLineInput: Создание и правка линии; при правке неуказанное поле не меняется
  - `name` string
  - `is_active` boolean
  - `distribution` 'round_robin' | 'even' | 'all'
  - `member_ids` integer[]: Очередь сотрудников в порядке распределения
  - `schedule` CRMInboxLineSchedule
    - `mode` 'always' | 'schedule': always — круглосуточно; schedule — по дням и часам
    - `days` integer[]: Рабочие дни недели: 1 — понедельник, 7 — воскресенье
    - `from` string: Начало рабочего дня, ЧЧ:ММ
    - `to` string: Конец рабочего дня, ЧЧ:ММ; меньше начала — смена через полночь
    - `timezone` string: Часовой пояс IANA, например Europe/Moscow
    - `holidays` string[]: Нерабочие даты каждого года: ММ-ДД или промежуток ММ-ДД:ММ-ДД
  - `off_hours_message` string
  - `off_hours_wait` boolean
  - `consent_enabled` boolean
  - `consent_url` string: Ссылка на документ согласия, http(s)
  - `consent_text` string
  - `transfer_enabled` boolean: Если сотрудник не ответил за transfer_minutes минут, передать диалог следующему в очереди (в рабочее время, каждому — один раз за обращение)
  - `transfer_minutes` integer: Через сколько минут без ответа передать следующему
  - `known_client_owner` boolean: Знакомого клиента (уже есть запись CRM) — сразу ответственному этой записи, минуя очередь
  - `busy_enabled` boolean: Через busy_minutes минут без ответа отправить клиенту busy_message — один раз за обращение, только в рабочее время
  - `busy_minutes` integer: Через сколько минут без ответа отправить сообщение «все заняты»
  - `busy_message` string: Сообщение «все сотрудники заняты»
  - `close_enabled` boolean: Закрыть диалог, если клиент молчит close_minutes минут после ответа сотрудника
  - `close_minutes` integer: Сколько минут тишины клиента до закрытия
  - `close_message_enabled` boolean: Отправить клиенту close_message при закрытии
  - `close_message` string: Сообщение при закрытии диалога
  - `reopen_mode` 'new' | 'return': Клиент написал после закрытия: new — новое обращение (снова приветствие и очередь); return — прежнему сотруднику, если с закрытия прошло меньше reopen_days дней
  - `reopen_days` integer: Срок возврата прежнему сотруднику, дней
  - `rating_enabled` boolean: Просить клиента оценить ответ после закрытия: кнопки «👍 Хорошо» и «👎 Плохо» в Telegram, VK и MAX, ответ «1» или «2» в Avito
  - `rating_text` string: Текст просьбы оценить; пусто — «Оцените, пожалуйста, как мы вам помогли:»
  - `rating_thanks` string: Ответ на оценку; пусто — «Спасибо за оценку!»
  - `mail_autoreply_enabled` boolean: Автоответ письмом на новое письмо почты этой линии; не уходит роботам, на автоответы и отчёты о доставке и одному адресу не чаще раза в mail_autoreply_hours часов
  - `mail_autoreply_text` string: Текст автоответа письмом; вне рабочего времени уходит off_hours_message, если оно задано
  - `mail_autoreply_hours` integer: Не чаще раза в столько часов на один адрес
  - `channel_ids` UUID[]: Полный состав каналов линии; каналы не из списка остаются без линии

## Response `201`

Созданная линия

- CRMInboxLine
  - `id` string, uuid, required
  - `name` string, required
  - `is_active` boolean, required: Выключенная линия не действует: каналы работают как без линии
  - `distribution` 'round_robin' | 'even' | 'all', required: round_robin — по очереди; even — тому, у кого меньше открытых диалогов; all — всем сразу, диалог без назначения
  - `member_ids` integer[], required: Очередь сотрудников в порядке распределения
  - `schedule` CRMInboxLineSchedule, required
    - `mode` 'always' | 'schedule': always — круглосуточно; schedule — по дням и часам
    - `days` integer[]: Рабочие дни недели: 1 — понедельник, 7 — воскресенье
    - `from` string: Начало рабочего дня, ЧЧ:ММ
    - `to` string: Конец рабочего дня, ЧЧ:ММ; меньше начала — смена через полночь
    - `timezone` string: Часовой пояс IANA, например Europe/Moscow
    - `holidays` string[]: Нерабочие даты каждого года: ММ-ДД или промежуток ММ-ДД:ММ-ДД
  - `off_hours_message` string, required: Сообщение клиенту в нерабочее время, не чаще раза за ночь
  - `off_hours_wait` boolean, required: true — обращение в нерабочее время получает запись CRM и ответственного в начале рабочего дня
  - `consent_enabled` boolean, required: Отправлять клиенту согласие на обработку персональных данных вместе с приветствием
  - `consent_url` string, required: Ссылка на документ согласия
  - `consent_text` string, required: Текст перед ссылкой; метка {ссылка} или {link} заменяется адресом документа
  - `transfer_enabled` boolean, required: Если сотрудник не ответил за transfer_minutes минут, передать диалог следующему в очереди (в рабочее время, каждому — один раз за обращение)
  - `transfer_minutes` integer, required: Через сколько минут без ответа передать следующему
  - `known_client_owner` boolean, required: Знакомого клиента (уже есть запись CRM) — сразу ответственному этой записи, минуя очередь
  - `busy_enabled` boolean, required: Через busy_minutes минут без ответа отправить клиенту busy_message — один раз за обращение, только в рабочее время
  - `busy_minutes` integer, required: Через сколько минут без ответа отправить сообщение «все заняты»
  - `busy_message` string, required: Сообщение «все сотрудники заняты»
  - `close_enabled` boolean, required: Закрыть диалог, если клиент молчит close_minutes минут после ответа сотрудника
  - `close_minutes` integer, required: Сколько минут тишины клиента до закрытия
  - `close_message_enabled` boolean, required: Отправить клиенту close_message при закрытии
  - `close_message` string, required: Сообщение при закрытии диалога
  - `reopen_mode` 'new' | 'return', required: Клиент написал после закрытия: new — новое обращение (снова приветствие и очередь); return — прежнему сотруднику, если с закрытия прошло меньше reopen_days дней
  - `reopen_days` integer, required: Срок возврата прежнему сотруднику, дней
  - `rating_enabled` boolean, required: Просить клиента оценить ответ после закрытия: кнопки «👍 Хорошо» и «👎 Плохо» в Telegram, VK и MAX, ответ «1» или «2» в Avito
  - `rating_text` string, required: Текст просьбы оценить; пусто — «Оцените, пожалуйста, как мы вам помогли:»
  - `rating_thanks` string, required: Ответ на оценку; пусто — «Спасибо за оценку!»
  - `mail_autoreply_enabled` boolean, required: Автоответ письмом на новое письмо почты этой линии; не уходит роботам, на автоответы и отчёты о доставке и одному адресу не чаще раза в mail_autoreply_hours часов
  - `mail_autoreply_text` string, required: Текст автоответа письмом; вне рабочего времени уходит off_hours_message, если оно задано
  - `mail_autoreply_hours` integer, required: Не чаще раза в столько часов на один адрес
  - `channel_ids` UUID[], required: Каналы линии
  - `rating_today` CRMInboxLineRatingStats, required: Оценки ответов линии с начала сегодняшнего дня по её часовому поясу
    - `good` integer, required: Сколько оценок «👍 Хорошо»
    - `bad` integer, required: Сколько оценок «👎 Плохо»
    - `percent` integer, required: Доля хороших оценок, %; 0 — оценок нет
  - `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)
