Поля предложения в REST 3.0

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Поля относятся к методам REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.

Поля предложения возвращают методы crm.quote.get и crm.quote.list, а принимают методы crm.quote.add и crm.quote.update. Список полей с признаками возвращает метод crm.quote.field.list.

Часть полей существует в двух видах: как идентификатор и как связанный объект, например assignedById и assignedBy. Идентификатор можно передать при записи, а связанный объект — только запросить в select.

Какие поля принимают и возвращают методы

Метод

Принимает

Возвращает

crm.quote.add

Поля таблицы Объект предложения, которые можно изменять, и пользовательские поля. Обязательных полей нет: предложение создается и с пустым объектом fields

Идентификатор созданного предложения id

crm.quote.update

id предложения и те же поля, что add. Поля, которых нет в fields, сохраняют текущие значения

Признак успеха true

crm.quote.get

id предложения и select

Без select — только id. С select — только перечисленные поля, id не добавляется автоматически. Связанный объект целиком, например assignedBy, возвращает все свои поля, а путь через точку, например assignedBy.firstName, — только выбранные. Подробнее — в разделе Связанные объекты

crm.quote.list

select, filter, order, pagination

Без select — только id каждого предложения. Поля и связанные объекты запрашиваются в select так же, как в get

Поля с пометкой «только чтение» методы add и update не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_VALIDATION_DTOVALIDATIONEXCEPTION с текстом «Поле "personTypeId" не доступно к заполнению». Связанные объекты, например deal и stage, тоже только для чтения: для записи передавайте идентификатор — dealId, stageId.

Поля со значениями из справочников метод проверяет при записи. Если значения нет в справочнике, метод вернет ошибку «Значение поля не содержится в списке допустимых значений». Для стадии и валюты в тексте ошибки перечислены допустимые значения.

Логические поля принимают и возвращают true или false. Значения Y, N, 1 и 0 не подходят: метод вернет ошибку «В поле opened требуется тип данных bool для такого запроса».

Поля типа date принимают и возвращают дату в формате YYYY-MM-DD, например 2026-12-01. Дату со временем или в формате 01.12.2026 такое поле не принимает. Поля типа datetime возвращаются в формате ISO 8601, например 2026-11-03T14:48:50+03:00. В фильтре по полю datetime тоже передавайте дату со временем: значение 2026-11-03 метод не примет.

Фильтровать и сортировать можно только по полям, у которых это указано в описании. На другие поля метод list вернет ошибку «требуется наличие атрибута Filterable» или «Sortable». Через точку можно фильтровать по полям связанных элементов CRM и объектов lastCommunication и utm, например ["deal.title", "=", "Поставка оборудования"]. По полям сотрудников и стадии, например assignedBy.id или stage.semanticId, фильтр не работает: метод вернет ошибку BITRIX_REST_V3_EXCEPTION_INVALIDFILTEREXCEPTION. Формат фильтра описан на странице crm.<тип>.list и в статье Обзор REST API 3.0.

Поля movedTime, movedById, movedBy, stageSemanticId и stageSemantic есть в ответе crm.quote.field.list, но методы get и list их не принимают. На такое поле в select, filter или order метод вернет ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION. Группу стадии можно получить из поля semanticId объекта стадии: "select": ["stage.semanticId"].

Объект предложения

Название
тип

Описание

title
string

Тема предложения, до 255 символов. Если не передать тему при создании, Битрикс24 подставит Предложение #<id>.

Можно изменять, фильтровать и сортировать

actualTime
date | null

Дата, до которой предложение актуально.

Можно изменять, фильтровать и сортировать

content
string | null

Содержание предложения.

Можно изменять, фильтровать и сортировать

terms
string | null

Условия предложения.

Можно изменять, фильтровать и сортировать

quoteNumber
string | null

Номер предложения, до 100 символов, например F1-001.

Можно изменять, фильтровать и сортировать

dealId
integer | null

Идентификатор сделки, к которой относится предложение. Сделки возвращает метод crm.deal.list. Метод проверяет, что сделка существует.

Можно изменять, фильтровать и сортировать

deal
object | null

Сделка. Объект типа элемент CRM.

Только чтение. Запрашивается в select

leadId
integer | null

Идентификатор лида, к которому относится предложение. Лиды возвращает метод crm.lead.list. Метод проверяет, что лид существует.

Можно изменять, фильтровать и сортировать

