Skip to content

Latest commit

 

History

History
434 lines (383 loc) · 24.7 KB

data-types.md

File metadata and controls

434 lines (383 loc) · 24.7 KB

Типы данных и структура объектов в REST API CRM

{% if build == 'dev' %}

{% note alert "TO-DO не выгружается на prod" %}

  • Сделать ссылки с catalog_product.id и catalog_measure.code на справочник, когда появится

{% endnote %}

{% endif %}

Базовые типы данных перечислены в отдельной статье.

В этой статье рассмотрим типы данных и структуру объектов, характерные именно для crm.

Типы данных

#| || Тип | Описания и значения || || crm_status | Строковый идентификатор элемента справочника CRM (например, NEW). Получить возможные значения конкретного справочника можно с помощью метода crm.status.list с фильтром по ENTITY_ID. || || crm_lead | Целочисленный идентификатор лида CRM. Получить информацию о лиде можно с помощью метода crm.lead.get. || || crm_deal | Целочисленный идентификатор сделки CRM. Получить информацию о сделке можно с помощью метода crm.deal.get. || || crm_contact | Целочисленный идентификатор контакта CRM. Получить информацию о контакте можно с помощью метода crm.contact.get. || || crm_company | Целочисленный идентификатор компании CRM. Получить информацию о компании можно с помощью метода crm.company.get. || || crm_quote | Целочисленный идентификатор коммерческого предложения CRM. Получить информацию о коммерческом предложении можно с помощью метода crm.quote.get. || || crm_category | Целочисленный идентификатор воронки (направления) CRM. Получить информацию о воронке (направлении) можно с помощью метода crm.category.get || || crm_entity| Целочисленный идентификатор элемента некоторого объекта CRM. Поля с таким типом явно содержат в себе информацию к какому объекту CRM они принадлежат. Например, поля вида parentId{entityTypeId}, содержат внутри своего названия идентификатор типа сущности CRM. Получить информацию об элементе можно с помощью метода crm.item.get передав entityTypeId из названия поля и id из его значения || || lang_map | Объект формата:

{
    lang_1: value_1,
    lang_2: value_2,
    ..
    lang_n: value_n,
}

где lang_n - Идентификатор языка value_n - Значение для языка lang_n || || crm_item_product_row | Целочисленный идентификатор товарной позиции объекта CRM. Получить идентификаторы товарных позиций можно с помощью метода crm.item.productrow.list || || crm_multifield | Объект, описывающий «множественное поле». Множественные поля применяются для хранения телефонов, email-адресов и другой контактной информации. В лидах, контактах и компаниях полями этого типа являются PHONE, EMAIL, WEB и IM. || || crm_currency | Объект, описывающий валюту || || crm_currency_localization | Объект, описывающий локализацию валюты || || crm_orderentity | Объект, описывающий связь CRM с заказами интернет-магазина || || type | Объект, описывающий пользовательский тип объекта CRM (смарт-процесс) || || type.relations | Объект, содержащий в себе связи к другим сущностям CRM || || relation | Объект, описывающий привязанный элемент CRM || || type.linkedUserFields | Объект, описывающий набор полей, в которых должен отображаться смарт-процесс || |#

Структура объектов

crm_multifield

#| || Значение тип | Описание || || ID integer | Идентификатор значения множественного поля || || TYPE_ID string | Тип множественного поля. Может принимать значения PHONE, EMAIL, WEB, IM, LINK. || || VALUE string | Строковое значение множественного поля. || || VALUE string | Строковое значение множественного поля. || || VALUE_TYPE string | Тип значения множественного поля. Может принимать значения WORK, MOBILE, FAX, HOME, PAGER, MAILING, OTHER для телефона, WORK, HOME, MAILING, OTHER для почты, WORK, HOME, FACEBOOK, VK, LIVEJOURNAL, TWITTER, OTHER для сайта, FACEBOOK, TELEGRAM, VK, SKYPE, VIBER, INSTAGRAM, BITRIX24, OPENLINE, IMOL, ICQ, MSN, JABBER, OTHER для мессенджера. || |#

crm_item_product_row

#| || Значение тип | Описание || || id integer | Идентификатор товарной позиции || || ownerId integer | Идентификатор объекта CRM || || ownerType string | Идентификатор типа объекта CRM || || productId catalog_product.id | Идентификатор товара из каталога || || productName string | Название товара в товарной позиции || || price double | Цена за единицу товарной позиции с учетом скидок и налогов || || priceAccount double | Стоимость за единицу товарной позиции с учетом скидок и налогов, сконвертированная в валюту отчетов || || priceExclusive double | Стоимость за единицу товарной позиции с учетом скидок, но без учета налогов || || priceNetto double | Стоимость за единицу товарной позиции без учета скидок и без учета налогов || || priceBrutto double | Стоимость за единицу товарной позиции с учетом налогов, но без учета скидок || || quantity double | Количество товара || || discountTypeId integer | Тип скидки Возможные значения:

  • 1 — абсолютное значение
  • 2 — процентное значение || || discountRate double | Значение скидки в процентах || || discountSum double | Абсолютное значение скидки || || taxRate double | Ставка налога в процентах || || taxIncluded string | Индикатор того, включен ли налог в стоимость Возможные значения:
  • Y – налог включен
  • N – налог не включен || || customized string | Устаревшее || || measureCode catalog_measure.code | Код единицы измерения || || measureName string | Текстовое представление единицы измерения (например - шт, кг, м, л и т.д.) || || sort integer | Сортировка || || xmlId string | Внешний идентификатор товарной позиции || || type integer | Тип товара Возможные значения:
  • 1 - Простой товар
  • 2 - Комплект
  • 3 - Товар с торговыми предложениями
  • 4 - Торговое предложение
  • 5 - Торговое предложение, у которого нет товара (не указан или удален)
  • 6 - Специфический тип, означает невалидный товар с торговыми предложениями
  • 7 — Услуга || |#

