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

Поля предложения

GET /v1/quotes/fields

Возвращает полный список доступных полей, включая пользовательские (ufCrm_*).

Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/quotes/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/quotes/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/quotes/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Полей:', Object.keys(data.fields).length)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/quotes/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Поля ответа

Поле Битрикс24 Тип RO Описание
id id number да ID предложения
quoteNumber quoteNumber string № предложения
title title string Название
amount opportunity number Сумма
taxValue taxValue number да Сумма налога по предложению. Считается Битрикс24 по товарным позициям и не принимается ни на одной двери записи. Замерено 2026-09-11 на живых порталах обеих платформ: создание и изменение в обоих режимах суммы, импорт в обоих режимах — чтение назад даёт 0 всегда. Поэтому объявлено только для чтения: попытка записи отклоняется, а не отвечает успехом с потерей значения. Налог задаётся через товарные позиции
currency currencyId string Валюта. Список: GET /v1/currencies
stageId stageId string Статус: DRAFT, SENT, APPROVED. Список: GET /v1/statuses?filter[entityId]=QUOTE_STATUS
isManualOpportunity isManualOpportunity boolean Ручной режим суммы (Y/N в Битрикс24, преобразуется в булево)
opened opened boolean Доступно для всех
closed closed boolean да Предложение закрыто
dealId dealId number ID сделки. Поиск: GET /v1/deals
leadId leadId number ID лида. Поиск: GET /v1/leads
contactId contactId number ID контакта. Поиск: GET /v1/contacts
contactIds contactIds array ID контактов предложения. Передавайте полный список — набор привязок заменяется целиком, а не дополняется
contacts contacts array да Не возвращается: item-API Битрикс24 не отдаёт этот ключ у предложений, и маршрута привязок у предложений нет — привязанные контакты в contactIds. Объявлено ради отказа на записи (400 READONLY_FIELD вместо сырой ошибки Битрикс24). В select отвечает 400 SELECT_FIELD_NOT_RETURNED, в filter и order не принимается — 400 UNKNOWN_FILTER_FIELD / 400 UNKNOWN_SORT_FIELD
clientTitle clientTitle string да Название клиента из старого снимка клиента. Семь полей client* (название, адрес, контактное лицо, e-mail, телефон, ИНН, КПП) привязка компании и контакта не заполняет, а item-API их не принимает — значение, присланное при создании, изменении, в пачке или импорте, портал отбрасывает. Сохраняют их устаревшие методы crm.quote.add / crm.quote.update (ими пользуются старые интеграции), поэтому они возвращаются при чтении, работают в фильтре и сортировке и объявлены только для чтения. Запись отклоняется, а не отвечает успехом с потерей значения: 400 READONLY_FIELD, в пачке — BATCH_ITEM_VALIDATION, в импорте — IMPORT_ITEM_VALIDATION. null, если ничего не сохранено, как у остальных строковых полей. Замерено 2026-09-15/16 прямым вебхуком на тестовом портале Битрикс24
clientAddr clientAddr string да Адрес клиента из старого снимка клиента — заполняется и читается так же, как clientTitle
clientContact clientContact string да Контактное лицо клиента из старого снимка клиента — как clientTitle
clientEmail clientEmail string да E-mail клиента из старого снимка клиента — как clientTitle
clientPhone clientPhone string да Телефон клиента из старого снимка клиента — как clientTitle
clientTpId clientTpId string да ИНН клиента из старого снимка клиента — как clientTitle
clientTpaId clientTpaId string да КПП клиента из старого снимка клиента — как clientTitle
companyId companyId number ID компании. Поиск: GET /v1/companies
mycompanyId mycompanyId number Реквизиты вашей компании
personTypeId personTypeId number да Тип плательщика
assignedById assignedById number Ответственный. Список: GET /v1/users
createdBy createdBy number да Создатель. Поиск: GET /v1/users
updatedBy updatedBy number да Кем обновлено
lastActivityBy lastActivityBy number Автор последней активности
comments comments string Комментарий
content content string Содержание
terms terms string Условия
locationId locationId string Местоположение
webformId webformId number Создано CRM-формой
storageTypeId storageTypeId number Тип хранилища файлов
storageElementIds storageElementIds array ID файлов в хранилище
utmSource utmSource string UTM Source
utmMedium utmMedium string UTM Medium
utmCampaign utmCampaign string UTM Campaign
utmContent utmContent string UTM Content
utmTerm utmTerm string UTM Term
beginDate begindate datetime Дата начала
closeDate closedate datetime Дата закрытия
actualDate actualDate datetime Актуально до
lastActivityTime lastActivityTime datetime Последняя активность
lastCommunicationTime lastCommunicationTime string да Дата последней коммуникации
lastCommunicationCallTime lastCommunicationCallTime datetime да Дата последнего звонка
lastCommunicationEmailTime lastCommunicationEmailTime datetime да Дата последнего e-mail
lastCommunicationImolTime lastCommunicationImolTime datetime да Дата последнего диалога в открытой линии
lastCommunicationWebformTime lastCommunicationWebformTime datetime да Дата последнего заполнения CRM-формы
createdTime createdTime datetime да Дата создания
updatedTime updatedTime datetime да Дата изменения

UTM-поля возвращаются в list/get, но в фильтре и сортировке не принимаются. Запрос с filter[utmSource] отвечает 400 UNKNOWN_FILTER_FIELD, с sort=utmSource — 400 UNKNOWN_SORT_FIELD, и оба отказа приходят до обращения к Битрикс24.

Пользовательские поля (ufCrm_*) также возвращаются в ответах и принимаются при создании/обновлении.

Доступные include

Эндпоинт GET /v1/quotes/fields возвращает список доступных include: deal, contact, company.

Пример использования: Получить quotes.

Подробнее об include: Связанные данные.

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

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": {
        "type": "number",
        "readonly": true,
        "label": "ID предложения",
        "description": "Идентификатор предложения, присваивается Битрикс24."
      },
      "title": {
        "type": "string",
        "readonly": false,
        "label": "Название",
        "description": "Название предложения, отображается в списке и в карточке."
      },
      "assignedById": {
        "type": "number",
        "readonly": false,
        "label": "Ответственный",
        "description": "Сотрудник, ответственный за предложение. Список: GET /v1/users."
      }
    },
    "batch": ["create", "update", "delete"]
  }
}

Показаны 3 из множества полей. Полный список в таблице выше.

Каждое поле описано объектом { type, readonly, label, description }. label — короткая подпись на русском языке, а у полей, которые платформа берёт напрямую с портала, — на языке портала, description — расширенное описание: назначение поля, где взять список допустимых значений, поведение при записи. Заголовками запроса язык не переключается. У поля stageId набор значений настраивается на портале, поэтому вместо словаря в описании указана ссылка на справочник статусов.

Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
429 RATE_LIMITED Превышен лимит запросов: 300 в минуту на портал, все API-ключи портала делят один лимит. Точное значение — в заголовке x-ratelimit-limit (потолок делится на реплики). Повторите после срока из заголовка Retry-After

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

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