lead
object | null

Лид. Объект типа элемент CRM.

Только чтение. Запрашивается в select

locationId
integer | null

Идентификатор местоположения клиента. Служебное поле. Метод проверяет, что местоположение существует.

Можно изменять, фильтровать и сортировать

personTypeId
string

Тип клиента. Битрикс24 определяет его по клиенту предложения. Возможные значения:

  • CONTACT — физическое лицо
  • COMPANY — юридическое лицо, если в предложении указана компания

Только чтение. Можно фильтровать и сортировать

personType
object

Тип клиента с названием. Объект типа тип клиента.

Только чтение. Запрашивается в select

id
integer

Идентификатор предложения. Назначается при создании.

Только чтение. Можно фильтровать и сортировать

createdTime
datetime

Дата и время создания предложения.

Только чтение. Можно фильтровать и сортировать

createdById
integer

Идентификатор пользователя, который создал предложение.

Только чтение. Можно фильтровать и сортировать

createdBy
object

Пользователь, который создал предложение. Объект типа сотрудник.

Только чтение. Запрашивается в select

updatedTime
datetime

Дата и время последнего изменения предложения.

Только чтение. Можно фильтровать и сортировать

updatedById
integer

Идентификатор пользователя, который последним изменил предложение.

Только чтение. Можно фильтровать и сортировать

updatedBy
object

Пользователь, который последним изменил предложение. Объект типа сотрудник.

Только чтение. Запрашивается в select

lastActivityTime
datetime

Дата и время последней активности в таймлайне предложения.

Только чтение. Можно фильтровать и сортировать

lastActivityById
integer

Идентификатор автора последней активности в таймлайне.

Только чтение. Можно фильтровать и сортировать

lastActivityBy
object

Автор последней активности в таймлайне. Объект типа сотрудник.

Только чтение. Запрашивается в select

assignedById
integer

Идентификатор ответственного за предложение. Идентификаторы пользователей возвращает метод user.get. Если пользователя нет, метод вернет ошибку «Значение поля не содержится в списке допустимых значений».

Можно изменять, фильтровать и сортировать

assignedBy
object

Ответственный. Объект типа сотрудник.

Только чтение. Запрашивается в select

opened
boolean

Доступно ли предложение всем пользователям: true — да, false — нет.

Можно изменять, фильтровать и сортировать

comments
string | null

Комментарий к предложению. Поддерживает BB-коды, например [b]текст[/b].

Можно изменять. Фильтровать и сортировать нельзя

webformId
integer | null

Идентификатор CRM-формы, через которую создано предложение. Если предложение создано не формой — null. Список форм возвращает метод crm.form.list.

Только чтение. Можно фильтровать и сортировать

webform
object | null

CRM-форма, через которую создано предложение. Объект типа CRM-форма.

Только чтение. Запрашивается в select

lastCommunication
object

Даты последних коммуникаций с клиентом по предложению. Объект типа последняя коммуникация.

Только чтение. Запрашивается в select. Можно фильтровать по полям объекта через точку, например ["lastCommunication.emailTime", ">=", "2026-11-01T00:00:00+03:00"]

entityTypeId
integer

Идентификатор типа объекта. Для предложения — 7.

Только чтение

canRead
boolean

Может ли текущий пользователь просматривать предложение: true — да, false — нет.

Только чтение

url
string

Относительная ссылка на карточку предложения, например /crm/type/7/details/147/.

Только чтение

stageId
string

Идентификатор стадии предложения, например DRAFT, SENT, APPROVED. У предложений одна воронка. Стадии предложения возвращает метод crm.status.list с фильтром ENTITY_ID = QUOTE_STATUS.

Можно изменять, фильтровать и сортировать

stage
object

Стадия предложения. Объект типа стадия.

Только чтение. Запрашивается в select

movedTime
datetime

Дата и время последней смены стадии.

Только чтение. Поле есть в ответе field.list, но методы get и list его не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION

movedById
integer

Идентификатор пользователя, который последним сменил стадию.

Только чтение. Поле есть в ответе field.list, но методы get и list его не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION

movedBy
object

Пользователь, который последним сменил стадию. Объект типа сотрудник.

Только чтение. Поле есть в ответе field.list, но методы get и list его не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION

closed
boolean

Закрыто ли предложение: true — да, false — нет.

Только чтение. Можно фильтровать и сортировать

stageSemanticId
string

