Для 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 — личный ключ

Terminal
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-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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.

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

JSON
{
  "success": true,
  "data": {
    "id": 17,
    "skipped": []
  }
}

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

422 — участника с таким ID нет в CRM:

JSON
{
  "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.

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