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

Если вы разрабатываете интеграции для Битрикс24 с помощью AI-инструментов (Codex, Claude Code, Cursor), подключите MCP-сервер, чтобы ассистент использовал официальную REST-документацию.

Scope: crm

Кто может выполнять метод: любой пользователь с правом «добавления» элемента объекта CRM

Метод является универсальным методом для создания объектов в CRM. С помощью него вы можете создавать различные типы объектов, такие как сделки, контакты, компании и другие.

Для создания объекта необходимо передать соответствующие параметры, включая тип объекта и информацию о нем: название, описание, контактные данные и другие детали.

После успешного выполнения запроса создается новый объект.

Этот метод предоставляет гибкую возможность автоматизировать процесс создания объектов и интегрировать CRM с другими системами.

При создании элемента производится стандартный ряд проверок, модификаций и автоматических действий:

  • проверяются права доступа
  • проверяется заполненность обязательных полей
  • проверяется заполненность зависимых от стадий обязательных полей
  • проверяется корректность заполнения полей
  • полям присваиваются значения по умолчанию
  • после сохранения запускаются роботы

Далее рассмотрим подробнее, как использовать этот метод и какие параметры нужно передать.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

entityTypeId*
integer

Идентификатор системного или пользовательского типа, чей элемент мы хотим создать.

Числовые значения для системных типов (Лид — 1, Сделка — 2, Контакт — 3, Компания — 4, Счёт — 31 и др.) приведены в справочнике типов объектов CRM. Идентификатор смарт-процесса можно узнать методом crm.type.list

fields*
object

Объект формата.

{
            field_1: value_1,
            field_2: value_2,
            ...,
            field_n: value_n,
        }
        

где

  • field_n — название поля
  • value_n — значение поля

У каждого типа сущности CRM свой набор полей. Это значит, что набор полей для создания Лида не обязан подходить набору полей для создания Контакта или Смарт-процесса.

Список доступных полей для каждого типа сущности описан ниже.

Некорректное поле в fields будет проигнорировано

useOriginalUfNames
boolean

Параметр для управления форматом имен пользовательских полей в запросе и ответе.
Возможные значения:

  • Y — оригинальные имена пользовательских полей, например UF_CRM_2_1639669411830
  • N — имена пользовательских полей в camelCase, например ufCrm2_1639669411830

По умолчанию — N

Параметр fields

Обязательные параметры отмечены *

Идентификатор объекта CRM entityTypeId: 1

Название
тип

Описание

title
string

Название элемента.

По умолчанию генерируется по шаблону {entityTypeName} #{id}, где

  • entityTypeName — название сущности
  • id — идентификатор элемента

Например для лида с id = 13 — 'Лид #13'

honorific
crm_status

Строковый идентификатор обращения лида (например 'HNR_RU_1' = 'г-н').

Список доступных обращений можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "HONOFIRIC" }.

По умолчанию — null

name
string

Имя.

По умолчанию — null

secondName
string

Отчество.

По умолчанию — null

lastName
string

Фамилия.

По умолчанию — null

birthdate
date

Дата рождения.

По умолчанию — null

companyTitle
string

Название компании.

По умолчанию — null

sourceId
crm_status

Строковый идентификатор источника.

Например 'CALL' = 'Звонок'.

Список доступных источников можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "SOURCE" }.

По умолчанию имеет значение первого доступного источника

sourceDescription
text

Дополнительно об источнике.

По умолчанию — null

stageId
crm_status

Строковый идентификатор стадии элемента.

Например 'NEW' = 'Не обработан'.

Список доступных стадий можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "STATUS" }

По умолчанию имеет значение первой доступной стадии

statusDescription
text

Дополнительно о стадии.

По умолчанию — null

post
string

Должность.

По умолчанию — null

currencyId
crm_currency

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

По умолчанию имеет значение валюты по умолчанию

isManualOpportunity
boolean

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

  • Y — ручной
  • N — автоматический

По умолчанию — N

opportunity
double

Сумма.

По умолчанию — null

opened
boolean

Является ли элемент доступным для всех. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках CRM

comments
text

Комментарий.

По умолчанию — null

assignedById
user

Идентификатор ответственного за элемент.

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

companyId
crm_company

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

Список компании можно получить с помощью метода crm.item.list по entityTypeId = 4.

По умолчанию — null

contactId
crm_contact

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

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

contactIds
crm_contact[]

Список идентификаторов контакта привязанных к элементу.

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

originatorId
string

Внешний источник.

По умолчанию — null

originId
string

Идентификатор элемента во внешнем источнике.

По умолчанию — null

webformId
integer

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

По умолчанию — null

observers
user[]

Массив идентификаторов пользователей, которые будут являться Наблюдателями в элементе.

По умолчанию — null

utmSource
string

Рекламная система. Например: Yandex-Direct, Google-Adwords и другие.

По умолчанию — null

utmMedium
string

Тип трафика. Возможные значения:

  • CPC — объявления
  • CPM — баннеры

По умолчанию — null

utmCampaign
string

Обозначение рекламной кампании.

По умолчанию — null

utmContent
string

Содержание кампании. Например, для контекстных объявлений.

По умолчанию — null

utmTerm
string

Условие поиска кампании. Например, ключевые слова контекстной рекламы.

По умолчанию равенnull

ufCrm...
crm_userfield

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

О пользовательских полях читайте раздел Пользовательские поля в CRM: обзор методов

Значения множественных полей передаются в виде массива.

Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла.

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

fm
multifield[]

Массив мультиполей.

Подробнее о мультиполях можно почитать в разделе crm_multifield

Структура мультиполя:

  • typeId — Тип мультиполя
  • valueType — Тип значения
  • value — Значение

Пример:

fm: [
          {
            "valueType": "WORK",
            "value": "+79999999",
            "typeId": "PHONE"
          },
          {
            "valueType": "WORK",
            "value": "bitrix@bitrix.ru",
            "typeId": "EMAIL"
          }
        ]
        

По умолчанию — null

Идентификатор объекта CRM entityTypeId: 2

Название
тип

Описание

title
string

Название элемента

По умолчанию генерируется по шаблону {entityTypeName} #{id}, где

  • entityTypeName — название сущности
  • id — идентификатор элемента
    Например для сделки с id = 13 => 'Сделка #13'

typeId
crm_status

Строковый идентификатор типа сущности.

Например для сделки: 'SALE' = 'Продажа'

