Битрикс24 REST API: Заполнить пользовательские поля сделки

Сценарий из mcp-everything. Актуально на 2026-10-24.

У каждого портала свои поля (UF_CRM_…): источник заявки, номер договора, ссылка на заказ. Узнать их имена и записать значения.

  1. Получи список полей: crm.item.fields с entityTypeId = 2. Пользовательские поля в crm.item.* называются в camelCase, например ufCrm1700000000; с useOriginalUfNames = Y — как в интерфейсе, UF_CRM_1700000000.
  2. Посмотри в ответе тип поля, isRequired и isMultiple: множественное поле принимает массив, список — id варианта, а не текст.
  3. Запиши значения: crm.item.update с fields, где ключи — имена полей из шага 1. При создании сделки те же поля передаются в crm.item.add.
curl -X POST "$HOOK/crm.item.fields.json" \
  -H 'Content-Type: application/json' \
  -d '{"entityTypeId": 2}'

curl -X POST "$HOOK/crm.item.update.json" \
  -H 'Content-Type: application/json' \
  -d '{"entityTypeId": 2, "id": 342, "fields": {"ufCrm1700000000": "Договор № 15/2026"}}'

Базовые URL

Авторизация

Тип: Другое

Два способа:

Без данных авторизации запрос отклоняется с ошибкой NO_AUTH_FOUND.

curl -X POST \
-H "Content-Type: application/json" \
-d '{
	"entityTypeId": 2,
	"fields": {
		"title": "New Deal",
		"typeId": "SALE",
		"stageId": "NEW"
	}
}' \
https://your-domain.bitrix24.com/rest/1/8g9l071eismy9q2l/crm.item.add.json

Методы сценария

crm.item.add — Создать элемент CRM

Универсальный метод создания лидов, сделок, контактов, компаний и элементов смарт-процессов. Скоуп crm. При создании проверяются права и обязательные поля, запускаются роботы.

Пример ответа (сокращён):

Параметр Где Тип Обяз. Описание
entityTypeId body integer да Тип объекта CRM
fields body object да Поля элемента; набор зависит от типа объекта
fields.title body string нет Название; по умолчанию по шаблону {entityTypeName} #{id}
fields.stageId body crm_status нет Стадия, например NEW
fields.categoryId body integer нет Воронка (для сделок), по умолчанию 0
fields.typeId body crm_status нет Тип, например SALE для сделки
fields.opportunity body double нет Сумма
fields.currencyId body crm_currency нет Валюта
fields.assignedById body user нет Ответственный; по умолчанию вызывающий пользователь
fields.companyId body crm_company нет Привязанная компания
fields.contactIds body crm_contact[] нет Привязанные контакты
fields.sourceId body crm_status нет Источник, например CALL
fields.comments body text нет Комментарий
useOriginalUfNames body boolean нет Y — оригинальные имена пользовательских полей (UF_CRM_...)

Пример запроса:

{
    "result": {
        "item": {
            "id": 342,
            "createdTime": "2024-07-18T14:00:14+02:00",
            "assignedById": 6,
            "categoryId": 9,
            "stageId": "C9:UC_KN8KFI",
            "title": "New deal (specifically for rest method examples)",
            "typeId": "SERVICE",
            "opportunity": 999
        }
    }
}

crm.item.update — Изменить элемент

Если значения полей не изменились, сохранение не выполняется. После сохранения запускаются роботы.

Параметр Где Тип Обяз. Описание
entityTypeId body integer да Тип объекта CRM
id body integer да ID элемента
fields body object да Новые значения полей
useOriginalUfNames body boolean нет Формат имён пользовательских полей

crm.item.fields — Поля элемента CRM

Список полей и их настроек (тип, обязательность, только чтение, множественность) для типа объекта.

Параметр Где Тип Обяз. Описание
entityTypeId body integer да Тип объекта CRM
useOriginalUfNames body boolean нет Формат имён пользовательских полей

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://apidocs.bitrix24.ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/bitrix24.md