Для AI-агентов: markdown этой страницы — /docs-content/entities/activities/owner-create.md индекс документации — /llms.txt

Создать дело у карточки CRM

POST /v1/deals/{id}/activities

POST /v1/leads/{id}/activities

POST /v1/contacts/{id}/activities

POST /v1/companies/{id}/activities

Адрес выбирает одного владельца: сделку (deals, тип владельца 2), лид (leads, 1), контакт (contacts, 3) или компанию (companies, 4). Скоуп: crm. Поддерживаются личные ключи и ключи OAuth-приложений.

Когда использовать

Этот маршрут создаёт дело с владельцем, выбранным в адресе. Обработчик заменяет camelCase-поля тела ownerTypeId и ownerId владельцем из адреса. Не передавайте поля владельца в теле. Локально тело необязательно. Итоговые поля проверяет Битрикс24.

Для полного контракта дела в camelCase используйте POST /v1/activities: он принимает typeId, communications и поля владельца в теле и возвращает дело. Вложенный метод использует type для PROVIDER_TYPE_ID, исходные TYPE_ID и COMMUNICATIONS для соответствующих полей и возвращает только data.id. Для фильтров и сортировки используйте GET /v1/activities.

Параметры

Поле Тип Обязательное Описание
id (путь) string Да ID владельца из списка сделок, лидов, контактов или компаний.
subject, description string Нет местной проверки Преобразуются в SUBJECT и DESCRIPTION. Обязательность полей проверяет Битрикс24.
type string Нет email, call, meeting, task → PROVIDER_TYPE_ID. Это не числовой TYPE_ID.
completed boolean / string Нет true/false → Y/N. Остальные значения передаются без изменений.
responsibleId number / string Нет Ответственный сотрудник из списка пользователей.
priority, direction number / string Нет Передаются в PRIORITY и DIRECTION.
deadline, startTime, endTime string Нет Передаются в DEADLINE, START_TIME, END_TIME. Указывайте смещение часового пояса явно.
id, createdAt, updatedAt (тело) number / string Нет Преобразуются в ID, CREATED, LAST_UPDATED, если переданы. Допустимость решает Битрикс24. Обычно эти служебные поля следует опустить.
TYPE_ID integer Нет местной проверки Исходный числовой тип дела, например 2 для звонка. typeId не преобразуется.
COMMUNICATIONS array Нет местной проверки Исходные объекты коммуникаций: VALUE, ENTITY_TYPE_ID, ENTITY_ID. ID контакта возьмите из списка контактов. communications и вложенные ключи не преобразуются.
Остальные ключи any Нет Передаются без изменений. Используйте названия полей Битрикс24.

Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/deals/575/activities" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "subject": "Позвонить клиенту",
  "type": "call",
  "TYPE_ID": 2,
  "completed": false,
  "responsibleId": 1,
  "COMMUNICATIONS": [
    {
      "VALUE": "+12025550123",
      "ENTITY_TYPE_ID": 3,
      "ENTITY_ID": 17
    }
  ]
}'

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/deals/575/activities" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "subject": "Позвонить клиенту",
  "type": "call",
  "TYPE_ID": 2,
  "completed": false,
  "responsibleId": 1,
  "COMMUNICATIONS": [
    {
      "VALUE": "+12025550123",
      "ENTITY_TYPE_ID": 3,
      "ENTITY_ID": 17
    }
  ]
}'

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

javascript
const response = await fetch('https://vibecode.bitrix24.tech/v1/deals/575/activities', {
  method: 'POST',
  headers: {
    "X-Api-Key": "YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "subject": "Позвонить клиенту",
    "type": "call",
    "TYPE_ID": 2,
    "completed": false,
    "responsibleId": 1,
    "COMMUNICATIONS": [
      {
        "VALUE": "+12025550123",
        "ENTITY_TYPE_ID": 3,
        "ENTITY_ID": 17
      }
    ]
  }),
})
const result = await response.json()
if (!response.ok || !result.success) throw new Error(JSON.stringify(result.error))
console.log(result.data)

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

javascript
const response = await fetch('https://vibecode.bitrix24.tech/v1/deals/575/activities', {
  method: 'POST',
  headers: {
    "X-Api-Key": "YOUR_APP_KEY",
    "Authorization": "Bearer USER_SESSION_TOKEN",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    "subject": "Позвонить клиенту",
    "type": "call",
    "TYPE_ID": 2,
    "completed": false,
    "responsibleId": 1,
    "COMMUNICATIONS": [
      {
        "VALUE": "+12025550123",
        "ENTITY_TYPE_ID": 3,
        "ENTITY_ID": 17
      }
    ]
  }),
})
const result = await response.json()
if (!response.ok || !result.success) throw new Error(JSON.stringify(result.error))
console.log(result.data)

Поля ответа

Поле Тип Описание
success boolean true при успехе, HTTP 201.
data.id number / string ID созданного дела из Битрикс24 без преобразования. Само дело дополнительно не запрашивается.

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

Пример структуры ответа:

JSON
{
  "success": true,
  "data": {
    "id": 3894
  }
}

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

400 — неподдерживаемый тип дела:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_ACTIVITY_TYPE",
    "message": "Invalid activity type 'sms'. Available: email, call, meeting, task"
  }
}

Ошибки

HTTP Код Условие
400 INVALID_PARAMS Битрикс24 отклонил параметр.
401 TOKEN_MISSING Не настроены учётные данные Битрикс24.
403 SCOPE_DENIED У ключа нет скоупа crm.
404 ENTITY_NOT_FOUND Битрикс24 сообщил об отсутствии сущности. Отдельной проверки существования владельца нет.
422 BITRIX_ERROR Отказ Битрикс24 без более точного сопоставления.
403 WRITE_BLOCKED_READONLY_KEY Ключ READONLY не может создавать дела.
400 INVALID_ACTIVITY_TYPE Непустой type не входит в четыре поддерживаемых значения.

Общие ошибки API.

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