Список доступных типов сущности можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "DEAL_TYPE" }

По умолчанию — первый доступный тип сущности

categoryId
integer

Идентификатор направления (воронки) сделки.

По умолчанию — 0 (общая)

stageId
crm_status

Строковый идентификатор стадии элемента.

Например 'NEW' = 'Не обработан'.

Список доступных стадий можно узнать с помощью crm.status.list применив фильтр:

  • Если сделка находится в общей воронке (направления) — { ENTITY_ID: "DEAL_STAGE" }
  • Если сделка находится не в общей воронке (направления) — { ENTITY_ID: "DEAL_STAGE_{categoryId}" }, где
    categoryId это идентификатор воронки (направления) сделки

По умолчанию — первая доступная стадия относительно воронки

isRecurring
boolean

Является ли сделка регулярной. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — N

probability
integer

Вероятность %.

По умолчанию — null

currencyId
crm_currency

Идентификатор валюты элемента.

По умолчанию — валюта по умолчанию

isManualOpportunity
boolean

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

  • Y — ручной
  • N — автоматический

По умолчанию — N

opportunity
double

Сумма.

По умолчанию — null

taxValue
double

Сумма налога.

По умолчанию — null

companyId
crm_company

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

Список компании можно получить с помощью метода crm.item.list по entityTypeId = 4.

По умолчанию — null

contactId
crm_contact

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

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

contactIds
crm_contact[]

Список идентификаторов контакта привязанных к элементу.

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

quoteId
crm_quote

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

begindate
date

Дата начала элемента.

По умолчанию — дата создания

closedate
date

Дата окончания элемента.

По умолчанию — дата создания элемента + 7 дней

opened
boolean

Является ли элемент доступным для всех. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках crm

comments
text

Комментарий.

По умолчанию — null

assignedById
user

Идентификатор ответственного за элемент.

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

sourceId
crm_status

Строковый идентификатор источника.

Например 'CALL' = 'Звонок'.

Список доступных источников можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "SOURCE" }.

По умолчанию — Первый доступный источник

sourceDescription
text

Дополнительно об источнике.

По умолчанию — null

leadId
crm_lead

Идентификатор лида, на основании, которого создается элемент.

По умолчанию — null

additionalInfo
string

Дополнительная информация.

По умолчанию — null

originatorId
string

Внешний источник.

По умолчанию — null

originId
string

Идентификатор элемента во внешнем источнике.

По умолчанию — null

observers
user[]

Массив идентификаторов пользователей, которые будут являться Наблюдателями в элементе.

По умолчанию — null

locationId
location

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

По умолчанию — null

utmSource
string

Рекламная система. Yandex-Direct, Google-Adwords и другие.

По умолчанию — null

utmMedium
string

Тип трафика. Возможные значения:

  • CPC — объявления
  • CPM — баннеры

По умолчанию — null

utmCampaign string

Обозначение рекламной кампании.

По умолчанию — null

utmContent
string

Содержание кампании. Например, для контекстных объявлений.

По умолчанию — null

utmTerm
string

Условие поиска кампании. Например, ключевые слова контекстной рекламы.

По умолчанию — null

ufCrm...
crm_userfield

Пользовательское поле. Смотрите раздел Пользовательские поля в CRM: обзор методов

  • Значения множественных полей передаются в виде массива
  • Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла.

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

Идентификатор объекта CRM entityTypeId: 3

Название
тип

Описание

honorific
crm_status

Строковый идентификатор обращения контакта.

Например 'HNR_RU_1' = 'г-н'.

Список доступных обращений можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "HONOFIRIC" }.

По умолчанию — null

name
string

Имя.

По умолчанию — null

secondName
string

Отчество.

По умолчанию — null

lastName
string

Фамилия.

По умолчанию — null

photo
file

Фотография.

По умолчанию — null

birthdate
date

Дата рождения.

По умолчанию — null

typeId
crm_status

Строковый идентификатор типа сущности.

Например для сделки: 'SALE' = 'Продажа'.

Список доступных типов сущности можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "CONTACT_TYPE" }.

По умолчанию — первый доступный тип сущности

sourceId
crm_status

Строковый идентификатор источника.

Например 'CALL' = 'Звонок'.

Список доступных источников можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "SOURCE" }.

По умолчанию — первый доступный источник

sourceDescription
text

Дополнительно об источнике.

По умолчанию — null

post
string

Должность.

По умолчанию — null

comments
text

Комментарий.

По умолчанию — null

opened
boolean

Является ли элемент доступным для всех. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках crm

export
boolean

Участвует ли контакт в экспорте.

По умолчанию — Y

assignedById
user

Идентификатор ответственного за элемент.

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

companyId
crm_company

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

Список компаний можно получить с помощью метода crm.item.list по entityTypeId = 4.

По умолчанию — null

companyIds
crm_company

Массив идентификаторов компаний, которые будут привязаны к элементу

leadId
crm_lead

Идентификатор лида, на основании, которого создается элемент.

По умолчанию — null

originatorId
string

Внешний источник.

По умолчанию — null

originId
string

Идентификатор элемента во внешнем источнике.

По умолчанию — null

originVersion
string

Версия оригинала.

По умолчанию — null

observers
user[]

Массив идентификаторов пользователей, которые будут являться Наблюдателями в элементе.

По умолчанию — null

utmSource
string

Рекламная система. Yandex-Direct, Google-Adwords и другие.

По умолчанию — null

utmMedium
string

Тип трафика. Возможные значения:

  • CPC — объявления
  • CPM — баннеры

По умолчанию — null

utmCampaign
string

Обозначение рекламной кампании.

По умолчанию — null

utmContent
string

Содержание кампании. Например, для контекстных объявлений.

По умолчанию — null

utmTerm
string

Условие поиска кампании. Например, ключевые слова контекстной рекламы.

По умолчанию — null

ufCrm...
crm_userfield

Пользовательское поле. Смотрите раздел Пользовательские поля в CRM: обзор методов

  • Значения множественных полей передаются в виде массива
  • Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла.

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

fm
multifield[]

Массив мультиполей.

Подробнее о мультиполях можно почитать в разделе crm_multifield

Структура мультиполя:

  • typeId — Тип мультиполя
  • valueType — Тип значения
  • value — Значение

Пример:

fm: [
          {
            "valueType": "WORK",
            "value": "+79999999",
            "typeId": "PHONE"
          },
          {
            "valueType": "WORK",
            "value": "bitrix@bitrix.ru",
            "typeId": "EMAIL"
          }
        ]
        

