Поля сделки в REST 3.0
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Поля относятся к методам REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Поля сделки возвращают методы crm.deal.get и crm.deal.list, а принимают методы crm.deal.add и crm.deal.update. Список полей с признаками возвращает метод crm.deal.field.list.
Часть полей существует в двух видах: как идентификатор и как связанный объект, например assignedById и assignedBy. Идентификатор можно передать при записи, а связанный объект — только запросить в select.
Какие поля принимают и возвращают методы
|
Метод |
Принимает |
Возвращает |
|
Поля таблицы Объект сделки, которые можно изменять, и пользовательские поля. Обязательных полей нет: сделка создается и с пустым объектом |
Идентификатор созданной сделки |
|
|
|
Признак успеха |
|
|
|
Без |
|
|
|
Без |
Поля с пометкой «только чтение» методы add и update не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_VALIDATION_DTOVALIDATIONEXCEPTION с текстом «Поле "contactId" не доступно к заполнению». Связанные объекты, например company и stage, тоже только для чтения: для записи передавайте идентификатор — companyId, stageId.
Поля со значениями из справочников метод проверяет при записи. Если значения нет в справочнике, метод вернет ошибку «Значение поля не содержится в списке допустимых значений». Для стадии, типа сделки, источника и валюты в тексте ошибки перечислены допустимые значения.
Логические поля принимают и возвращают true или false. Значения Y, N, 1 и 0 не подходят: метод вернет ошибку «В поле opened требуется тип данных bool для такого запроса».
Поля типа date принимают и возвращают дату в формате YYYY-MM-DD, например 2026-11-03. Дату со временем или в формате 03.11.2026 такое поле не принимает. Поля типа datetime возвращаются в формате ISO 8601, например 2026-11-03T14:47:23+03:00. В фильтре по полю datetime тоже передавайте дату со временем: значение 2026-11-03 метод не примет.
Фильтровать и сортировать можно только по полям, у которых это указано в описании. На другие поля метод list вернет ошибку «требуется наличие атрибута Filterable» или «Sortable». Через точку можно фильтровать по полям связанных элементов CRM и объектов lastCommunication и utm, например ["company.title", "=", "Ромашка"] или ["utm.source", "=", "google"]. По полям сотрудников, стадии, воронки, типа сделки и источника, например assignedBy.id или stage.semanticId, фильтр не работает: метод вернет ошибку BITRIX_REST_V3_EXCEPTION_INVALIDFILTEREXCEPTION. Формат фильтра описан на странице crm.<тип>.list и в статье Обзор REST API 3.0.
Объект сделки
|
Название |
Описание |
|
title |
Название сделки, до 255 символов. Можно изменять, фильтровать и сортировать |
|
typeId |
Идентификатор типа сделки, например Можно изменять, фильтровать и сортировать |
|
type |
Тип сделки. Объект типа тип сделки. Только чтение. Запрашивается в |
|
quoteId |
Идентификатор предложения, из которого создана сделка. Только чтение. Можно фильтровать и сортировать |
|
quote |
Предложение, из которого создана сделка. Объект типа элемент CRM. Только чтение. Запрашивается в |
|
leadId |
Идентификатор лида, из которого создана сделка. Только чтение. Можно фильтровать и сортировать |
|
lead |
Лид, из которого создана сделка. Объект типа элемент CRM. Только чтение. Запрашивается в |
|
previousStageId |
Идентификатор стадии, на которой сделка была до текущей, например Только чтение. Можно фильтровать и сортировать |
|
previousStage |
Предыдущая стадия. Объект типа стадия. Если стадия не менялась — Только чтение. Запрашивается в |
|
locationId |
Идентификатор местоположения клиента. Служебное поле. Метод проверяет, что местоположение существует. Можно изменять. Фильтровать и сортировать нельзя |
|
isNew |
Сделка на первой стадии воронки: Только чтение. Можно фильтровать и сортировать |
|
isRepeatedApproach |
Сделка — повторное обращение клиента: Только чтение. Можно фильтровать и сортировать |
|
isReturnCustomer |
Повторная сделка с клиентом: Только чтение. Можно фильтровать и сортировать |
|
id |
Идентификатор сделки. Назначается при создании. Только чтение. Можно фильтровать и сортировать |
|
createdTime |
Дата и время создания сделки. Только чтение. Можно фильтровать и сортировать |
|
createdById |
Идентификатор пользователя, который создал сделку. Только чтение. Можно фильтровать и сортировать |
|
createdBy |
Пользователь, который создал сделку. Объект типа сотрудник. Только чтение. Запрашивается в |
|
updatedTime |
Дата и время последнего изменения сделки. Только чтение. Можно фильтровать и сортировать |
|
updatedById |
Идентификатор пользователя, который последним изменил сделку. Только чтение. Можно фильтровать и сортировать |
|
updatedBy |
Пользователь, который последним изменил сделку. Объект типа сотрудник. Только чтение. Запрашивается в |
|
lastActivityTime |
Дата и время последней активности в таймлайне сделки. Только чтение. Можно фильтровать и сортировать |
|
lastActivityById |
Идентификатор автора последней активности в таймлайне. Только чтение. Можно фильтровать и сортировать |
|
lastActivityBy |
Автор последней активности в таймлайне. Объект типа сотрудник. Только чтение. Запрашивается в |
|
assignedById |
Идентификатор ответственного за сделку. Идентификаторы пользователей возвращает метод user.get. Если пользователя нет, метод вернет ошибку «Значение поля не содержится в списке допустимых значений». Можно изменять, фильтровать и сортировать |
|
assignedBy |
Ответственный. Объект типа сотрудник. Только чтение. Запрашивается в |
|
opened |
Доступна ли сделка всем пользователям: Можно изменять, фильтровать и сортировать |
|
comments |
Комментарий к сделке. Поддерживает BB-коды, например Можно изменять. Фильтровать и сортировать нельзя |
|
originatorId |
Идентификатор внешней системы, из которой пришла сделка. Используйте вместе с Можно изменять, фильтровать и сортировать |
|
originId |
Идентификатор сделки во внешней системе. Можно изменять, фильтровать и сортировать |
|
webformId |
Идентификатор CRM-формы, через которую создана сделка. Если сделка создана не формой — Только чтение. Можно фильтровать и сортировать |
|
webform |
CRM-форма, через которую создана сделка. Объект типа CRM-форма. Только чтение. Запрашивается в |
|
lastCommunication |
Даты последних коммуникаций с клиентом по сделке. Объект типа последняя коммуникация. Только чтение. Запрашивается в |
|
entityTypeId |
Идентификатор типа объекта. Для сделки — Только чтение |
|
canRead |
Может ли текущий пользователь просматривать сделку: Только чтение |
|
url |
Относительная ссылка на карточку сделки, например Только чтение |
|
stageId |
Идентификатор стадии. В общей воронке — без префикса, например Можно изменять, фильтровать и сортировать |
|
stage |
Стадия сделки. Объект типа стадия. Только чтение. Запрашивается в |
|
movedTime |
Дата и время последней смены стадии. Только чтение. Можно фильтровать и сортировать |
|
movedById |
Идентификатор пользователя, который последним сменил стадию. Только чтение. Можно фильтровать и сортировать |
|
movedBy |
Пользователь, который последним сменил стадию. Объект типа сотрудник. Только чтение. Запрашивается в |
|
closed |
Закрыта ли сделка: Только чтение. Можно фильтровать и сортировать |
|
stageSemanticId |
Группа стадии. Возможные значения:
Только чтение. Можно фильтровать и сортировать |
|
stageSemantic |
Группа стадии с названием. Объект типа группа стадии. Только чтение. Запрашивается в |
|
beginTime |
Дата начала. Можно изменять, фильтровать и сортировать |
|
closeTime |
Дата завершения. Можно изменять, фильтровать и сортировать |
|
categoryId |
Идентификатор воронки. Общая воронка — Можно изменять, фильтровать и сортировать |
|
category |
Воронка сделки. Объект типа воронка. Только чтение. Запрашивается в |
|
observersId |
Идентификаторы наблюдателей. Идентификаторы пользователей возвращает метод user.get. Можно изменять и фильтровать, сортировать нельзя. В фильтре |
|
observers |
Наблюдатели. Массив объектов типа сотрудник. Если наблюдателей нет — пустой массив. Только чтение. Запрашивается в |
|
contactId |
Идентификатор основного контакта — первого в списке Только чтение. Можно фильтровать, сортировать нельзя |
|
contact |
Основной контакт. Объект типа элемент CRM. Только чтение. Запрашивается в |
|
contactsId |
Идентификаторы контактов сделки. Контакты возвращает метод crm.contact.list. Переданный массив заменяет текущий список контактов. Можно изменять и фильтровать, сортировать нельзя |
|
contacts |
Контакты сделки. Массив объектов типа элемент CRM. Если контактов нет — пустой массив. Только чтение. Запрашивается в |
|
companyId |
Идентификатор компании. Компании возвращает метод crm.company.list. Можно изменять, фильтровать и сортировать |
|
company |
Компания. Объект типа элемент CRM. Только чтение. Запрашивается в |
|
myCompanyId |
Идентификатор вашей компании, от имени которой вы работаете с клиентом. Список ваших компаний возвращает метод crm.mycompany.list. Можно изменять, фильтровать и сортировать |
|
myCompany |
Ваша компания. Объект типа элемент CRM. Только чтение. Запрашивается в |
|
sourceId |
Идентификатор источника, например Можно изменять, фильтровать и сортировать |
|
source |
Источник. Объект типа значение справочника. Только чтение. Запрашивается в |
|
sourceDescription |
Дополнительная информация об источнике. Можно изменять и фильтровать, сортировать нельзя |
|
opportunity |
Сумма сделки, не меньше Можно изменять, фильтровать и сортировать |
|
taxValue |
Сумма налога. Рассчитывается по товарным позициям. Только чтение. Можно фильтровать и сортировать |
|
isManualOpportunity |
Режим расчета суммы: Можно изменять, фильтровать и сортировать |
|
currencyId |
Идентификатор валюты, например Можно изменять, фильтровать и сортировать |
|
currency |
Валюта. Объект типа валюта. Только чтение. Запрашивается в |
|
utm |
UTM-метки сделки. Объект типа UTM-метки. Если меток нет — Можно изменять: передайте объект с нужными метками, например |
|
trackingSourceId |
Идентификатор источника сквозной аналитики. Можно изменять и фильтровать, сортировать нельзя |
|
related<Код типа>Id |
Идентификатор родительского элемента другого типа объекта, например Можно изменять и фильтровать, сортировать нельзя |
|
related<Код типа> |
Родительский элемент другого типа объекта, например Только чтение. Запрашивается в |
Поля связей с другими типами
Поля related<Код типа>Id и related<Код типа> появляются, когда в Битрикс24 настроена связь, в которой сделка подчинена другому типу объекта, например смарт-процессу. Для каждого родительского типа у сделки есть пара полей:
related<Код типа>Id— идентификатор родительского элемента, напримерrelatedSmartProcess177Idдля смарт-процесса сentityTypeId = 177related<Код типа>— родительский элемент как объект типа элемент CRM, напримерrelatedSmartProcess177
Название поля в ответе crm.deal.field.list совпадает с названием родительского типа, например «Закупка оборудования». Метод проверяет, что элемент с переданным идентификатором существует. Если элемента нет, метод вернет ошибку «Значение поля не содержится в списке допустимых значений».
Состав этих полей зависит от связей, настроенных в Битрикс24. Актуальный список возвращает метод crm.deal.field.list.
Связанные объекты
Связанный объект запрашивается в select по имени поля без суффикса Id: assignedBy, stage, category. Имя объекта целиком возвращает все его поля, путь через точку — только выбранные, например ["stage.name", "assignedBy.firstName"]. Путь поддерживает один уровень вложенности.
Связанный элемент CRM — contact, company, myCompany, lead, quote, related<Код типа> — по имени целиком возвращает только id. Остальные поля элемента запрашивайте через точку, например ["company.title", "company.url"].
Если связь не заполнена, объект приходит как null, а массив объектов, например observers или contacts, — как пустой массив.
Объект сотрудника
Поля createdBy, updatedBy, lastActivityBy, assignedBy, movedBy, observers.
|
Название |
Описание |
|
id |
Идентификатор пользователя |
|
firstName |
Имя |
|
lastName |
Фамилия |
|
personalGender |
Пол: |
|
url |
Относительная ссылка на профиль пользователя, например |
|
personalPhoto |
Ссылка на фотографию пользователя. Если фотографии нет — |
Объект элемента CRM
Поля contact, contacts, company, myCompany, lead, quote, related<Код типа>.
|
Название |
Описание |
|
id |
Идентификатор элемента |
|
entityTypeId |
Идентификатор типа объекта, например |
|
canRead |
Может ли текущий пользователь просматривать элемент |
|
title |
Название элемента. У контакта — фамилия, имя и отчество |
|
url |
Относительная ссылка на карточку элемента, например |
Объект стадии
Поля stage и previousStage.
|
Название |
Описание |
|
id |
Идентификатор стадии, например |
|
name |
Название стадии |
|
sort |
Порядок стадии в воронке |
|
color |
Цвет стадии в формате |
|
semanticId |
Группа стадии: |
Объект группы стадии
Поле stageSemantic. Справочник групп возвращает метод crm.dictionary.stagesemantic.list.
|
Название |
Описание |
|
id |
Идентификатор группы: |
|
name |
Название группы, например |
Объект воронки
Поле category.
|
Название |
Описание |
|
id |
Идентификатор воронки |
|
name |
Название воронки |
|
sort |
Порядок сортировки воронки |
|
isDefault |
Воронка по умолчанию: |
Объект типа сделки
Поле type.
|
Название |
Описание |
|
id |
Идентификатор типа, например |
|
name |
Название типа, например |
|
sort |
Порядок сортировки |
|
isSystem |
Системный тип: |
Объект значения справочника
Поле source.
|
Название |
Описание |
|
id |
Идентификатор значения, например |
|
name |
Название значения, например |
|
sort |
Порядок сортировки |
Объект CRM-формы
Поле webform.
|
Название |
Описание |
|
id |
Идентификатор CRM-формы |
|
name |
Название CRM-формы |
Объект последней коммуникации
Поле lastCommunication. Если коммуникации такого вида не было, поле равно null.
|
Название |
Описание |
|
communicationTime |
Дата и время последней коммуникации любого вида |
|
callTime |
Дата и время последнего звонка |
|
emailTime |
Дата и время последнего письма |
|
imolTime |
Дата и время последнего сообщения в открытой линии |
|
webformTime |
Дата и время последнего заполнения CRM-формы |
Объект валюты
Поле currency.
|
Название |
Описание |
|
id |
Код валюты, например |
|
fullName |
Название валюты |
|
formatString |
Шаблон вывода суммы. Символ |
|
decPoint |
Десятичный разделитель |
|
thousandsSep |
Разделитель разрядов. Может приходить HTML-сущностью, например |
|
decimals |
Количество знаков после запятой |
|
hideZero |
Скрывать ли незначащие нули в дробной части |
|
amount |
Курс валюты относительно базовой |
|
amountCount |
Количество единиц валюты, к которому относится курс |
|
base |
Базовая валюта: |
|
sort |
Порядок сортировки |
|
numericCode |
Цифровой код валюты, например |
|
languageId |
Язык, для которого заданы название и формат |
|
createdTime |
Дата и время создания валюты |
|
updatedTime |
Дата и время изменения валюты |
|
createdById |
Идентификатор пользователя, который создал валюту |
|
updatedById |
Идентификатор пользователя, который изменил валюту |
Объект UTM-меток
Поле utm. Каждая метка — строка до 255 символов. Метки, которые не переданы, приходят как null.
|
Название |
Описание |
|
source |
Рекламная система, метка |
|
medium |
Тип трафика, метка |
|
campaign |
Рекламная кампания, метка |
|
content |
Содержание объявления, метка |
|
term |
Ключевая фраза, метка |
Пользовательские поля
Пользовательские поля сделки называются UF_CRM_<код>, например UF_CRM_1687529546. Их передают и запрашивают по имени так же, как стандартные поля. Список пользовательских полей возвращает метод crm.deal.field.custom.list.
У каждого пользовательского поля есть парное поле UF_CRM_…_data — только для чтения, запрашивается в select. Оно содержит значение в нескольких представлениях:
value— значение в том же формате, что в самом полеrawValue— значение в формате хранения, например100.5|RUBдля поля «Деньги»formattedValue— значение для показа пользователю:100.50 ₽для денег, имя сотрудника для поля «Привязка к сотруднику», текст варианта для спискаextra— дополнительные данные: для денег —amount,currencyIdиcurrencyFullName, для сотрудника — поля объекта сотрудника. Для строки, даты и списка —null
У множественного пользовательского поля UF_CRM_…_data — массив таких объектов.