crm_currency

#| || Значение тип | Описание || || AMOUNT double | Курс обмена по отношению к базовой валюте Для базовой валюты всегда равен 1. Точность — 4 знака после запятой || || AMOUNT_CNT integer | Номинал. Для базовой валюты всегда равен 1 || || BASE string | Признак, является ли валюта базовой (Y/N) || || CURRENCY string | Идентификатор валюты. Соответствует стандарту ISO 4217 || || DATE_UPDATE datetime | Дата последнего изменения || || SORT integer | Сортировка || || LID string | Код языка, для которого возвращаются параметры локализации || || DECIMALS integer | Число десятичных знаков дробной части (параметр локализации) || || DEC_POINT string | Десятичная точка при выводе (параметр локализации) || || FORMAT_STRING string | Шаблон формата (параметр локализации) || || FULL_NAME string | Название валюты (параметр локализации) || || THOUSANDS_SEP string | Разделитель триад (параметр локализации) || || LANG object | Локализации валюты. Объект со списком доступных локализаций в формате {"lang_1": "value_1", ... "lang_N": "value_N"}, где lang_N — идентификатор языка, а value — объект типа crm_currency_localization. Идентификатор языка — строка из двух латинских букв. Возможные значения смотрите в таблице идентификаторов языков || |#

crm_currency_localization

#| || Значение тип | Описание || || DECIMALS integer | Число десятичных знаков дробной части.

Значение по умолчанию — 2 || || DEC_POINT string | Десятичная точка при выводе.

Значение по умолчанию — . (символ точки) || || FORMAT_STRING string | Шаблон формата. Должен содержать символ # — вместо него будет подставлено значение цены.

Значение по умолчанию — #.

Примеры шаблонов для суммы 1000:

  • $ # — $ 1000
  • # руб. — 1000 руб.
  • € # — € 1000 || || FULL_NAME string | Название валюты.

Значение по умолчанию — crm_currency.CURRENCY || || HIDE_ZERO string | Признак, скрывать незначащие нули или нет (Y/N).

Значение по умолчанию — N || || THOUSANDS_SEP string | Разделитель триад.

Значение по умолчанию — (пробел) || || THOUSANDS_VARIANT string | Код разделителя триад.

Значение по умолчанию — S.

При создании или изменении локализации, если указано значение для поля THOUSANDS_VARIANT, то значение в THOUSANDS_SEP будет проигнорировано и заменено согласно списку:

  • N — пусто, разделитель триад отсутствует. Пример: 12345678
  • C — запятая. Пример: 12,345,678
  • D — точка. Пример: 12.345.678
  • S — пробел. Пример: 12 345 678
  • B — неразрывный пробел. Пример: 12 345 678 От предыдущего варианта отличается тем, что при переносе строк результат не разбивается на части

Если разделитель триад не нужен, необходимо явно передавать поле THOUSANDS_VARIANT со значением N. Пустая строка в поле THOUSANDS_SEP не допускается. || |#

crm_orderentity

#| || Значение тип | Описание || || OWNER_ID integer | Идентификатор объекта CRM || || OWNER_TYPE_ID integer | Идентификатор типа объекта CRM || || ORDER_ID sale_order.id | Идентификатор заказа || |#

type

#| || Значение тип | Описание || || id integer | Идентификатор смарт-процесса || || title string | Название смарт-процесса || || code string | Символьный код || || createdBy integer | Идентификатор пользователя, который создал данный смарт-процесс || || entityTypeId integer | Идентификатор типа сущности || || isCategoriesEnabled boolean | Включены ли свои воронки и туннели продаж || || isStagesEnabled
boolean | Включено ли использование своих стадий и канбана || || isBeginCloseDatesEnabled boolean | Включены ли поля Дата начала и Дата завершения || || isClientEnabled
boolean | Включено ли поле Клиент || || isUseInUserfieldEnabled boolean | Включено ли использование смарт-процесса в пользовательском поле || || isLinkWithProductsEnabled boolean | Включена ли привязка товаров каталога || || isMycompanyEnabled boolean | Включено ли поле Реквизиты вашей компании || || isDocumentsEnabled boolean | Включена ли печать документов || || isSourceEnabled
boolean | Включены ли поля Источник и Дополнительно об источнике || || isObserversEnabled boolean | Включено ли поле Наблюдатели || || isRecyclebinEnabled boolean | Включено ли использование корзины || || isAutomationEnabled boolean | Включены ли роботы и триггеры || || isBizProcEnabled
boolean | Включено ли использование дизайнера бизнес процессов || || isSetOpenPermissions
boolean | Делать ли новые воронки доступными для всех || || isPaymentsEnabled
boolean | Системное поле, которое показывает, включена ли возможность оплаты || || isCountersEnabled
boolean | Системное поле, которое показывает, включена ли счётчики || || createdTime datetime | Системное поле, указывающее время создания смарт-процесса || || updatedTime datetime | Системное поле, указывающее на время изменения данного смарт-процесса || || updatedBy integer | Идентификатор пользователя, изменившего данный смарт-процесс || || relations object | Объект, содержащий в себе связи к другим сущностям CRM || || linkedUserFields
object | Набор полей в которых должен отображаться данный смарт-процесс || || customSections array | Список всех цифровых рабочих мест