По умолчанию — null

Идентификатор объекта CRM entityTypeId: 4

Название
тип

Описание

title
string

Название элемента.

По умолчанию генерируется по шаблону {entityTypeName} #{id}, где

  • entityTypeName — название сущности
  • id — идентификатор элемента

Например для компании с id = 13 => 'Компания #13'

typeId
crm_status

Строковый идентификатор типа сущности.

Например для сделки: 'SALE' = 'Продажа'.

Список доступных типов сущности можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "COMPANY_TYPE" }.

По умолчанию — первый доступный тип сущности

logo
file

Логотип.

По умолчанию — null

bankingDetails
string

Банковские реквизиты.

По умолчанию — null

industry
crm_status

Строковый идентификатор типа индустрии.

Например 'IT' = 'Информационные технологии'.

Список доступных типов индустрий можно узнать с помощью метода crm.status.list применив фильтр { ENTITY_ID: "INDUSTRY"}.

По умолчанию — первый доступный тип индустрии

employees
crm_status

Строковый идентификатор типа количества сотрудников.

Значение берется из списка доступных, например 'EMPLOYEES_1' = 'менее 50'.

Список доступных типов количеств сотрудников можно узнать с помощью метода crm.status.list применив фильтр { ENTITY_ID: "EMPLOYEES" }.

По умолчанию — первый доступный тип количества сотрудников

currencyId
crm_currency

Идентификатор валюты элемента.

По умолчанию — валюта по умолчанию

revenue
double

Годовой оборот.

По умолчанию — 0

opened
boolean

Является ли элемент доступным для всех. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках crm

comments
text

Комментарий.

По умолчанию — null

isMyCompany
boolean

Является ли компания моей компанией.

По умолчанию — N

assignedById
user

Идентификатор ответственного за элемент.

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

contactIds
crm_contact[]

Список идентификаторов контакта привязанных к элементу.

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

leadId
crm_lead

Идентификатор лида, на основании, которого создается элемент.

По умолчанию — null

originatorId
string

Внешний источник.

По умолчанию — null

originId
string

Идентификатор элемента во внешнем источнике.

По умолчанию — null

originVersion
string

Версия оригинала.

По умолчанию — null

observers
user[]

Массив идентификаторов пользователей, которые будут являться Наблюдателями в элементе.

По умолчанию — null

utmSource
string

Рекламная система. Yandex-Direct, Google-Adwords и другие.

По умолчанию — null

utmMedium
string

Тип трафика. Возможные значения:

  • CPC — объявления
  • CPM — баннеры

По умолчанию — null

utmCampaign
string

Обозначение рекламной кампании.

По умолчанию — null

utmContent
string

Содержание кампании. Например, для контекстных объявлений.

По умолчанию — null

utmTerm
string

Условие поиска кампании. Например, ключевые слова контекстной рекламы.

По умолчанию — null

ufCrm...
crm_userfield

Пользовательское поле. Смотрите раздел Пользовательские поля в CRM: обзор методов

  • Значения множественных полей передаются в виде массива
  • Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

fm
multifield[]

Массив мультиполей.

Подробнее о мультиполях можно почитать в разделе crm_multifield

Структура мультиполя:

  • typeId — Тип мультиполя
  • valueType — Тип значения
  • value — Значение

Пример:

fm: [
          {
            "valueType": "WORK",
            "value": "+79999999",
            "typeId": "PHONE"
          },
          {
            "valueType": "WORK",
            "value": "bitrix@bitrix.ru",
            "typeId": "EMAIL"
          }
        ]
        
        

По умолчанию — null

Идентификатор объекта CRM entityTypeId: 7

Название
тип

Описание

title
string

Название элемента.

По умолчанию генерируется по шаблону {entityTypeName} #{id}, где

  • entityTypeName — название сущности
  • id — идентификатор элемента

Например для предложения с id = 13 => 'Предложение #13'

assignedById
user

Идентификатор ответственного за элемент.

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

opened
boolean

Является ли элемент доступным для всех. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках CRM

content
text

Содержание.

По умолчанию — null

terms
text

Условия.

По умолчанию — null

comments
text

Комментарий.

По умолчанию — null

dealId
crm_deal

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

По умолчанию — null

leadId
crm_lead

Идентификатор лида, на основании, которого создается элемент.

По умолчанию — null

storageTypeId
integer

Идентификатор типа хранения. Возможные значения:

  • 1 — файл
  • 2 — WebDAV
  • 3 — диск

По умолчанию:

  1. Если установлен модуль disk -> Диск
  2. Если установлен модуль webdav -> WebDAV
  3. Файл

storageElementIds
integer

Массив файлов.

По умолчанию — null

webformId
integer

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

По умолчанию — null

companyId
crm_company

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

Список компании можно получить с помощью метода crm.item.list по entityTypeId = 4.

По умолчанию — null

contactId
crm_contact

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

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3

По умолчанию — null

contactIds
crm_contact[]

Список идентификаторов контакта привязанных к элементу.

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

locationId
location

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

По умолчанию — null

currencyId
crm_currency

Идентификатор валюты элемента.

По умолчанию — валюта по умолчанию

isManualOpportunity
boolean

Режим расчета суммы.

  • Y — ручной
  • N — автоматический

По умолчанию — N

opportunity
double

Сумма.

По умолчанию — null

taxValue
double

Сумма налога.

По умолчанию — null

stageId
crm_status

Строковый идентификатор стадии элемента.

Например 'DRAFT' = 'Новое'.

Список доступных стадий можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "QUOTE_STATUS" }.

По умолчанию — первая доступная стадия

begindate
date

Дата начала элемента.

По умолчанию — дата создания элемента

closedate
date

Дата окончания элемента.

По умолчанию — дата создания элемента + 7 дней

actualDate
date

Актуально до.

По умолчанию — дата создания элемента + 7 дней

mycompanyId
crm_company

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

По умолчанию — идентификатор первой доступной «моей» компании

utmSource
string

Рекламная система. Yandex-Direct, Google-Adwords и другие.

По умолчанию — null

utmMedium
string

Тип трафика.

  • CPC — объявления
  • CPM — баннеры

По умолчанию — null

utmCampaign
string

Обозначение рекламной кампании.

По умолчанию — null

utmContent
string

Содержание кампании. Например, для контекстных объявлений.

По умолчанию — null

utmTerm
string

