Привязать

POST /v1/activities/:activityId/bindings

Привязывает дело к дополнительной CRM-сущности — оно появляется в её таймлайне наравне с сущностью-владельцем.

Параметры

Параметр Тип Обяз. Описание
activityId (path) number да ID дела. Список: GET /v1/activities

Поля запроса (body)

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

Примеры

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/activities/3631/bindings \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "entityTypeId": 3, "entityId": 9 }'

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/activities/3631/bindings \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "entityTypeId": 3, "entityId": 9 }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/activities/3631/bindings', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ entityTypeId: 3, entityId: 9 }),
})

const { data } = await res.json()

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/activities/3631/bindings', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ entityTypeId: 3, entityId: 9 }),
})

const { data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.activityId number ID дела
data.entityTypeId number Числовой код типа привязанной сущности
data.entityId number ID привязанной сущности
data.bound boolean Всегда true — подтверждение привязки

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

JSON
{
  "success": true,
  "data": {
    "activityId": 3631,
    "entityTypeId": 3,
    "entityId": 9,
    "bound": true
  }
}

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

422 — сущность уже привязана:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Дело уже привязано к этой сущности"
  }
}

Ошибки

HTTP Код Описание
400 INVALID_PARAMS activityId, entityTypeId или entityId не положительное целое число
404 ENTITY_NOT_FOUND Дела с указанным activityId не существует
422 BITRIX_ERROR Дело уже привязано к этой паре entityTypeId + entityId, либо такой сущности нет
403 SCOPE_DENIED Ключу не хватает скоупа crm
401 TOKEN_MISSING У ключа нет настроенных токенов

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

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

Привязка не идемпотентна. Повторный запрос к уже привязанной паре возвращает 422, а не 200. Это значит «уже привязано», а не сбой — повторять запрос не нужно, дубликат в списке не появляется.

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