Сбросить раскладку карточки

DELETE /v1/crm/card-config/:entityTypeId

Удаляет явную раскладку выбранной области. После сброса карточка возвращается к встроенной раскладке по умолчанию, а `GET` для этой области возвращает data: null.

Параметр пути

Параметр Тип Описание
entityTypeId number Тип CRM-объекта:
1 — лид
2 — сделка
3 — контакт
4 — компания
7 — предложение
31 — счёт
смарт-процесс — числовой ID типа из `GET /v1/smart-processes`, поле entityTypeId

Параметры запроса или тела

Принимаются в строке запроса или в теле. При совпадении значение из тела имеет приоритет.

Параметр Тип Описание
scope string Область раскладки: P — личная (по умолчанию), C — общая
userId number Сотрудник, чью личную раскладку сбросить. По умолчанию — владелец API-ключа. Имеет смысл только при scope=P. Источник: `GET /v1/users`
dealCategoryId number Воронка сделок, только для сделок (entityTypeId=2). Источник: `GET /v1/categories/2`
categoryId number Воронка смарт-процесса, только для смарт-процессов. Источник: `GET /v1/categories/:entityTypeId`
leadCustomerType number Тип лида, только для лидов (entityTypeId=1): 1 — простой, 2 — повторный

Примеры

curl — личный ключ

Terminal
curl -X DELETE "https://vibecode.bitrix24.tech/v1/crm/card-config/2?scope=C&dealCategoryId=9" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
curl -X DELETE "https://vibecode.bitrix24.tech/v1/crm/card-config/2?scope=C&dealCategoryId=9" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm/card-config/2?scope=C&dealCategoryId=9', {
  method: 'DELETE',
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { success, data } = await res.json()
console.log('Раскладка сброшена:', data.reset)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/crm/card-config/2?scope=C&dealCategoryId=9', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Результат сброса
data.entityTypeId number Тип объекта из пути
data.scope string Область, которая сброшена: P или C
data.reset boolean Всегда true при успехе

Пример ответа

JSON
{
  "success": true,
  "data": {
    "entityTypeId": 2,
    "scope": "C",
    "reset": true
  }
}

Пример ответа при ошибке

400 — недопустимое значение scope:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_SCOPE",
    "message": "scope must be \"P\" (personal) or \"C\" (common)."
  }
}

Ошибки

HTTP Код Описание
400 INVALID_ENTITY_TYPE_ID entityTypeId в пути не является положительным целым числом
400 INVALID_SCOPE scope не равен P или C
400 INVALID_USER_ID userId не является положительным целым числом
400 INVALID_DEAL_CATEGORY_ID dealCategoryId не является положительным целым числом
400 INVALID_CATEGORY_ID categoryId не является положительным целым числом
400 INVALID_LEAD_CUSTOMER_TYPE leadCustomerType не равен 1 или 2
502 CRM_CARD_CONFIG_RESET_FAILED Битрикс24 не подтвердил сброс — например, недостаточно прав или целевая область недоступна
422 BITRIX_ERROR Битрикс24 не распознал тип объекта. Сообщение — в error.message
403 WRITE_BLOCKED_READONLY_KEY Ключ приложения в режиме «только чтение» — запись заблокирована
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

Известные особенности

Сброс несуществующей раскладки проходит успешно. Если явной конфигурации для области не было, метод всё равно возвращает reset: true. Отдельной проверки «была ли раскладка» не требуется.

После сброса GET возвращает null. Область снова показывает встроенную раскладку по умолчанию, а `GET` для неё отдаёт data: null.

Смотрите также