Условие поиска кампании. Например, ключевые слова контекстной рекламы.

По умолчанию — null

ufCrm...
crm_userfield

Пользовательское поле. Смотрите раздел Пользовательские поля в CRM: обзор методов.

  • Значения множественных полей передаются в виде массива
  • Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла.

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

Идентификатор объекта CRM entityTypeId: 31

Название
тип

Описание

title
string

Название элемента.

По умолчанию генерируется по шаблону {entityTypeName} #{id}, где

  • entityTypeName — название сущности
  • id — идентификатор элемента

Например для счета с id = 13 => 'Счет #13'

xmlId
string

Внешний код.

По умолчанию — null

assignedById
user

Идентификатор ответственного за элемент.

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

opened
boolean

Является ли элемент доступным для всех. Возможные значения:

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках CRM

webformId
integer

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

По умолчанию — null

begindate
date

Дата начала элемента.

По умолчанию — дата создания элемента

closedate
date

Дата окончания элемента.

По умолчанию — дата создания элемента + 7 дней

companyId
crm_company

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

Список компании можно получить с помощью метода crm.item.list по entityTypeId = 4.

По умолчанию — null

contactId
crm_contact

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

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

contactIds
crm_contact[]

Список идентификаторов контакта привязанных к элементу.

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

По умолчанию — null

observers
user[]

Массив идентификаторов пользователей, которые будут являться Наблюдателями в элементе.

По умолчанию — null

stageId
crm_status

Строковый идентификатор стадии элемента.

Например 'DT31_13:N' = 'Новый'.

Список доступных стадий можно узнать с помощью crm.status.list, применив фильтр: { ENTITY_ID: "SMART_INVOICE_STAGE_{categoryId}" }, где
categoryId — идентификатор воронки счетов по умолчанию. Его можно узнать с помощью crm.category.list по entityTypeId = 31.

По умолчанию — первая доступная стадия

sourceId
crm_status

Строковый идентификатор источника.

Например 'CALL' = 'Звонок'.

Список доступных источников можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "SOURCE" }.

По умолчанию — первый доступный источник

sourceDescription
text

Дополнительно об источнике.

По умолчанию — null

currencyId
crm_currency

Идентификатор валюты элемента.

По умолчанию — валюта по умолчанию

isManualOpportunity
boolean

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

  • Y — ручной
  • N — автоматический

По умолчанию — N

opportunity
double

Сумма.

По умолчанию — null

taxValue
double

Сумма налога.

По умолчанию — null

mycompanyId
crm_company

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

По умолчанию — идентификатор первой доступной «моей» компании

comments
text

Комментарий.

По умолчанию — null

locationId
location

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

По умолчанию — null

ufCrm...
crm_userfield

Пользовательское поле. Смотрите раздел Пользовательские поля в CRM: обзор методов.

  • Значения множественных полей передаются в виде массива
  • Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла.

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

Идентификатор объекта CRM entityTypeId: можно получить методом crm.type.list или создать новый методом crm.type.add

Название
тип

Описание

title
string

Название элемента.

По умолчанию генерируется по шаблону {entityTypeName} #{id}, где

  • entityTypeName — название смарт-процесса
  • id — идентификатор элемента

Например для элемента смарт-процесса "HR" с id = 13 => 'HR #13'

xmlId
string

Внешний код.

По умолчанию — null

assignedById
user

Идентификатор ответственного за элемент.

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

opened
boolean

Является ли элемент доступным для всех.

  • Y — да
  • N — нет

По умолчанию — Y. Значение по умолчанию может быть изменено в настройках CRM

webformId
integer

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

По умолчанию — null

begindate
date

Дата начала элемента.

Доступно лишь при включенной настройке isBeginCloseDatesEnabled у соответствующего смарт-процесса.

По умолчанию — дата создания элемента

closedate
date

Дата окончания элемента.

Доступно лишь при включенной настройке isBeginCloseDatesEnabled у соответствующего смарт-процесса.

По умолчанию — дата создания элемента + 7 дней

companyId
crm_company

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

Список компании можно получить с помощью метода crm.item.list по entityTypeId = 4.

Доступно лишь при включенной настройке isClientEnabled у соответствующего смарт-процесса.

По умолчанию — null

contactId
crm_contact

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

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

Доступно лишь при включенной настройке isClientEnabled у соответствующего смарт-процесса.

По умолчанию — null

contactIds
crm_contact[]

Список идентификаторов контакта привязанных к элементу.

Список контактов можно получить с помощью метода crm.item.list по entityTypeId = 3.

Доступно лишь при включенной настройке isClientEnabled у соответствующего смарт-процесса.

По умолчанию — null

observers
user[]

Массив идентификаторов пользователей, которые будут являться Наблюдателями в элементе.

Доступно лишь при включенной настройке isObserversEnabled у соответствующего смарт-процесса.

По умолчанию — null

categoryId
crm_category

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

Список доступных воронок можно узнать с помощью crm.category.list применив соответсвующий entityTypeId

stageId
crm_status

Строковый идентификатор стадии элемента.

Например 'DT1220_30:NEW' = 'Начало'.

Список доступных стадий можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "DYNAMIC_{entityTypeId}_STAGE_{categoryId}" }, где

  • entityTypeId — идентификатор типа смарт-процесса
  • categoryId — идентификатор воронки (направления) элемента смарт-процесса

Подробнее о воронках (направлениях).

Доступно лишь при включенной настройке isStagesEnabled у соответствующего смарт-процесса.

По умолчанию — первая доступная стадия относительно воронки

sourceId
crm_status

Строковый идентификатор источника. (например 'CALL' = 'Звонок').

Список доступных источников можно узнать с помощью crm.status.list применив фильтр { ENTITY_ID: "SOURCE" }.

Доступно лишь при включенной настройке isSourceEnabled у соответствующего смарт-процесса.

По умолчанию — первый доступный источник

sourceDescription
text

Дополнительно об источнике.

Доступно лишь при включенной настройке isSourceEnabled у соответствующего смарт-процесса.

По умолчанию — null

currencyId
crm_currency

Идентификатор валюты элемента.

Доступно лишь при включенной настройке isLinkWithProductsEnabled у соответствующего смарт-процесса.

По умолчанию — валюта по умолчанию

isManualOpportunity
boolean

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

  • Y — ручной
  • N — автоматический

Доступно лишь при включенной настройке isLinkWithProductsEnabled у соответствующего смарт-процесса.

По умолчанию — N