Группа стадии. Возможные значения:

  • P — в работе
  • S — успех
  • F — провал

Только чтение. Поле есть в ответе field.list, но методы get и list его не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION. Группу стадии возвращает поле stage.semanticId

stageSemantic
object

Группа стадии с названием: id и name. Справочник групп возвращает метод crm.dictionary.stagesemantic.list.

Только чтение. Поле есть в ответе field.list, но методы get и list его не принимают и возвращают ошибку BITRIX_REST_V3_EXCEPTION_UNKNOWNDTOPROPERTYEXCEPTION

beginTime
date

Дата выставления предложения. Если не передать при создании, Битрикс24 подставит дату создания.

Можно изменять, фильтровать и сортировать

closeTime
date

Срок предложения. Если не передать при создании, Битрикс24 подставит дату через семь дней после создания.

Можно изменять, фильтровать и сортировать

contactId
integer | null

Идентификатор основного контакта — первого в списке contactsId. Назначить основной контакт можно методом crm.quote.setprimarycontact.

Только чтение. Можно фильтровать, сортировать нельзя

contact
object | null

Основной контакт. Объект типа элемент CRM.

Только чтение. Запрашивается в select

contactsId
integer[]

Идентификаторы контактов предложения. Контакты возвращает метод crm.contact.list. Переданный массив заменяет текущий список контактов.

Можно изменять и фильтровать, сортировать нельзя

contacts
object[]

Контакты предложения. Массив объектов типа элемент CRM. Если контактов нет — пустой массив.

Только чтение. Запрашивается в select

companyId
integer | null

Идентификатор компании. Компании возвращает метод crm.company.list.

Можно изменять, фильтровать и сортировать

company
object | null

Компания. Объект типа элемент CRM.

Только чтение. Запрашивается в select

myCompanyId
integer | null

Идентификатор вашей компании, от имени которой выставляется предложение. Список ваших компаний возвращает метод crm.mycompany.list.

Можно изменять, фильтровать и сортировать

myCompany
object | null

Ваша компания. Объект типа элемент CRM.

Только чтение. Запрашивается в select

opportunity
double

Сумма предложения, не меньше 0. Способ расчета суммы задает поле isManualOpportunity.

Можно изменять, фильтровать и сортировать

taxValue
double

Сумма налога. Рассчитывается по товарным позициям.

Только чтение. Можно фильтровать и сортировать

isManualOpportunity
boolean

Режим расчета суммы: true — сумма задается вручную, false — рассчитывается по товарным позициям.

Можно изменять, фильтровать и сортировать

currencyId
string

Идентификатор валюты, например RUB. Валюты возвращает метод crm.currency.list.

Можно изменять, фильтровать и сортировать

currency
object

Валюта. Объект типа валюта.

Только чтение. Запрашивается в select

utm
object | null

UTM-метки предложения. Объект типа UTM-метки. Если меток нет — null.

Можно изменять: передайте объект с нужными метками, например {"source": "google", "medium": "cpc"}. Можно фильтровать по полям объекта через точку, например ["utm.source", "=", "google"], сортировать нельзя

trackingSourceId
integer | null

Идентификатор источника сквозной аналитики.

Можно изменять и фильтровать, сортировать нельзя

Если в Битрикс24 настроена связь, в которой предложение подчинено другому типу объекта, у предложения появляются поля связи related<Код типа>Id и related<Код типа>, например relatedSmartProcess177Id. Первое — идентификатор родительского элемента, его можно изменять и фильтровать. Второе — родительский элемент как объект типа элемент CRM, только для чтения. Актуальный список полей возвращает метод crm.quote.field.list.

Связанные объекты

Связанный объект запрашивается в select по имени поля без суффикса Id: assignedBy, stage, personType. Имя объекта целиком возвращает все его поля, путь через точку — только выбранные, например ["stage.name", "assignedBy.firstName"]. Путь поддерживает один уровень вложенности.

Связанный элемент CRM — deal, lead, contact, company, myCompany — по имени целиком возвращает только id. Остальные поля элемента запрашивайте через точку, например ["deal.title", "deal.url"].

Если связь не заполнена, объект приходит как null, а массив объектов, например contacts, — как пустой массив.

Объект сотрудника

Поля createdBy, updatedBy, lastActivityBy, assignedBy.

Название
тип

Описание

id
integer

Идентификатор пользователя

firstName
string

Имя

