Для AI-агентов: markdown этой страницы — /docs-content/entities/call-lists.md индекс документации — /llms.txt
Обзвоны
Список обзвона собирает контакты или компании CRM для звонков менеджера и хранит статус каждого участника: в работе, успешно, неверный номер, больше не звонить.
Битрикс24 API: crm.calllist.list, crm.calllist.get, crm.calllist.add, crm.calllist.update, crm.calllist.items.get, crm.calllist.statuslist
Скоуп: crm
Создать список
POST /v1/call-lists
Создаёт новый список обзвона из контактов или компаний CRM, которым менеджеру нужно позвонить.
Поля передаются плоско в корне JSON, без обёртки fields.
Поля запроса (body)
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
entityType |
string | да | Тип участников: CONTACT — контакты, COMPANY — компании |
entities |
number[] | да | Идентификаторы участников, непустой массив положительных целых чисел. Все ID одного типа из entityType. Контакты: GET /v1/contacts, компании: GET /v1/companies |
webformId |
number | нет | CRM-форма, которую нужно привязать к списку. Список форм: GET /v1/crm-forms |
Значения полей и связи с другими сущностями — ключевые поля обзвонов.
Примеры
curl — личный ключ
curl -X POST "https://vibecode.bitrix24.tech/v1/call-lists" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entityType": "CONTACT",
"entities": [9, 17]
}'
curl — OAuth-приложение
curl -X POST "https://vibecode.bitrix24.tech/v1/call-lists" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"entityType": "CONTACT",
"entities": [9, 17]
}'
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/call-lists', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
entityType: 'CONTACT',
entities: [9, 17],
}),
})
const { success, data } = await res.json()
console.log('Call list ID:', data.id, 'skipped:', data.skipped)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/call-lists', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({
entityType: 'CONTACT',
entities: [9, 17],
}),
})
const { success, data } = await res.json()
Поля ответа
При успешном создании возвращается HTTP-статус 201 Created.
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | true при успешном создании |
data |
object | Результат создания |
data.id |
number | Идентификатор созданного списка. Нужен для участников списка и замены состава |
data.skipped |
number[] | Идентификаторы из entities, которых нет в составе списка, прочитанном после создания от имени владельца ключа. Пустой массив — в списке все переданные участники |
Сам список с датой создания и привязкой к форме — GET /v1/call-lists/:id.
Пример ответа
{
"success": true,
"data": {
"id": 17,
"skipped": []
}
}
Пример ответа при ошибке
422 — участника с таким ID нет в CRM:
{
"success": false,
"error": {
"code": "BITRIX_ERROR",
"message": "Incorrect entities id",
"b24Code": "ENTITY_ERROR"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | MISSING_REQUIRED_FIELDS |
В теле нет entityType или entities, либо тело не JSON-объект. Сообщение содержит entityType and entities are required |
| 400 | UNKNOWN_FIELD |
В теле есть поле, кроме entityType, entities и webformId. Сообщение содержит Supported write fields |
| 400 | INVALID_PARAMS |
В entityType передано другое значение, например LEAD. Сообщение содержит entityType must be CONTACT or COMPANY |
| 400 | INVALID_PARAMS |
entities пуст, не массив или содержит не положительное целое число. Сообщение содержит entities must be a nonempty list |
| 400 | INVALID_PARAMS |
webformId не положительное целое число. Сообщение содержит webformId must be a positive safe integer |
| 422 | BITRIX_ERROR |
Участника с таким ID нет в CRM. В ответе b24Code: "ENTITY_ERROR". Список не создаётся, повтор с исправленными ID не даёт дубликата. Сообщение содержит Incorrect entities id |
| 422 | BITRIX_ERROR |
CRM-формы с таким webformId нет. В ответе b24Code: "WEBFORM_ERROR". Сообщение содержит Incorrect webform id |
| 422 | BITRIX_ERROR |
При проверочном чтении после создания в списке оказался участник не из entities или другого типа. Список уже создан. Сообщение содержит participants outside the requested call-list composition |
| 502 | BITRIX_RESPONSE_INVALID |
Битрикс24 не вернул идентификатор нового списка или вернул участников в неожиданной структуре при проверочном чтении. Список мог уже создаться: перед повтором проверьте список обзвонов |
| 403 | WRITE_BLOCKED_READONLY_KEY |
Ключ в режиме только для чтения, создание недоступно |
| 403 | SCOPE_DENIED |
Ключу не хватает скоупа crm |
| 401 | MISSING_API_KEY |
Не передан X-Api-Key |
| 401 | TOKEN_MISSING |
У ключа нет настроенных токенов Битрикс24 |
Полный список общих ошибок API — Ошибки.
Известные особенности
Каждый вызов создаёт новый список и дело «Обзвон». Повторный запрос с тем же составом не находит прежний список, а создаёт второй вместе со вторым делом Обзвон #<id списка>. Дела обзвона доступны в Делах с фильтром filter[providerId]=CALL_LIST.
Смотрите также
- Список обзвонов
- Получить список
- Заменить состав
- Участники списка
- Статусы участников
- Связанные сущности: Контакты, Компании, CRM-формы, Дела