opportunity
double

Сумма.

Доступно лишь при включенной настройке isLinkWithProductsEnabled у соответствующего смарт-процесса.

По умолчанию — null

taxValue
double

Сумма налога.

Доступно лишь при включенной настройке isLinkWithProductsEnabled у соответствующего смарт-процесса.

По умолчанию — null

mycompanyId
crm_company

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

Доступно лишь при включенной настройке isMycompanyEnabled у соответствующего смарт-процесса.

По умолчанию — Идентификатор первой доступной «моей» компании

ufCrm...
crm_userfield

Пользовательское поле. Смотрите раздел Пользовательские поля в CRM: обзор методов.

  • Значения множественных полей передаются в виде массива
  • Чтобы загрузить файл, в качестве значения пользовательского поля необходимо передать массив, где первый элемент — это имя файла, а второй — это закодированный в base64 контент файла.

parentId...
crm_entity

Поле-родитель. Элемент другого типа объекта CRM, который привязан к данному элементу.

Каждое такое поле имеет код parentId + {parentEntityTypeId}

Настройки смарт-процесса

Подробнее об управлении настройками смарт-процессов Вы можете прочитать в Смарт-процессы: обзор методов

Примеры кода

Как использовать примеры в документации

  1. Пример создания сделки

    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"entityTypeId":2,"fields":{"title":"Новая сделка (специально для примера REST методов)","typeId":"SERVICE","categoryId":9,"stageId":"C9:UC_KN8KFI","isReccurring":"Y","probability":50,"currencyId":"RUB","isManualOpportunity":"Y","opportunity":999.99,"taxValue":99.9,"companyId":5,"contactId":4,"contactIds":[4,5],"quoteId":7,"begindate":"formatDate(monthAgo)","closedate":"formatDate(twelveDaysInAdvance)","opened":"N","comments":"commentsExample","assignedById":6,"sourceId":"WEB","sourceDescription":"Тут должно быть дополнительное описание об источнике","leadId":102,"additionalInfo":"Тут должна быть дополнительная информация","observers":[2,3],"utmSource":"google","utmMedium":"CPC","ufCrm_1721244707107":1111.1,"parentId1220":2}}' \
            https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.add
            
    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{"entityTypeId":2,"fields":{"title":"Новая сделка (специально для примера REST методов)","typeId":"SERVICE","categoryId":9,"stageId":"C9:UC_KN8KFI","isReccurring":"Y","probability":50,"currencyId":"RUB","isManualOpportunity":"Y","opportunity":999.99,"taxValue":99.9,"companyId":5,"contactId":4,"contactIds":[4,5],"quoteId":7,"begindate":"formatDate(monthAgo)","closedate":"formatDate(twelveDaysInAdvance)","opened":"N","comments":"commentsExample","assignedById":6,"sourceId":"WEB","sourceDescription":"Тут должно быть дополнительное описание об источнике","leadId":102,"additionalInfo":"Тут должна быть дополнительная информация","observers":[2,3],"utmSource":"google","utmMedium":"CPC","ufCrm_1721244707107":1111.1,"parentId1220":2},"auth":"**put_access_token_here**"}' \
            https://**put_your_bitrix24_address**/rest/crm.item.add
            
    const formatDate = (date) => {
                return date.toISOString().slice(0, 10);
            };
            
            const day = 60 * 60 * 24 * 1000;
            
            const now = new Date();
            const twelveDaysInAdvance = new Date(now.getTime() + 12 * day);
            const monthAgo = new Date(now.getTime() - 30 * day);
            
            const commentsExample = `
            Пример комментария внутри сделки
            
            [B]Жирный текст[/B]
            [I]Курсив[/I]
            [U]Подчеркнутый[/U]
            [S]Зачеркнутый[/S]
            [B][I][U][S]Микс[/S][/U][/I][/B]
            
            [LIST]
            [*]Элемент списка #1
            [*]Элемент списка #2
            [*]Элемент списка #3
            [/LIST]
            
            [LIST=1]
            [*]Нумерованный элемент списка #1
            [*]Нумерованный элемент списка #2
            [*]Нумерованный элемент списка #3
            [/LIST]
            `;
            
            BX24.callMethod(
                'crm.item.add', 
                {
                    entityTypeId: 2,
                    fields: 
                    {
                        title: "Новая сделка (специально для примера REST методов)",
                        typeId: "SERVICE",
                        categoryId: 9,
                        stageId: "C9:UC_KN8KFI",
                        isReccurring: "Y",
                        probability: 50,
                        currencyId: "RUB",
                        isManualOpportunity: "Y",
                        opportunity: 999.99,
                        taxValue: 99.9,
                        companyId: 5,
                        contactId: 4,
                        contactIds: [4, 5],
                        quoteId: 7,
                        begindate: formatDate(monthAgo),
                        closedate: formatDate(twelveDaysInAdvance),
                        opened: "N",
                        comments: commentsExample,
                        assignedById: 6,
                        sourceId: "WEB",
                        sourceDescription: "Тут должно быть дополнительное описание об источнике",
                        leadId: 102,
                        additionalInfo: "Тут должна быть дополнительная информация",
                        observers: [2, 3],
                        utmSource: "google",
                        utmMedium: "CPC",
                        ufCrm_1721244707107: 1111.1,
                        parentId1220: 2,
                    },
                },
                (result) => 
                {
                    result.error() 
                        ? console.error(result.error()) 
                        : console.info(result.data())
                    ;
                }
            );
            
    require_once('crest.php');
            
            $result = CRest::call(
                'crm.item.add',
                [
                    'entityTypeId' => 2,
                    'fields' => [
                        'title' => "Новая сделка (специально для примера REST методов)",
                        'typeId' => "SERVICE",
                        'categoryId' => 9,
                        'stageId' => "C9:UC_KN8KFI",
                        'isReccurring' => "Y",
                        'probability' => 50,
                        'currencyId' => "RUB",
                        'isManualOpportunity' => "Y",
                        'opportunity' => 999.99,
                        'taxValue' => 99.9,
                        'companyId' => 5,
                        'contactId' => 4,
                        'contactIds' => [4, 5],
                        'quoteId' => 7,
                        'begindate' => formatDate(monthAgo),
                        'closedate' => formatDate(twelveDaysInAdvance),
                        'opened' => "N",
                        'comments' => $commentsExample,
                        'assignedById' => 6,
                        'sourceId' => "WEB",
                        'sourceDescription' => "Тут должно быть дополнительное описание об источнике",
                        'leadId' => 102,
                        'additionalInfo' => "Тут должна быть дополнительная информация",
                        'observers' => [2, 3],
                        'utmSource' => "google",
                        'utmMedium' => "CPC",
                        'ufCrm_1721244707107' => 1111.1,
                        'parentId1220' => 2,
                    ],
                ]
            );
            
            echo '<PRE>';
            print_r($result);
            echo '</PRE>';
            
    try {
               $entityTypeId = 1; // Example entity type ID
               $fields = [
                   'title' => 'New Item',
                   'createdTime' => (new DateTime())->format(DateTime::ATOM),
                   'updatedTime' => (new DateTime())->format(DateTime::ATOM),
                   'begindate' => (new DateTime())->format(DateTime::ATOM),
                   'closedate' => (new DateTime())->format(DateTime::ATOM),
                   // Add other necessary fields as required
               ];
            
               $result = $serviceBuilder
                   ->getCRMScope()
                   ->item()
                   ->add($entityTypeId, $fields);
            
               print("ID: " . $result->item()->id . PHP_EOL);
               print("Title: " . $result->item()->title . PHP_EOL);
               print("Created By: " . $result->item()->createdBy . PHP_EOL);
               print("Updated By: " . $result->item()->updatedBy . PHP_EOL);
               print("Created Time: " . $result->item()->createdTime->format(DateTime::ATOM) . PHP_EOL);
               print("Updated Time: " . $result->item()->updatedTime->format(DateTime::ATOM) . PHP_EOL);
            } catch (Throwable $e) {
               print("Error: " . $e->getMessage() . PHP_EOL);
            }
            
  2. Пример создания элемента смарт-процесса, у которого есть некоторый набор пользовательских полей

    Пользовательские поля, участвующие в примере
    {
            "ufCrm44_1721812760630": {
                "type": "string",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "title": "Пользовательское поле (строка)",
                "listLabel": "Пользовательское поле (строка)",
                "formLabel": "Пользовательское поле (строка)",
                "filterLabel": "Пользовательское поле (строка)",
                "settings": {
                "SIZE": 20,
                "ROWS": 1,
                "REGEXP": "",
                "MIN_LENGTH": 0,
                "MAX_LENGTH": 0,
                "DEFAULT_VALUE": ""
                },
                "upperName": "UF_CRM_44_1721812760630"
            },
            "ufCrm44_1721812814433": {
                "type": "enumeration",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "items": [
                {
                    "ID": "79",
                    "VALUE": "Элемент списка #1"
                },
                {
                    "ID": "80",
                    "VALUE": "Элемент списка #2"
                },
                {
                    "ID": "81",
                    "VALUE": "Элемент списка #3"
                },
                {
                    "ID": "82",
                    "VALUE": "Элемент списка #4"
                }
                ],
                "title": "Пользовательское поле (список)",
                "listLabel": "Пользовательское поле (список)",
                "formLabel": "Пользовательское поле (список)",
                "filterLabel": "Пользовательское поле (список)",
                "settings": {
                "DISPLAY": "LIST",
                "LIST_HEIGHT": 1,
                "CAPTION_NO_VALUE": "",
                "SHOW_NO_VALUE": "Y"
                },
                "upperName": "UF_CRM_44_1721812814433"
            },
            "ufCrm44_1721812853419": {
                "type": "date",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "title": "Пользовательское поле (дата)",
                "listLabel": "Пользовательское поле (дата)",
                "formLabel": "Пользовательское поле (дата)",
                "filterLabel": "Пользовательское поле (дата)",
                "settings": {
                "DEFAULT_VALUE": {
                    "TYPE": "NONE",
                    "VALUE": ""
                }
                },
                "upperName": "UF_CRM_44_1721812853419"
            },
            "ufCrm44_1721812885588": {
                "type": "url",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": true,
                "isDynamic": true,
                "title": "Множественное пользовательское поле (ссылка)",
                "listLabel": "Множественное пользовательское поле (ссылка)",
                "formLabel": "Множественное пользовательское поле (ссылка)",
                "filterLabel": "Множественное пользовательское поле (ссылка)",
                "settings": {
                "POPUP": "Y",
                "SIZE": 20,
                "MIN_LENGTH": 0,
                "MAX_LENGTH": 0,
                "DEFAULT_VALUE": "",
                "ROWS": 1
                },
                "upperName": "UF_CRM_44_1721812885588"
            },
            "ufCrm44_1721812898903": {
                "type": "file",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "title": "Пользовательское поле (файл)",
                "listLabel": "Пользовательское поле (файл)",
                "formLabel": "Пользовательское поле (файл)",
                "filterLabel": "Пользовательское поле (файл)",
                "settings": {
                "SIZE": 20,
                "LIST_WIDTH": 0,
                "LIST_HEIGHT": 0,
                "MAX_SHOW_SIZE": 0,
                "MAX_ALLOWED_SIZE": 0,
                "EXTENSIONS": [],
                "TARGET_BLANK": "Y"
                },
                "upperName": "UF_CRM_44_1721812898903"
            },
            "ufCrm44_1721812915476": {
                "type": "money",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "title": "Пользовательское поле (деньги)",
                "listLabel": "Пользовательское поле (деньги)",
                "formLabel": "Пользовательское поле (деньги)",
                "filterLabel": "Пользовательское поле (деньги)",
                "settings": {
                "DEFAULT_VALUE": ""
                },
                "upperName": "UF_CRM_44_1721812915476"
            },
            "ufCrm44_1721812935209": {
                "type": "boolean",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "title": "Пользовательское поле (Да/Нет)",
                "listLabel": "Пользовательское поле (Да/Нет)",
                "formLabel": "Пользовательское поле (Да/Нет)",
                "filterLabel": "Пользовательское поле (Да/Нет)",
                "settings": {
                "DEFAULT_VALUE": 0,
                "DISPLAY": "CHECKBOX",
                "LABEL": [
                    "",
                    ""
                ],
                "LABEL_CHECKBOX": {
                    "en": "Пользовательское поле (Да/Нет)",
                    "ru": "Пользовательское поле (Да/Нет)",
                    "th": "Пользовательское поле (Да/Нет)",
                    "la": "Пользовательское поле (Да/Нет)",
                    "tc": "Пользовательское поле (Да/Нет)",
                    "sc": "Пользовательское поле (Да/Нет)",
                    "br": "Пользовательское поле (Да/Нет)",
                    "ar": "Пользовательское поле (Да/Нет)",
                    "fr": "Пользовательское поле (Да/Нет)",
                    "vn": "Пользовательское поле (Да/Нет)",
                    "pl": "Пользовательское поле (Да/Нет)",
                    "tr": "Пользовательское поле (Да/Нет)",
                    "ja": "Пользовательское поле (Да/Нет)",
                    "it": "Пользовательское поле (Да/Нет)",
                    "ms": "Пользовательское поле (Да/Нет)",
                    "id": "Пользовательское поле (Да/Нет)"
                }
                },
                "upperName": "UF_CRM_44_1721812935209"
            },
            "ufCrm44_1721812948498": {
                "type": "double",
                "isRequired": false,
                "isReadOnly": false,
                "isImmutable": false,
                "isMultiple": false,
                "isDynamic": true,
                "title": "Пользовательское поле (число)",
                "listLabel": "Пользовательское поле (число)",
                "formLabel": "Пользовательское поле (число)",
                "filterLabel": "Пользовательское поле (число)",
                "settings": {
                "PRECISION": 2,
                "SIZE": 20,
                "MIN_VALUE": 0,
                "MAX_VALUE": 0,
                "DEFAULT_VALUE": null
                },
                "upperName": "UF_CRM_44_1721812948498"
            }
            }
            
    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{
                "entityTypeId": 1302,
                "fields": {
                    "ufCrm44_1721812760630": "Строка для пользовательского поля типа Строка",
                    "ufCrm44_1721812814433": 81,
                    "ufCrm44_1721812853419": "'"$(date '+%Y-%m-%d')"'",
                    "ufCrm44_1721812885588": [
                        "example.com",
                        "second-example.com"
                    ],
                    "ufCrm44_1721812898903": [
                        "green_pixel.png",
                        "iVBORw0KGgoAAAANSUhEUgAAAIAAAAAMCAYAAACqTLVoAAAALklEQVR42u3SAQEAAAQDsEsuOj3YMqwy6fBWCSCAAAIgAAIgAAIgAAIgAAJw3QLOrRH1U/gU4gAAAABJRU5ErkJggg=="
                    ],
                    "ufCrm44_1721812915476": "300|RUB",
                    "ufCrm44_1721812935209": "Y",
                    "ufCrm44_1721812948498": 9999.9
                }
            }' \
            https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.add
            
    curl -X POST \
            -H "Content-Type: application/json" \
            -H "Accept: application/json" \
            -d '{
                "entityTypeId": 1302,
                "fields": {
                    "ufCrm44_1721812760630": "Строка для пользовательского поля типа Строка",
                    "ufCrm44_1721812814433": 81,
                    "ufCrm44_1721812853419": "'"$(date '+%Y-%m-%d')"'",
                    "ufCrm44_1721812885588": [
                        "example.com",
                        "second-example.com"
                    ],
                    "ufCrm44_1721812898903": [
                        "green_pixel.png",
                        "iVBORw0KGgoAAAANSUhEUgAAAIAAAAAMCAYAAACqTLVoAAAALklEQVR42u3SAQEAAAQDsEsuOj3YMqwy6fBWCSCAAAIgAAIgAAIgAAIgAAJw3QLOrRH1U/gU4gAAAABJRU5ErkJggg=="
                    ],
                    "ufCrm44_1721812915476": "300|RUB",
                    "ufCrm44_1721812935209": "Y",
                    "ufCrm44_1721812948498": 9999.9
                },
                "auth": "**put_access_token_here**"
            }' \
            https://**put_your_bitrix24_address**/rest/crm.item.add
            
    const greenPixelInBase64 = "iVBORw0KGgoAAAANSUhEUgAAAIAAAAAMCAYAAACqTLVoAAAALklEQVR42u3SAQEAAAQDsEsuOj3YMqwy6fBWCSCAAAIgAAIgAAIgAAIgAAJw3QLOrRH1U/gU4gAAAABJRU5ErkJggg==";
            
            BX24.callMethod(
                'crm.item.add', 
                {
                    entityTypeId: 1302,
                    fields: {
                        ufCrm44_1721812760630: "Строка для пользовательского поля типа Строка",
                        ufCrm44_1721812814433: 81,
                        ufCrm44_1721812853419: (new Date()).toISOString().slice(0, 10),
                        ufCrm44_1721812885588: [
                            "example.com",
                            "second-example.com",
                        ],
                        ufCrm44_1721812898903: [
                            "green_pixel.png",
                            greenpixelBase64,
                        ],
                        ufCrm44_1721812915476: "300|RUB",
                        ufCrm44_1721812935209: "Y",
                        ufCrm44_1721812948498: 9999.9,
                    },
                },
                (result) => 
                {
                    result.error() 
                        ? console.error(result.error()) 
                        : console.info(result.data())
                    ;
                }
            );
            
    require_once('crest.php');
            
            $result = CRest::call(
                'crm.item.add',
                [
                    'entityTypeId' => 1302,
                    'fields' => [
                        'ufCrm44_1721812760630' => "Строка для пользовательского поля типа Строка",
                        'ufCrm44_1721812814433' => 81,
                        'ufCrm44_1721812853419' => date('Y-m-d'),
                        'ufCrm44_1721812885588' => [
                            "example.com",
                            "second-example.com",
                        ],
                        'ufCrm44_1721812898903' => [
                            "green_pixel.png",
                            "iVBORw0KGgoAAAANSUhEUgAAAIAAAAAMCAYAAACqTLVoAAAALklEQVR42u3SAQEAAAQDsEsuOj3YMqwy6fBWCSCAAAIgAAIgAAIgAAIgAAJw3QLOrRH1U/gU4gAAAABJRU5ErkJggg==",
                        ],
                        'ufCrm44_1721812915476' => "300|RUB",
                        'ufCrm44_1721812935209' => "Y",
                        'ufCrm44_1721812948498' => 9999.9,
                    ],
                ]
            );
            
            echo '<PRE>';
            print_r($result);
            echo '</PRE>';
            