lastName
string

Фамилия

personalGender
string | null

Пол: M — мужской, F — женский. Если пол не указан — null

url
string

Относительная ссылка на профиль пользователя, например /company/personal/user/1/

personalPhoto
string | null

Ссылка на фотографию пользователя. Если фотографии нет — null

Объект элемента CRM

Поля deal, lead, contact, contacts, company, myCompany.

Название
тип

Описание

id
integer

Идентификатор элемента

entityTypeId
integer

Идентификатор типа объекта, например 2 — сделка, 3 — контакт

canRead
boolean

Может ли текущий пользователь просматривать элемент

title
string

Название элемента. У контакта — фамилия, имя и отчество

url
string

Относительная ссылка на карточку элемента, например /crm/deal/details/8987/

Объект стадии

Поле stage.

Название
тип

Описание

id
string

Идентификатор стадии, например DRAFT

name
string

Название стадии

sort
integer

Порядок стадии

color
string

Цвет стадии в формате #RRGGBB

semanticId
string

Группа стадии: P — в работе, S — успех, F — провал

Объект типа клиента

Поле personType.

Название
тип

Описание

id
string

Идентификатор типа клиента: CONTACT или COMPANY

name
string

Название типа клиента, например Физическое лицо

Объект CRM-формы

Поле webform.

Название
тип

Описание

id
integer

Идентификатор CRM-формы

name
string

Название CRM-формы

Объект последней коммуникации

Поле lastCommunication. Если коммуникации такого вида не было, поле равно null.

Название
тип

Описание

communicationTime
datetime | null

Дата и время последней коммуникации любого вида

callTime
datetime | null

Дата и время последнего звонка

emailTime
datetime | null

Дата и время последнего письма

imolTime
datetime | null

Дата и время последнего сообщения в открытой линии

webformTime
datetime | null

Дата и время последнего заполнения CRM-формы

Объект валюты

Поле currency.

Название
тип

Описание

id
string

Код валюты, например RUB

fullName
string

Название валюты

formatString
string

Шаблон вывода суммы. Символ # заменяется суммой. Знак валюты приходит HTML-сущностью, например # &#8381;

decPoint
string

Десятичный разделитель

thousandsSep
string

Разделитель разрядов. Может приходить HTML-сущностью, например &nbsp;

decimals
integer

Количество знаков после запятой

hideZero
boolean

Скрывать ли незначащие нули в дробной части

amount
double

Курс валюты относительно базовой

amountCount
integer

Количество единиц валюты, к которому относится курс

base
boolean

Базовая валюта: true — да, false — нет

sort
integer

Порядок сортировки

numericCode
string

Цифровой код валюты, например 643

languageId
string

Язык, для которого заданы название и формат

createdTime
datetime | null

Дата и время создания валюты

updatedTime
datetime | null

Дата и время изменения валюты

createdById
integer | null

Идентификатор пользователя, который создал валюту

updatedById
integer | null

Идентификатор пользователя, который изменил валюту

Объект UTM-меток

Поле utm. Каждая метка — строка до 255 символов. Метки, которые не переданы, приходят как null.

Название
тип

Описание

source
string | null

Рекламная система, utm_source

medium
string | null

Тип трафика, utm_medium, например cpc

campaign
string | null

Рекламная кампания, utm_campaign

content
string | null

Содержание объявления, utm_content

term
string | null

Ключевая фраза, utm_term

Пользовательские поля

Пользовательские поля предложения называются UF_CRM_<код>, например UF_CRM_6710EFCBAF22C. Их передают и запрашивают по имени так же, как стандартные поля. Список пользовательских полей возвращает метод crm.quote.field.custom.list.

У каждого пользовательского поля есть парное поле UF_CRM_…_data — только для чтения, запрашивается в select. Оно содержит значение в нескольких представлениях:

  • value — значение в том же формате, что в самом поле
  • rawValue — значение в формате хранения, например 100.5|RUB для поля «Деньги»
  • formattedValue — значение для показа пользователю: 100.50 ₽ для денег, имя сотрудника для поля «Привязка к сотруднику», текст варианта для списка
  • extra — дополнительные данные: для денег — amount, currencyId и currencyFullName, для сотрудника — поля объекта сотрудника. Для строки, даты и списка — null

У множественного пользовательского поля UF_CRM_…_data — массив таких объектов.

Продолжите изучение

Предыдущая
Следующая