Параметр устарел. Для работы с цифровыми рабочими местами используйте методы crm.automatedsolution.* || || customSectionId integer | Идентификатор цифрового рабочего места

Параметр устарел. Для работы с цифровыми рабочими местами используйте методы crm.automatedsolution.* || |#

type.relations

#| || Значение тип | Описание || || parent relation[] | Элементы CRM, которые будут привязаны к данному смарт-процессу || || child
relation[] | Элементы CRM, к котором будет привязан данный смарт-процесс || |#

relation

#| || Значение тип | Описание || || entityTypeId
integer | Идентификатор системного или пользовательского типа сущности CRM || || isChildrenListEnabled boolean | Добавлять ли связанный элемент в карточку || || isPredefined
boolean | Является ли данная связь предустановленной (системной) || |#

type.linkedUserFields

#| || Значение тип | Описание || || CALENDAR_EVENT|UF_CRM_CAL_EVENT boolean | Событие в календаре || || TASKS_TASK|UF_CRM_TASK boolean | Задачи || || TASKS_TASK_TEMPLATE|UF_CRM_TASK boolean | Шаблоны задач || |#

Идентификаторы языков для Битрикс24 {#lang-ids}

#| || Идентификатор языка | Язык || || ar | Арабский || || br | Португальский (Бразилия) || || de | Немецкий || || en | Английский || || fr | Французский || || hi | Хинди || || id | Индонезийский || || it | Итальянский || || ja | Японский || || la | Испанский || || ms | Малайский || || pl | Польский || || ru | Русский || || sc | Китайский || || tc | Китайский (Тайвань) || || th | Тайский || || tr | Турецкий || || ua | Украинский || || vn | Вьетнамский || |#

Объекты, используемые в ответах

Описание отдельно взятого поля crm_rest_field_description {#crm_rest_field_description}

#| || Название тип | Описание || || type string | Тип поля || || isRequired boolean | Является ли поле обязательным || || isReadOnly boolean | Является ли поле неизменяемым || || isImmutable boolean | Признак возможности однократного заполнения значения поля только при создании нового элемента || || isMultiple boolean | Признак множественности поля. При true значения в поле передаются в виде массива || || isDynamic boolean | Является ли поле пользовательским || || title string | Название поля || || upperName string | Название поля в верхнем регистре | |#

Тип объекта CRM {#object_type}

#| || Тип объекта | Числовой идентификатор типа entityTypeId | Символьный код типа entityTypeName | Краткий символьный код типа entityTypeAbbr | Тип объекта пользовательского поля userFieldEntityId || || Лид | 1 | LEAD | L | CRM_LEAD || || Сделка | 2 | DEAL | D | CRM_DEAL || || Контакт | 3 | CONTACT | C | CRM_CONTACT || || Компания | 4 | COMPANY | CO| CRM_COMPANY || || Счет (старый) | 5 | INVOICE | I | CRM_INVOICE || || Счет (новый) | 31 | SMART_INVOICE | SI | CRM_SMART_INVOICE || || Предложение | 7 | QUOTE | Q | CRM_QUOTE || || Реквизит | 8 | REQUISITE | RQ | CRM_REQUISITE || || Заказ | 14 | ORDER | O | ORDER || || Смарт-процесс | 128 | DYNAMIC_128 | T80 | CRM_1 || |#

В таблице приведено описание смарт-процесса с идентификатором типа 128 и идентификатором 1.

Идентификаторы типа смарт-процессов находятся в промежутке от 128 до 191 (включительно), либо имеют значение больше чем 1030 (включительно) и являются четными.

Идентификаторы типа смарт-процессов, удаленных в корзину, находятся в промежутке от 192 до 255 (включительно), либо имеют значение больше чем 1030 и являются нечетными.

Чтобы определить префикс смарт-процесса, необходимо:

  • сконвертировать идентификатор из десятичной системы в шестнадцатеричную. В случае с идентификатором равным 128, получаем значение 80.
  • взять полученное значение в нижнем регистре и к полученному значению дописать латинскую букву T в начале. Таким образом, получаем префикс — T80.