Обработка ответа

HTTP-статус: 200

Примечание

Выключенные поля всегда отдают null.

{
            "result": {
                "item": {
                    "id": 342,
                    "createdTime": "2024-07-18T14:00:14+02:00",
                    "dateCreateShort": null,
                    "updatedTime": "2024-07-18T14:00:14+02:00",
                    "dateModifyShort": null,
                    "createdBy": 1,
                    "updatedBy": 1,
                    "assignedById": 6,
                    "opened": "N",
                    "leadId": 102,
                    "companyId": 5,
                    "contactId": 4,
                    "quoteId": 7,
                    "title": "Новая сделка (специально для примера rest методов)",
                    "productId": null,
                    "categoryId": 9,
                    "stageId": "C9:UC_KN8KFI",
                    "stageSemanticId": "P",
                    "isNew": "N",
                    "isRecurring": "N",
                    "isReturnCustomer": "N",
                    "isRepeatedApproach": "Y",
                    "closed": "N",
                    "typeId": "SERVICE",
                    "opportunity": 999.99,
                    "isManualOpportunity": "Y",
                    "taxValue": 0,
                    "currencyId": "RUB",
                    "probability": 50,
                    "comments": "\nПример комментария внутри сделки\n\n[B]Жирный текст[/B]\n[I]Курсив[/I]\n[U]Подчеркнутый[/U]\n[S]Зачеркнутый[/S]\n[B][I][U][S]Микс[/S][/U][/I][/B]\n\n[LIST]\n[*]Элемент списка #1\n[*]Элемент списка #2\n[*]Элемент списка #3\n[/LIST]\n\n[LIST=1]\n[*]Нумерованный элемент списка #1\n[*]Нумерованный элемент списка #2\n[*]Нумерованный элемент списка #3\n[/LIST]\n",
                    "begindate": "2024-06-18T02:00:00+02:00",
                    "begindateShort": null,
                    "closedate": "2024-07-30T02:00:00+02:00",
                    "closedateShort": null,
                    "eventDate": null,
                    "eventDateShort": null,
                    "eventId": null,
                    "eventDescription": null,
                    "locationId": null,
                    "webformId": null,
                    "sourceId": "WEB",
                    "sourceDescription": "Тут должно быть дополнительное описание об источнике",
                    "originatorId": null,
                    "originId": null,
                    "additionalInfo": "Тут должна быть дополнительная информация",
                    "searchContent": null,
                    "orderStage": null,
                    "movedBy": 1,
                    "movedTime": "2024-07-18T14:00:14+02:00",
                    "lastActivityBy": 1,
                    "lastActivityTime": "2024-07-18T14:00:14+02:00",
                    "isWork": null,
                    "isWon": null,
                    "isLose": null,
                    "receivedAmount": null,
                    "lostAmount": null,
                    "hasProducts": null,
                    "ufCrm_1721244707107": 1111.1,
                    "parentId1220": 2,
                    "utmSource": "google",
                    "utmMedium": "CPC",
                    "utmCampaign": null,
                    "utmContent": null,
                    "utmTerm": null,
                    "observers": [
                        2,
                        3
                    ],
                    "contactIds": [
                        4,
                        5
                    ],
                    "entityTypeId": 2
                }
            },
            "time": {
                "start": 1721304013.245896,
                "finish": 1721304015.555471,
                "duration": 2.309574842453003,
                "processing": 1.8328988552093506,
                "date_start": "2024-07-18T14:00:13+02:00",
                "date_finish": "2024-07-18T14:00:15+02:00",
                "operating": 1.8328571319580078
            }
        }
        

