Сбросить раскладку карточки
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 — личный ключ
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-приложение
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 — личный ключ
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-приложение
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 при успехе |
Пример ответа
{
"success": true,
"data": {
"entityTypeId": 2,
"scope": "C",
"reset": true
}
}
Пример ответа при ошибке
400 — недопустимое значение scope:
{
"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.