CRM API: справочники и настройки
Воронки, теги и операторы
| Метод | Путь | Scope | Назначение |
|---|---|---|---|
GET | /pipelines | crm_pipelines_read | Список воронок |
GET | /pipelines/:id | crm_pipelines_read | Воронка по UUID |
POST | /pipelines | crm_pipelines_manage | Создать воронку |
PATCH | /pipelines/:id | crm_pipelines_manage | Обновить воронку с CAS |
DELETE | /pipelines/:id | crm_pipelines_manage | Удалить воронку с CAS |
POST | /pipelines/:pipelineId/stages | crm_pipelines_manage | Создать этап |
PATCH | /pipelines/:pipelineId/stages/:id | crm_pipelines_manage | Обновить этап с CAS |
DELETE | /pipelines/:pipelineId/stages/:id | crm_pipelines_manage | Удалить этап с CAS |
POST | /pipelines/:pipelineId/lost-reasons | crm_pipelines_manage | Создать причину отказа |
PATCH | /pipelines/:pipelineId/lost-reasons/:id | crm_pipelines_manage | Обновить причину отказа с CAS |
DELETE | /pipelines/:pipelineId/lost-reasons/:id | crm_pipelines_manage | Удалить причину отказа с CAS |
GET | /tags | crm_tags_read | Список тегов |
GET | /tags/:id | crm_tags_read | Тег по UUID |
POST | /tags | crm_tags_manage | Создать тег |
PATCH | /tags/:id | crm_tags_manage | Обновить тег с CAS |
DELETE | /tags/:id | crm_tags_manage | Удалить тег с CAS |
GET | /pipelines/:id/impact | crm_pipelines_read | Что затронет удаление воронки |
GET | /pipelines/:pipelineId/lost-reasons | crm_pipelines_read | Причины потери воронки |
GET | /pipelines/:pipelineId/stages/:id/impact | crm_pipelines_read | Что затронет удаление стадии |
POST | /pipelines/reorder | crm_pipelines_manage | Перестановка порядка воронок |
POST | /pipelines/:pipelineId/stages/reorder | crm_pipelines_manage | Перестановка порядка стадий |
POST | /pipelines/:pipelineId/lost-reasons/reorder | crm_pipelines_manage | Перестановка причин потери |
GET | /operators | crm_operators_read | Список операторов |
GET | /operators/:id | crm_operators_read | Оператор по UUID |
Все mutation-маршруты этой таблицы требуют Idempotency-Key.
impact показывает последствия удаления до самого удаления: сколько стадий, причин потери и сделок
затронуто и разрешено ли удаление (deletable). Иначе интеграция узнавала бы об этом только из
409 при попытке удалить.
Маршруты reorder принимают итоговый порядок целиком, а не смещение одного элемента: под
конкурентными запросами частичные сдвиги дают разный результат в зависимости от порядка применения.
Порядок должен перечислять ровно текущий состав — пропущенный элемент получил бы неопределённое
место, лишний означает рассинхронизацию состояния у клиента. Перестановка внутри воронки проверяет
версию воронки, перестановка самих воронок — версию каждой воронки в отдельности.
Настройки CRM
| Метод | Путь | Scope | Назначение |
|---|---|---|---|
GET | /capabilities | crm_settings_read | Провайдер и доступные возможности организации |
GET | /settings | crm_settings_read | Получить настройки CRM |
PATCH | /settings | crm_settings_manage | Изменить настройки с CAS и Idempotency-Key |
GET | /settings/notifications | crm_settings_read | Политика уведомлений |
PATCH | /settings/notifications | crm_settings_manage | Изменить политику с CAS |
Если запись настроек ещё не создана, GET /settings возвращает version: 0 и безопасные значения по
умолчанию. PATCH /settings принимает только явный whitelist полей:
{
"expectedVersion": 0,
"autoCreateDealsFromChats": true
}Для первой записи передайте expectedVersion: 0, затем используйте версию из последнего ответа.
Неизвестные поля отклоняются. Изменение попадает в audit log и change feed.
Политика уведомлений живёт отдельной версией и до первого изменения отвечает version: 1 со
значениями по умолчанию, поэтому первый PATCH /settings/notifications передаёт
expectedVersion: 1. quietHoursStart и quietHoursEnd задаются или очищаются только вместе —
одиночное значение отклоняется как 422.