По умолчанию имена пользовательских полей передаются и возвращаются в camelCase, например ufCrm2_1639669411830.
При передаче параметра useOriginalUfNames со значением Y пользовательские поля будут возвращаться с оригинальными именами, например UF_CRM_2_1639669411830.

Возвращаемые данные

Название
тип

Описание

result
object

Корневой элемент ответа, содержит единственный ключ item

item
item

Информация о созданном элементе, описание полей

time
time

Информация о времени выполнения запроса

Обработка ошибок

HTTP-статус: 400, 403

{
            "error": "NOT_FOUND",
            "error_description": "Смарт-процесс не найден"
        }
        

Название
тип

Описание

error
string

Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания

error_description
error_description

Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде

Возможные коды ошибок

Статус

Код

Описание

Значение

403

allowed_only_intranet_user

Действие разрешено только интранет-пользователям

Пользователь не является интранет-пользователем

400

NOT_FOUND

Смарт-процесс не найден

Возникает, при передаче невалидного entityTypeId

400

ACCESS_DENIED

Доступ запрещен

У пользователя нет прав на добавление элементов типа entityTypeId

400

CRM_FIELD_ERROR_VALUE_NOT_VALID

Неверное значение поля "field"

Передано неправильное значения поля field

400

100

Expected iterable value for multiple field, but got type instead

В одно из множественных полей было передано значения типа type, хотя ожидался итерируемый тип

400

CREATE_DYNAMIC_ITEM_RESTRICTED

Вы не можете создать новый элемент из-за ограничений вашего тарифа

Ограничения тарифа не позволяют создавать элементы смарт-процессов

Статусы и коды системных ошибок

HTTP-статус: 20x, 40x, 50x

Описанные ниже ошибки могут возникнуть при вызове любого метода

Статус

Код
Текст ошибки

Описание

500

INTERNAL_SERVER_ERROR
Internal server error

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

500

ERROR_UNEXPECTED_ANSWER
Server returned an unexpected response

Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24

503

QUERY_LIMIT_EXCEEDED
Too many requests

Превышен лимит на интенсивность запросов

405

ERROR_BATCH_METHOD_NOT_ALLOWED
Method is not allowed for batch usage

Текущий метод не разрешен для вызова с помощью batch

400

ERROR_BATCH_LENGTH_EXCEEDED
Max batch length exceeded

Превышена максимальная длина параметров, переданных в метод batch

401

NO_AUTH_FOUND
Wrong authorization data

Неверный access-токен или код вебхука

400

INVALID_REQUEST
Https required

Для вызовов методов требуется использовать протокол HTTPS

503

OVERLOAD_LIMIT
REST API is blocked due to overload

REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24

403

ACCESS_DENIED
REST API is available only on commercial plans

REST API доступен только на коммерческих планах

403

INVALID_CREDENTIALS
Invalid request credentials

У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав

404

ERROR_MANIFEST_IS_NOT_AVAILABLE
Manifest is not available

Манифест недоступен

403

insufficient_scope
The request requires higher privileges than provided by the webhook token

Запрос требует более высоких привилегий, чем предоставляет токен вебхука

401

expired_token
The access token provided has expired

Предоставленный access-токен доступа истек

403

user_access_error
The user does not have access to the application

Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям

500

PORTAL_DELETED
Portal was deleted

Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта

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